客户支持聊天机器人

一个用于销售电脑产品的客户支持聊天机器人原型,提供实时产品信息、订单管理和客户支持服务。

  • by PMAS2016
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 azzzhar9/MCP

使用说明


标题:客户支持聊天机器人 表情符号🤖 颜色来源:蓝色 颜色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界面,直观的登录和聊天体验

设置

本地开发

  1. 克隆存储库:
git clone <repository-url>
cd customer-support-chatbot
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建一个 .env 文件:
cp .env.example .env
  1. 将API密钥添加到 .env:
MCP_SERVER_URL=https://vipfapwm3x.us-east-1.awsapprunner.com/mcp
GROQ_API_KEY=your_groq_api_key_here
  1. 运行应用程序:
python app.py

该应用程序将在 http://localhost:7860

拥抱面部空间部署

  1. 在HuggingFace Spaces上创建新空间
  2. 上传所有项目文件
  3. 在空间设置中添加环境变量:
    • GROQ_API_KEY:您的Groq API密钥
    • MCP_SERVER_URL: https://vipfapwm3x.us-east-1.awsapprunner.com/mcp
  4. 空间将自动构建和部署

测试证书

使用这些测试凭据登录:

电子邮件 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

用法

  1. 登录:输入您的电子邮件和PIN进行身份验证
  2. 浏览产品:问以下问题:
    • “显示可用监视器”
    • “搜索打印机”
    • “MON-0054的价格是多少?”
  3. 查看订单:身份验证后,您可以:
    • “显示我的命令”
    • “我的订单状态如何?”
    • “获取[订单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部署
  • ✅ 清晰的架构:模块化设计,关注点分离
  • ✅ 时间盒设计:简单、重点突出的实施

架构组件

  1. 前端(Gradio):具有登录和聊天功能的用户界面
  2. 身份验证模块:电子邮件+PIN验证和会话管理
  3. MCP客户端:用于MCP服务器通信的HTTP客户端
  4. LLM处理程序:Groq API与会话管理的集成
  5. 聊天机器人编排器:协调MCP、LLM和身份验证

主要特点

  • 实时产品搜索:使用自然语言浏览和搜索产品
  • 订单管理:查看订单历史记录并跟踪订单(需要身份验证)
  • 自然语言接口由Groq的Llama 3.1 8B驱动的对话式人工智能
  • 安全认证:通过MCP服务器进行电子邮件+PIN验证
  • 增强的错误处理:用户友好的错误消息,具有优雅的恢复功能
  • 会话管理:在多个回合中保持对话上下文
  • MCP工具集成:集成了所有8个MCP服务器工具(产品、订单、客户)
  • 成本有效:使用闪存/迷你LLM模型实现最佳性价比平衡

测试

综合测试场景记录在 测试_ CENARIOS.md,包括:

  • ✅ 身份验证测试(有效/无效登录、注销)
  • ✅ 产品搜索和浏览测试
  • ✅ 订单管理测试
  • ✅ 多回合对话测试
  • ✅ 错误处理和边缘情况

使用提供的测试凭据验证所有功能。

故障排除

如果您遇到问题:

  1. 身份验证失败:

    • 验证您是否使用了上表中的正确测试凭据
    • 检查电子邮件格式是否正确(区分大小写)
    • 确保PIN为4位数字
  2. API错误:

    • 检查一下 GROQ_API_KEY 在环境变量中设置正确
    • 验证您的Groq API密钥是否有效并具有可用配额
    • 在检查Groq API状态 console.groq.com
  3. MCP连接错误:

    • 验证MCP服务器是否可访问: https://vipfapwm3x.us-east-1.awsapprunner.com/mcp
    • 检查你的网络连接
    • 服务器超时设置为15秒-慢速连接可能需要重试
  4. 消息格式错误:

    • 确保所有依赖关系都是最新的: pip install -r requirements.txt
    • 检查Python版本(需要3.8+)
  5. 聊天没有响应:

    • 检查您是否已登录(在身份验证之前禁用聊天)
    • 验证会话是否处于活动状态(尝试注销并重新登录)
    • 检查浏览器控制台是否有任何JavaScript错误

看 部署.md 了解详细的部署说明。 看 测试_ CENARIOS.md 用于全面的测试场景。 看 要求.md 以满足设置要求。

许可证

麻省理工学院