Recuperação esparsa com BM25
Hora de testar uma implementação de recuperação esparsa! Você vai criar um retriever BM25 para fazer perguntas sobre um artigo acadêmico sobre RAG, que já foi dividido em partes chamadas chunks. Um modelo de chat da OpenAI e um prompt também foram definidos como llm e prompt, respectivamente. Você pode visualizar o prompt fornecido imprimindo-o no console.
Este exercício faz parte do curso
Retrieval Augmented Generation (RAG) com LangChain
Instruções do exercício
- Crie um retriever esparso BM25 a partir dos documentos armazenados em
chunks; configure-o para retornar5documentos na recuperação. - Crie uma cadeia de recuperação LCEL para integrar o retriever BM25 com o
llme opromptfornecidos.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Create a BM25 retriever from chunks
retriever = ____
# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
| ____
| ____
| StrOutputParser()
)
print(chain.invoke("What are knowledge-intensive tasks?"))