使用说明
客户支持RAG聊天机器人
一种基于客户支持文档的检索增强代(RAG)聊天机器人,通过回答查询和提供相关支持信息来帮助用户。
特性
- 根据提供的客户支持文档回答问题
- 对于文档范围之外的问题,回答“我不知道”
- 用户友好的web界面
- 语义搜索相关信息
- 上下文感知响应
- AngelOne文档的Web抓取支持
- 保险文件的PDF处理
安装说明
- 克隆存储库:
git clone <repository-url>
cd <repository-name>
- 创建并激活虚拟环境:
python -m venv venv
# On Windows
.\venv\Scripts\activate
# On Unix/MacOS
source venv/bin/activate
- 安装依赖项:
pip install -r requirements.txt
- 设置环境变量:
创建一个
.env根目录中的文件,其中包含:
HF_API_KEY=your_huggingface_api_key_here
-
收集文件:
- AngelOne文档:
python scrape_angelone.py - 对于保险PDF:
- 将所有保险PDF放入
docs/insurance目录
- 将所有保险PDF放入
- AngelOne文档:
-
处理文件:
python process_documents.py
- 启动后端服务器:
python mcp_server.py
- 在新终端中,启动前端:
streamlit run app.py
部署
要部署应用程序,请执行以下操作:
-
后端(FastAPI):
- 部署到云平台(例如Heroku、AWS、DigitalOcean)
- 在云平台中设置环境变量
- 使用进程管理器(例如Gunicorn)运行FastAPI服务器
-
前端(Streamlit):
- 部署到Streamlit Cloud或类似平台
- 配置前端以指向已部署的后端URL
- 在部署平台中设置环境变量
用法
- 打开web浏览器并导航到已部署的URL
- 在聊天界面中键入您的问题
- 聊天机器人将:
- 在文档中搜索相关信息
- 根据找到的信息生成响应
- 如果信息不在文档中,请回复“我不知道”
项目结构
.
├── 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生成响应
- 为了尊重源网站,网络抓取是有限的
许可证
[您的许可证在这里]