Integración de 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.
Last updated
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.
Last updated
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.
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
.
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
Instala los paquetes requeridos:
Si planeas usar modelos de OpenAI (como se muestra en los ejemplos a continuación):
Hay dos formas de autenticar el RememberizerRetriever
:
Variable de Entorno: Establecer la variable de entorno REMEMBERIZER_API_KEY
Parámetro Directo: Pasar la clave API directamente al inicializar el recuperador
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)
Aquí hay un ejemplo simple de cómo recuperar documentos de Rememberizer usando LangChain:
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
recuperador = RememberizerRetriever(top_k_results=5)
docs = retriever.get_relevant_documents(query="¿Cómo funcionan las incrustaciones vectoriales?")
if docs: print(f"Documento: {docs[0].metadata['name']}") print(f"Contenido: {docs[0].page_content[:200]}...")
Este ejemplo crea un sistema de preguntas y respuestas que recupera información de Rememberizer y utiliza GPT-3.5 para formular respuestas:
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
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 )
response = qa_chain.invoke({"query": "¿Qué es RAG en el contexto de la IA?"})
print(f"Respuesta: {response['result']}") print("\nFuentes:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )
conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )
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")
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Configurar otro recuperador
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
Para instrucciones detalladas sobre cómo crear Conocimiento Común y generar una clave API, consulta .
LangChain
LangChain
Rememberizer
en Rememberizer
- Un enfoque alternativo para la integración de IA