Recuperación dispersa con BM25
¡Hora de probar una implementación de recuperación dispersa! Crearás un retriever BM25 para hacer preguntas sobre un artículo académico sobre RAG, que ya se ha dividido en fragmentos llamados chunks. También se ha definido un modelo de chat de OpenAI y un prompt como llm y prompt, respectivamente. Puedes ver el prompt proporcionado imprimiéndolo en la consola.
Este ejercicio forma parte del curso
Retrieval Augmented Generation (RAG) con LangChain
Instrucciones del ejercicio
- Crea un retriever disperso BM25 a partir de los documentos almacenados en
chunks; configúralo para que devuelva5documentos en la recuperación. - Crea una cadena de recuperación LCEL para integrar el retriever BM25 con el
llmy elpromptproporcionados.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create a BM25 retriever from chunks
retriever = ____
# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
| ____
| ____
| StrOutputParser()
)
print(chain.invoke("What are knowledge-intensive tasks?"))