Intégration LangChain

Vous pouvez 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.

Ce notebook montre comment récupérer des documents de Rememberizer au format Document qui est utilisé en aval.

Préparation

Vous aurez besoin d'une clé API : vous pouvez en obtenir une après avoir créé une connaissance commune sur https://rememberizer.ai. Une fois que vous avez une clé API, vous devez la définir comme une variable d'environnement REMEMBERIZER_API_KEY ou la passer en tant que rememberizer_api_key lors de l'initialisation de RememberizerRetriever.

RememberizerRetriever a ces arguments :

- optionnel top_k_results : par défaut=10. Utilisez-le pour limiter le nombre de documents retournés.

- optionnel rememberizer_api_key : requis si vous ne définissez pas la variable d'environnement REMEMBERIZER_API_KEY.

get_relevant_documents() a un argument, query : texte libre utilisé pour trouver des documents dans la connaissance commune de Rememberizer.ai

Exemples

Utilisation de base

# Configuration de la clé API
from getpass import getpass

REMEMBERIZER_API_KEY = getpass()
import os

from langchain_community.retrievers import RememberizerRetriever

os.environ["REMEMBERIZER_API_KEY"] = REMEMBERIZER_API_KEY
retriever = RememberizerRetriever(top_k_results=5)
docs = retriever.get_relevant_documents(query="Comment fonctionnent les grands modèles de langage ?")
docs[0].metadata  # méta-informations du document
{'id': 13646493,
 'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
 'name': 'Qu'est-ce qu'un grand modèle de langage (LLM)_ _ Cloudflare.pdf',
 'type': 'application/pdf',
 'path': '/langchain/Qu'est-ce qu'un grand modèle de langage (LLM)_ _ Cloudflare.pdf',
 'url': 'https://drive.google.com/file/d/17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP/view',
 'size': 337089,
 'created_time': '',
 'modified_time': '',
 'indexed_on': '2024-04-04T03:36:28.886170Z',
 'integration': {'id': 347, 'integration_type': 'google_drive'}}
print(docs[0].page_content[:400])  # contenu du document
avant, ou contextualisé de nouvelles manières. à un certain niveau, ils " comprennent " la sémantique en ce sens qu'ils peuvent associer des mots et des concepts par leur signification, les ayant vus regroupés de cette manière des millions ou des milliards de fois. comment les développeurs peuvent rapidement commencer à construire leurs propres llms pour créer des applications llm, les développeurs ont besoin d'un accès facile à plusieurs ensembles de données et ils ont besoin d'endroits pour ces ensembles de données 

Utilisation dans une chaîne

OPENAI_API_KEY = getpass()
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
from langchain.chains import ConversationalRetrievalChain
from langchain_openai import ChatOpenAI

model = ChatOpenAI(model_name="gpt-3.5-turbo")
qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
questions = [
    "Qu'est-ce que RAG ?",
    "Comment fonctionnent les grands modèles linguistiques ?",
]
historique_de_chat = []

for question in questions:
    result = qa.invoke({"question": question, "chat_history": historique_de_chat})
    historique_de_chat.append((question, result["answer"]))
    print(f"-> **Question** : {question} \n")
    print(f"**Réponse** : {result['answer']} \n")
-> **Question** : Qu'est-ce que RAG ? 

**Réponse** : RAG signifie Retrieval-Augmented Generation. C'est un cadre d'IA qui récupère des faits à partir d'une base de connaissances externe pour améliorer les réponses générées par les grands modèles linguistiques (LLM) en fournissant des informations à jour et précises. Ce cadre aide les utilisateurs à comprendre le processus génératif des LLM et assure que le modèle a accès à des sources d'information fiables. 

-> **Question** : Comment fonctionnent les grands modèles linguistiques ? 

**Réponse** : Les grands modèles linguistiques (LLM) fonctionnent en analysant d'énormes ensembles de données linguistiques pour comprendre et générer du texte en langage humain. Ils sont basés sur l'apprentissage automatique, spécifiquement l'apprentissage profond, qui consiste à entraîner un programme à reconnaître des caractéristiques des données sans intervention humaine. Les LLM utilisent des réseaux de neurones, en particulier des modèles de transformateur, pour comprendre le contexte dans le langage humain, les rendant meilleurs pour interpréter le langage même dans des contextes vagues ou nouveaux. Les développeurs peuvent rapidement commencer à construire leurs propres LLM en accédant à plusieurs ensembles de données et en utilisant des services tels que Vectorize de Cloudflare et la plateforme Cloudflare Workers AI. 

Aidez-nous en fournissant des commentaires sur cette page de documentation :

Last updated