项目简介

该项目是一个基于AWS云服务部署的解决方案,用于构建一个能够与Amazon Nova Sonic模型进行交互的智能呼叫中心代理。它利用Model Context Protocol (MCP) 来管理和执行工具,允许大型语言模型(LLM)在对话中调用外部功能,如检索知识库信息或查询用户账户资料,以提供更智能、上下文感知的客户支持。

主要功能点

  • 实时语音交互: 通过WebSocket实现前端与后端之间的双向语音数据流,支持实时语音转文本和文本转语音。
  • MCP工具集成: 后端使用MCP定义和管理工具(如知识库查询、用户档案检索等),LLM(Amazon Nova Sonic)在需要时可调用这些工具。
  • 可定制的提示词: 用户可以在前端界面灵活配置系统提示词,以调整AI代理的行为和对话风格。
  • 云原生部署: 采用AWS CDK进行部署,将前端托管在Amazon CloudFront/S3,后端部署在Amazon ECS,并通过网络负载均衡器(NLB)进行WebSocket通信。
  • 身份验证: 集成Amazon Cognito进行用户身份验证,确保安全访问。

安装步骤

  1. 环境准备:
    • 安装 Python 3.12, Node.js v20, npm v10.8, Docker v27.4。
    • 配置AWS账户并完成CDK引导 ('aws-cdk bootstrap')。
    • 确保您的AWS账户在 'us-east-1' 区域已启用 Amazon Nova Sonic 模型访问权限(通过 Bedrock 模型访问控制台)。
    • 准备 '.env' 文件,复制 'template.env' 到项目根目录并根据需要修改。至少需要填写 'KNOWLEDGE_BASE_ID' 和 'DYNAMODB_TABLE_NAME'。
  2. 部署选项:
    • 基本部署: 运行项目根目录下的 './deploy.sh' 脚本进行基本部署。
    • 行业特定部署: 进入 'industry-specific-demo-data' 目录,运行 'python deploy-industry-sepecific-demo.py',并选择您希望部署的行业(如 'airline' 或 'telco')。这将自动配置相应的提示词、工具和示例数据。
  3. 创建Cognito用户: 部署完成后,根据输出信息('CognitoUserPoolId', 'CognitoAppClientId' 等)在AWS控制台或通过AWS CLI创建用户,以便登录前端。
  4. 访问前端: 使用部署输出中的 'FrontendUrl' 在浏览器中访问应用程序,并使用创建的Cognito用户登录。

服务器配置

此仓库提供的是一个MCP服务器的实现,其通信接口通过一个WebSocket服务器暴露。MCP客户端连接此服务时,需要提供以下配置信息:

{
  "server_name": "AIToolsServer",
  "command": ["python", "backend/nova_s2s_backend.py"],
  "args": [],
  "websocket_url": "YOUR_WEBSOCKET_ENDPOINT/api", 
  "additional_headers": {
    "Authorization": "Bearer YOUR_COGNITO_ACCESS_TOKEN"
  }
}

配置注释:

  • 'server_name': MCP服务器的名称,此处为 "AIToolsServer"。
  • 'command': 启动MCP服务器后端Python脚本的命令及参数。此命令通常在服务器环境中执行,不需要用户直接操作。
  • 'args': 额外的命令行参数,本示例中通常为空。
  • 'websocket_url': MCP服务器的WebSocket连接地址,通常为部署后CloudFront分发提供的后端API地址,例如 'https://{cloudfront_distribution}/api/{token}' 或 'wss://{nlb_endpoint}/api/{token}'。'{token}' 需要替换为有效的Cognito访问令牌。
  • 'additional_headers': WebSocket连接所需的额外HTTP头,例如用于身份验证的'Authorization'头,其中包含从Cognito获取的Access Token。

请注意,上述 'websocket_url' 中的 'YOUR_WEBSOCKET_ENDPOINT' 和 'YOUR_COGNITO_ACCESS_TOKEN' 需要替换为您的实际部署输出和认证信息。

基本使用方法

  1. 登录前端界面。
  2. 点击 "Start Session" 开始会话。
  3. 对着麦克风说话,作为客户与AI呼叫中心代理进行交互。
  4. 聊天历史将实时更新,AI代理的语音响应将通过扬声器播放。
  5. 您可以通过 “Show Prompt” 按钮编辑和保存系统提示词,然后重新开始会话以应用更改。

信息

分类

AI与计算