Integración con LangChain
Aprende cómo integrar Rememberizer como un recuperador de LangChain para proporcionar a tu aplicación de LangChain acceso a una poderosa búsqueda en bases de datos vectoriales.
Integración de LangChain
Rememberizer se integra con LangChain a través de la clase RememberizerRetriever, lo que te permite incorporar fácilmente las capacidades de búsqueda semántica de Rememberizer en tus aplicaciones impulsadas por LangChain. Esta guía explica cómo configurar y utilizar esta integración para construir aplicaciones avanzadas de LLM con acceso a tu base de conocimientos.
Introducción
LangChain es un marco popular para construir aplicaciones con modelos de lenguaje grandes (LLMs). Al integrar Rememberizer con LangChain, puedes:
Usar tu base de conocimientos de Rememberizer en aplicaciones RAG (Generación Aumentada por Recuperación)
Crear chatbots con acceso a tus documentos y datos
Construir sistemas de preguntas y respuestas que aprovechen tu conocimiento
Desarrollar agentes que puedan buscar y razonar sobre tu información
La integración está disponible en el módulo langchain_community.retrievers.
Empezando
Requisitos
Antes de comenzar, necesitas:
Una cuenta de Rememberizer con Conocimiento Común creada
Una clave API para acceder a tu Conocimiento Común
Un entorno de Python con LangChain instalado
Para instrucciones detalladas sobre cómo crear Conocimiento Común y generar una clave API, consulta Registrando y Usando Claves API.
Instalación
Instala los paquetes requeridos:
Si planeas usar modelos de OpenAI (como se muestra en los ejemplos a continuación):
Configuración de Autenticación
Hay dos formas de autenticar el RememberizerRetriever:
Variable de Entorno: Establecer la variable de entorno
REMEMBERIZER_API_KEYParámetro Directo: Pasar la clave API directamente al inicializar el recuperador
Opciones de Configuración
La clase RememberizerRetriever acepta estos parámetros:
top_k_results
int
10
Número de documentos a devolver de la búsqueda
rememberizer_api_key
str
None
Clave API para autenticación (opcional si se establece como variable de entorno)
Detrás de escena, el recuperador realiza llamadas a la API al punto final de búsqueda de Rememberizer con parámetros configurables adicionales:
prev_chunks
Número de fragmentos antes del fragmento coincidente a incluir (predeterminado: 2)
next_chunks
Número de fragmentos después del fragmento coincidente a incluir (predeterminado: 2)
return_full_content
Si devolver el contenido completo del documento (predeterminado: true)
Uso Básico
Aquí hay un ejemplo simple de cómo recuperar documentos de Rememberizer usando LangChain:
Establece tu clave API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
Inicializar el recuperador
recuperador = RememberizerRetriever(top_k_results=5)
Obtener documentos relevantes para una consulta
docs = retriever.get_relevant_documents(query="¿Cómo funcionan las incrustaciones vectoriales?")
Mostrar el primer documento
if docs: print(f"Documento: {docs[0].metadata['name']}") print(f"Contenido: {docs[0].page_content[:200]}...")
Ejemplos Avanzados
Construyendo un Sistema de Preguntas y Respuestas RAG
Este ejemplo crea un sistema de preguntas y respuestas que recupera información de Rememberizer y utiliza GPT-3.5 para formular respuestas:
Configurar claves API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
Inicializar el recuperador y el modelo de lenguaje
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
Crear una cadena de QA de recuperación
qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # Método más simple - simplemente agrupar todos los documentos en el aviso retriever=retriever, return_source_documents=True )
Haz una pregunta
response = qa_chain.invoke({"query": "¿Qué es RAG en el contexto de la IA?"})
Imprimir la respuesta
print(f"Respuesta: {response['result']}") print("\nFuentes:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
Configurar claves API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
Inicializar componentes
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )
Crear la cadena conversacional
conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )
Ejemplo de conversación
questions = [ "¿Qué es RAG?", "¿Cómo lo utilizan los modelos de lenguaje grandes?", "¿Cuáles son las limitaciones de este enfoque?", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"Pregunta: {question}") print(f"Respuesta: {response['answer']}\n")
Crear recuperadores
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Configurar otro recuperador
Crear un conjunto con puntuación ponderada
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Los resultados de Rememberizer tienen mayor peso )
Examine los resultados de búsqueda en bruto antes de pasarlos a LLM para identificar problemas de recuperación
Recursos Relacionados
LangChain Guía conceptual de Recuperadores
LangChain Guías prácticas de Recuperadores
Rememberizer Documentación de la API
Almacenes de Vectores en Rememberizer
Creando un GPT de Rememberizer - Un enfoque alternativo para la integración de IA
Last updated