使用 BM25 的稀疏检索
来动手实现一次稀疏检索吧!您将创建一个 BM25 检索器,用于就一篇关于 RAG 的学术论文提问。该论文已被切分为名为 chunks 的片段。同时,已为您定义了 OpenAI 对话模型和提示,分别为 llm 和 prompt。您可以在控制台打印 prompt 来查看其内容。
本练习是课程的一部分
使用 LangChain 的 Retrieval Augmented Generation (RAG)
练习说明
- 基于存储在
chunks中的文档创建一个 BM25 稀疏检索器;将其配置为在检索时返回5个文档。 - 创建一个 LCEL 检索链,将该 BM25 检索器与提供的
llm和prompt集成。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create a BM25 retriever from chunks
retriever = ____
# Create the LCEL retrieval chain
chain = ({"context": ____, "question": ____}
| ____
| ____
| StrOutputParser()
)
print(chain.invoke("What are knowledge-intensive tasks?"))