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 depuis Rememberizer, le format de 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. Des instructions détaillées sur la façon de créer une connaissance commune peuvent être consultées à Enregistrement et utilisation des clés API.
Une fois que vous avez une clé API, vous devez la définir comme une variable d'environnement REMEMBERIZER_API_KEY ou la passer comme 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
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 de langage ?",
]
chat_history = []
for question in questions:
result = qa.invoke({"question": question, "chat_history": chat_history})
chat_history.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 de langage (LLMs) en fournissant des informations à jour et précises. Ce cadre aide les utilisateurs à comprendre le processus génératif des LLMs et garantit que le modèle a accès à des sources d'informations fiables.
-> **Question**: Comment fonctionnent les grands modèles de langage ?
**Réponse**: Les grands modèles de langage (LLMs) 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, en particulier l'apprentissage profond, qui consiste à entraîner un programme à reconnaître des caractéristiques des données sans intervention humaine. Les LLMs utilisent des réseaux de neurones, en particulier des modèles de transformateur, pour comprendre le contexte dans le langage humain, ce qui les rend meilleurs pour interpréter le langage même dans des contextes vagues ou nouveaux. Les développeurs peuvent rapidement commencer à construire leurs propres LLMs en accédant à plusieurs ensembles de données et en utilisant des services comme Vectorize de Cloudflare et la plateforme AI Cloudflare Workers.