Creación de una cadena RAG
Ahora vamos a reunir todos los componentes en tu flujo de trabajo RAG. Has preparado los documentos y los has introducido en una base de datos Chroma para su recuperación. Has creado una plantilla de prompt para incluir los fragmentos extraídos del artículo académico y responder a las preguntas.
La plantilla de prompt que creaste en el ejercicio anterior está disponible como prompt_template, se ha inicializado un modelo OpenAI como llm y se ha incluido en el script el código para recrear tu retriever.
Este ejercicio forma parte del curso
Desarrollo de aplicaciones LLM con LangChain
Instrucciones del ejercicio
- Crea una cadena LCEL utilizando el operador de tubería (
|) para conectarretriever,prompt_templateyllmen secuencia. - La cadena debe asignar el recuperador a
"context"y la entrada del usuario a"question". - Invoca la cadena utilizando el método «
.invoke()» en la pregunta proporcionada.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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": ____}
| prompt_template
| llm)
# Invoke the chain
response = rag_chain.____("Which popular LLMs were considered in the paper?")
print(response.content)