客户支持RAG聊天机器人

一个基于检索增强生成(RAG)技术的客户支持聊天机器人,通过分析客户支持文档来回答用户查询并提供相关信息。

  • by Shantanu1711
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 shantanu1711/mcp-server

使用说明

客户支持RAG聊天机器人

一种基于客户支持文档的检索增强代(RAG)聊天机器人,通过回答查询和提供相关支持信息来帮助用户。

特性

  • 根据提供的客户支持文档回答问题
  • 对于文档范围之外的问题,回答“我不知道”
  • 用户友好的web界面
  • 语义搜索相关信息
  • 上下文感知响应
  • AngelOne文档的Web抓取支持
  • 保险文件的PDF处理

安装说明

  1. 克隆存储库:
git clone <repository-url>
cd <repository-name>
  1. 创建并激活虚拟环境:
python -m venv venv
# On Windows
.\venv\Scripts\activate
# On Unix/MacOS
source venv/bin/activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 设置环境变量: 创建一个 .env 根目录中的文件,其中包含:
HF_API_KEY=your_huggingface_api_key_here
  1. 收集文件:

    • AngelOne文档:
      python scrape_angelone.py
      
    • 对于保险PDF:
      • 将所有保险PDF放入 docs/insurance 目录
  2. 处理文件:

python process_documents.py
  1. 启动后端服务器:
python mcp_server.py
  1. 在新终端中,启动前端:
streamlit run app.py

部署

要部署应用程序,请执行以下操作:

  1. 后端(FastAPI):

    • 部署到云平台(例如Heroku、AWS、DigitalOcean)
    • 在云平台中设置环境变量
    • 使用进程管理器(例如Gunicorn)运行FastAPI服务器
  2. 前端(Streamlit):

    • 部署到Streamlit Cloud或类似平台
    • 配置前端以指向已部署的后端URL
    • 在部署平台中设置环境变量

用法

  1. 打开web浏览器并导航到已部署的URL
  2. 在聊天界面中键入您的问题
  3. 聊天机器人将:
    • 在文档中搜索相关信息
    • 根据找到的信息生成响应
    • 如果信息不在文档中,请回复“我不知道”

项目结构

.
├── app.py                 # Streamlit frontend
├── mcp_server.py         # FastAPI backend
├── process_documents.py  # Document processing script
├── scrape_angelone.py    # Web scraper for AngelOne docs
├── requirements.txt      # Python dependencies
├── .env                 # Environment variables
├── docs/               # Documentation directory
│   ├── angelone/      # Scraped AngelOne documentation
│   └── insurance/     # Insurance PDFs
└── chroma_db/         # Vector database storage

依赖项

  • FastAPI: 后端 API
  • Streamlit:前端接口
  • 拥抱脸:LLM用于产生反应
  • ChromaDB:用于文档存储的矢量数据库
  • 句子转换:文本嵌入
  • PyPDF:PDF处理
  • BeautifulSoup4:网页抓取
  • 请求:HTTP客户端

备注

  • 聊天机器人仅根据提供的文档回答问题
  • 对于文档范围之外的问题,它将以“我不知道”作为回应
  • 系统使用语义搜索来查找相关信息
  • 使用拥抱脸API生成响应
  • 为了尊重源网站,网络抓取是有限的

许可证

[您的许可证在这里]