Création d'une chaîne RAG
Il est maintenant temps de rassembler tous les composants dans votre flux de travail RAG. Vous avez préparé les documents et les avez enregistrés dans une base de données Chroma afin de pouvoir les récupérer. Vous avez créé un modèle de prompt pour inclure les extraits récupérés dans l'article universitaire et répondre aux questions.
Le modèle de prompt que vous avez créé dans l'exercice précédent est disponible comme prompt_template
, un modèle OpenAI a été initialisé comme llm
et le code permettant de recréer votre retriever
a été inclus dans le script.
Cet exercice fait partie du cours
Développement d'applications LLM avec LangChain
Instructions
- Créez une chaîne LCEL pour relier
retriever
,prompt_template
etllm
afin que le modèle puisse récupérer les documents. - Invoquez la chaîne sur la
'question'
fournie.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
vectorstore = Chroma.from_documents(
docs,
embedding=OpenAIEmbeddings(api_key='', model='text-embedding-3-small'),
persist_directory=os.getcwd()
)
retriever = vectorstore.as_retriever(
search_type="similarity",
search_kwargs={"k": 3}
)
# Create a chain to link retriever, prompt_template, and llm
rag_chain = ({"context": ____, "question": ____}
| ____
| ____)
# Invoke the chain
response = ____("Which popular LLMs were considered in the paper?")
print(response.content)