RAG聊天机器人

基于RAG技术的HR聊天机器人,用于提供工作场所规则查询,支持PDF文件上传和自然语言问答。

  • by ImVirtue
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 ImVirtue/RagChatbot_MCPServer

使用说明

带有本地主机MCP服务器的Rag聊天机器人

构建一个基于RAG的人力资源聊天机器人,为工作场所提供规则 本地主机MCP服务器 作为函数调用中心

概述

该项目使用Streamlit和MCP服务器实现了一个检索增强生成(RAG)聊天机器人。用户可以上传PDF文件,聊天机器人从PDF中检索相关信息以回答自然语言问题。该系统利用OpenAI模型、LangChain实用程序和内存中的向量存储来实现高效的文档检索。

特性

  • MCP工具集成:
    工具编排 主控程序 确保文档索引、检索和答案生成之间的顺畅通信。随着新功能的添加,后端工具可以很容易地扩展或替换。

  • PDF上传和解析:
    上传一个PDF文件,然后使用 PDFPlumberLoader 以提取文本内容。

  • 文本组块:
    提取的文本被分割成更小的块 RecursiveCharacterTextSplitter 以促进高效的索引和检索。

  • 文献检索:
    块在内存向量存储中被索引,嵌入是通过以下方式生成的 OpenAIEmbeddings.

  • 相似性搜索(组成相似性):
    当用户提交查询时,聊天机器人会执行相似性搜索,根据查询检索最相关的文档块。

  • 基于提示的答案生成:
    自定义提示模板将用户问题与检索到的上下文相结合,并使用GPT-4驱动的LLM(使用 ChatOpenAI)生成最终答案。

  • 交互界面:
    该应用程序使用Streamlit提供一个交互式的、类似聊天的界面,显示用户问题和机器人响应。

结果