使用说明
标题:客户支持聊天机器人 表情符号🤖 颜色来源:蓝色 颜色To:紫色 sdk:毕业 sdk版本:4.0.0 app_file:app.py 固定:false 许可证:mit
客户支持聊天机器人
一家销售计算机产品(显示器、打印机等)的公司的客户支持聊天机器人原型。聊天机器人与MCP(模型上下文协议)服务器集成,提供实时产品信息、订单管理和客户支持。
特性
- 🔐 客户身份验证:通过MCP服务器使用电子邮件和PIN进行安全登录
- 🛍️ 产品搜索:使用自然语言查询搜索和浏览计算机产品
- 📦 订单管理:查看订单历史记录并跟踪经过身份验证的客户的订单
- 💬 自然语言接口:由Groq的Llama 3.1 8B Instant型号提供动力(经济高效)
- 🔌 MCP集成:通过Streamable HTTP与MCP服务器无缝集成(所有8个工具)
- 🛡️ 错误处理:用户友好的错误消息,具有优雅的错误恢复功能
- 💾 会话管理:多回合对话的内存会话状态
- 🎨 现代用户界面:干净的Gradio界面,直观的登录和聊天体验
设置
本地开发
- 克隆存储库:
git clone <repository-url>
cd customer-support-chatbot
- 安装依赖项:
pip install -r requirements.txt
- 创建一个
.env文件:
cp .env.example .env
- 将API密钥添加到
.env:
MCP_SERVER_URL=https://vipfapwm3x.us-east-1.awsapprunner.com/mcp
GROQ_API_KEY=your_groq_api_key_here
- 运行应用程序:
python app.py
该应用程序将在 http://localhost:7860
拥抱面部空间部署
- 在HuggingFace Spaces上创建新空间
- 上传所有项目文件
- 在空间设置中添加环境变量:
GROQ_API_KEY:您的Groq API密钥MCP_SERVER_URL: https://vipfapwm3x.us-east-1.awsapprunner.com/mcp
- 空间将自动构建和部署
测试证书
使用这些测试凭据登录:
| 电子邮件 | PIN |
|---|---|
| donaldgarcia@example.net | 7912 |
| michellejames@example.com | 1520 |
| laurahenderson@example.org | 1488 |
| spenceamanda@example.org | 2535 |
| glee@example.net | 4582 |
| williamsthomas@example.net | 4811 |
| justin78@example.net | 9279 |
| jason31@example.com | 1434 |
| samuel81@example.com | 4257 |
| williamleon@example.net | 9928 |
用法
- 登录:输入您的电子邮件和PIN进行身份验证
- 浏览产品:问以下问题:
- “显示可用监视器”
- “搜索打印机”
- “MON-0054的价格是多少?”
- 查看订单:身份验证后,您可以:
- “显示我的命令”
- “我的订单状态如何?”
- “获取[订单id]的订单详细信息”
建筑
- 前端:Gradio(基于Python的UI框架)-快速部署,非常适合演示
- LLM:带Llama 3.1 8B Instant的Groq API(经济高效的闪存型号)
- MCP集成:用于MCP服务器通信的流式HTTP客户端
- 认证:通过具有会话管理的MCP服务器进行电子邮件+PIN验证
- 错误处理:通过用户友好的消息进行全面的错误处理
- 会话管理:对话上下文的内存状态管理
项目结构
.
├── app.py # Main Gradio application with UI
├── chatbot.py # Chatbot orchestration logic (MCP + LLM + Auth)
├── mcp_client.py # MCP server communication module (HTTP client)
├── llm_handler.py # LLM integration and conversation management
├── auth.py # Customer authentication logic with error handling
├── requirements.txt # Python dependencies
├── README.md # Project documentation (this file)
├── DEPLOYMENT.md # Detailed deployment guide
├── TEST_SCENARIOS.md # Comprehensive test scenarios
├── QUICKSTART.md # Quick start guide
├── REQUIREMENTS.md # Requirements and setup instructions
└── .env.example # Environment variables template
MCP服务器工具
聊天机器人与以下MCP服务器工具集成:
list_products:列出带有可选过滤器的产品get_product:按SKU获取详细的产品信息search_products:按名称或描述搜索产品verify_customer_pin:验证客户身份get_customer:获取客户信息list_orders:列出带有可选筛选器的订单get_order:获取详细的订单信息create_order:创建新订单
环境变量
所需的环境变量:
GROQ_API_KEY:您的Groq API密钥(必需)MCP_SERVER_URL:MCP服务器URL(可选,默认为提供的URL)
实施检查表
该项目实现了所有核心要求:
- ✅ MCP集成:通过Streamable HTTP集成所有8个MCP服务器工具
- ✅ 廉价LLM:带Llama 3.1 8B Instant的Groq API(经济高效的闪存型号)
- ✅ 认证:通过MCP服务器进行电子邮件+PIN验证
- ✅ 演示UI:基于Gradio的界面,支持登录和聊天
- ✅ 实时部署:已准备好进行HuggingFace Spaces部署
- ✅ 清晰的架构:模块化设计,关注点分离
- ✅ 时间盒设计:简单、重点突出的实施
架构组件
- 前端(Gradio):具有登录和聊天功能的用户界面
- 身份验证模块:电子邮件+PIN验证和会话管理
- MCP客户端:用于MCP服务器通信的HTTP客户端
- LLM处理程序:Groq API与会话管理的集成
- 聊天机器人编排器:协调MCP、LLM和身份验证
主要特点
- 实时产品搜索:使用自然语言浏览和搜索产品
- 订单管理:查看订单历史记录并跟踪订单(需要身份验证)
- 自然语言接口由Groq的Llama 3.1 8B驱动的对话式人工智能
- 安全认证:通过MCP服务器进行电子邮件+PIN验证
- 增强的错误处理:用户友好的错误消息,具有优雅的恢复功能
- 会话管理:在多个回合中保持对话上下文
- MCP工具集成:集成了所有8个MCP服务器工具(产品、订单、客户)
- 成本有效:使用闪存/迷你LLM模型实现最佳性价比平衡
测试
综合测试场景记录在 测试_ CENARIOS.md,包括:
- ✅ 身份验证测试(有效/无效登录、注销)
- ✅ 产品搜索和浏览测试
- ✅ 订单管理测试
- ✅ 多回合对话测试
- ✅ 错误处理和边缘情况
使用提供的测试凭据验证所有功能。
故障排除
如果您遇到问题:
-
身份验证失败:
- 验证您是否使用了上表中的正确测试凭据
- 检查电子邮件格式是否正确(区分大小写)
- 确保PIN为4位数字
-
API错误:
- 检查一下
GROQ_API_KEY在环境变量中设置正确 - 验证您的Groq API密钥是否有效并具有可用配额
- 在检查Groq API状态 console.groq.com
- 检查一下
-
MCP连接错误:
- 验证MCP服务器是否可访问:
https://vipfapwm3x.us-east-1.awsapprunner.com/mcp - 检查你的网络连接
- 服务器超时设置为15秒-慢速连接可能需要重试
- 验证MCP服务器是否可访问:
-
消息格式错误:
- 确保所有依赖关系都是最新的:
pip install -r requirements.txt - 检查Python版本(需要3.8+)
- 确保所有依赖关系都是最新的:
-
聊天没有响应:
- 检查您是否已登录(在身份验证之前禁用聊天)
- 验证会话是否处于活动状态(尝试注销并重新登录)
- 检查浏览器控制台是否有任何JavaScript错误
看 部署.md 了解详细的部署说明。 看 测试_ CENARIOS.md 用于全面的测试场景。 看 要求.md 以满足设置要求。
许可证
麻省理工学院