Costruire la retrieval chain
E adesso il gran finale del capitolo! Creerai una retrieval chain usando il Language Chain Expression Language (LCEL) di LangChain. Metterai insieme il vector store che contiene i chunk del documento incorporati dal paper su RAG che hai caricato in precedenza, un prompt template e un LLM, così potrai iniziare a dialogare con i tuoi documenti.
Ecco un promemoria del prompt_template che hai creato nell'esercizio precedente e che è già a tua disposizione:
Use the only the context provided to answer the following question. If you don't know the answer, reply that you are unsure.
Context: {context}
Question: {question}
Anche il vector_store dei chunk di documento incorporati che hai creato in precedenza è stato caricato per te, insieme a tutte le librerie e classi necessarie.
Questo esercizio fa parte del corso
Retrieval Augmented Generation (RAG) con LangChain
Istruzioni dell'esercizio
- Converti il
vector_storedi Chroma in un oggetto retriever da usare nella retrieval chain LCEL. - Crea la retrieval chain LCEL per combinare il
retriever, ilprompt_template, l'llme un parser di output in stringa, in modo che possa rispondere alle domande in input. - Esegui la chain sulla domanda fornita.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Convert the vector store into a retriever
retriever = vector_store.____(search_type="similarity", search_kwargs=____)
# Create the LCEL retrieval chain
chain = (
{"____": ____, "question": ____}
| ____
| ____
)
# Invoke the chain
print(chain.____("Who are the authors?"))