🚀 使用本地MCP服务器构建RAG聊天机器人
本项目借助Streamlit和MCP服务器,打造了基于检索增强生成(RAG)的聊天机器人。用户可上传PDF文件,机器人从中提取相关信息,解答自然语言问题。系统结合OpenAI模型、LangChain工具和内存向量存储库,实现高效文档检索。
✨ 主要特性
- MCP工具集成:利用MCP进行工具编排,保障文档索引、检索和答案生成环节的通信顺畅。后端工具可灵活扩展或替换,以增添新功能。
- PDF上传与解析:用户能够上传PDF文件,系统运用
PDFPlumberLoader
提取文本内容。
- 文本分块:采用
RecursiveCharacterTextSplitter
将提取的文本拆分为更小部分,实现高效索引和检索。
- 文档索引:文本块被索引到内存向量存储库,借助
OpenAIEmbeddings
生成嵌入。
- 相似性搜索(余弦相似度):用户提交查询时,聊天机器人开展相似性搜索,检索与查询最匹配的文档块。
- 基于提示的答案生成:自定义提示模板融合用户问题和检索到的上下文,通过
ChatOpenAI
调用GPT - 4驱动的大语言模型(LLM)生成最终答案。
- 交互式界面:应用程序通过Streamlit提供交互式聊天界面,展示用户提问和机器人回答。