Intégration LangChain
Apprenez à intégrer Rememberizer en tant que récupérateur LangChain pour fournir à votre application LangChain un accès à une recherche puissante dans une base de données vectorielle.
Last updated
Apprenez à intégrer Rememberizer en tant que récupérateur LangChain pour fournir à votre application LangChain un accès à une recherche puissante dans une base de données vectorielle.
Last updated
Rememberizer s'intègre à LangChain via la classe RememberizerRetriever
, vous permettant d'incorporer facilement les capacités de recherche sémantique de Rememberizer dans vos applications alimentées par LangChain. Ce guide explique comment configurer et utiliser cette intégration pour construire des applications LLM avancées avec accès à votre base de connaissances.
LangChain est un cadre populaire pour construire des applications avec de grands modèles de langage (LLMs). En intégrant Rememberizer avec LangChain, vous pouvez :
Utiliser votre base de connaissances Rememberizer dans des applications RAG (Génération Augmentée par Récupération)
Créer des chatbots ayant accès à vos documents et données
Construire des systèmes de questions-réponses qui tirent parti de vos connaissances
Développer des agents capables de rechercher et de raisonner sur vos informations
L'intégration est disponible dans le module langchain_community.retrievers
.
Avant de commencer, vous avez besoin de :
Un compte Rememberizer avec Common Knowledge créé
Une clé API pour accéder à votre Common Knowledge
Un environnement Python avec LangChain installé
Installez les packages requis :
Si vous prévoyez d'utiliser les modèles OpenAI (comme montré dans les exemples ci-dessous) :
Il existe deux façons d'authentifier le RememberizerRetriever
:
Variable d'environnement : Définissez la variable d'environnement REMEMBERIZER_API_KEY
Paramètre direct : Passez la clé API directement lors de l'initialisation du récupérateur
La classe RememberizerRetriever
accepte ces paramètres :
top_k_results
int
10
Nombre de documents à retourner à partir de la recherche
rememberizer_api_key
str
None
Clé API pour l'authentification (optionnelle si définie comme variable d'environnement)
En coulisses, le récupérateur effectue des appels API au point de terminaison de recherche de Rememberizer avec des paramètres configurables supplémentaires :
prev_chunks
Nombre de morceaux avant le morceau correspondant à inclure (par défaut : 2)
next_chunks
Nombre de morceaux après le morceau correspondant à inclure (par défaut : 2)
return_full_content
Indique s'il faut retourner le contenu complet du document (par défaut : true)
Voici un exemple simple de récupération de documents depuis Rememberizer en utilisant LangChain :
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
retriever = RememberizerRetriever(top_k_results=5)
docs = retriever.get_relevant_documents(query="Comment fonctionnent les embeddings vectoriels ?")
if docs: print(f"Document : {docs[0].metadata['name']}") print(f"Contenu : {docs[0].page_content[:200]}...")
Cet exemple crée un système de questions-réponses qui récupère des informations de Rememberizer et utilise GPT-3.5 pour formuler des réponses :
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éthode la plus simple - il suffit de mettre tous les documents dans l'invite retriever=retriever, return_source_documents=True )
response = qa_chain.invoke({"query": "Qu'est-ce que RAG dans le contexte de l'IA ?"})
print(f"Réponse : {response['result']}") print("\nSources :") 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'est-ce que RAG ?", "Comment les grands modèles de langage l'utilisent-ils ?", "Quelles sont les limitations de cette approche ?", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"Question : {question}") print(f"Réponse : {response['answer']}\n")
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Configurer un autre récupérateur
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Les résultats de Rememberizer ont un poids plus élevé )
Examinez les résultats de recherche bruts avant de les transmettre à LLM pour identifier les problèmes de récupération
Pour des instructions détaillées sur la création de Common Knowledge et la génération d'une clé API, consultez .
LangChain
LangChain
Rememberizer
dans Rememberizer
- Une approche alternative pour l'intégration de l'IA