Crear una cadena RAG
Ahora, ¡a reunir todos los componentes en tu flujo de trabajo RAG! Has preparado los documentos y los has ingestado en una base de datos Chroma para recuperarlos. Has creado una plantilla de preguntas para incluir los fragmentos recuperados del documento académico y responder a las preguntas.
La plantilla de avisos 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
Desarrollar aplicaciones LLM con LangChain
Instrucciones de ejercicio
- Crea una cadena LCEL para enlazar
retriever
,prompt_template
, yllm
para que el modelo pueda recuperar los documentos. - Invoca la cadena en la dirección
'question'
proporcionada.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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)