Crear la cadena de recuperación
¡Vamos con el broche final del capítulo! Vas a crear una cadena de recuperación usando el Lenguaje de Expresiones de LangChain (LCEL). Esto combinará el almacén vectorial con los fragmentos incrustados del documento del artículo de RAG que cargaste antes, una plantilla de prompt y un LLM para que puedas empezar a “hablar” con tus documentos.
Aquí tienes un recordatorio del prompt_template que creaste en el ejercicio anterior y que está disponible para que lo uses:
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}
El vector_store con los fragmentos incrustados que creaste previamente también se ha cargado por ti, junto con todas las bibliotecas y clases necesarias.
Este ejercicio forma parte del curso
Retrieval Augmented Generation (RAG) con LangChain
Instrucciones del ejercicio
- Convierte el
vector_storede Chroma en un objeto recuperador para usarlo en la cadena de recuperación con LCEL. - Crea la cadena de recuperación con LCEL para combinar el
retriever, elprompt_template, elllmy un analizador de salida de tipo cadena, de modo que pueda responder a las preguntas de entrada. - Invoca la cadena con la pregunta proporcionada.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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?"))