项目简介

AI HR/IT 智能客服 MCP 网关是一个复杂的系统,旨在作为大型语言模型 (LLM) 应用的中央协调器。它遵循 Model Context Protocol (MCP),将用户请求智能地路由到专门的 AI 代理(如人力资源或 IT 部门的聊天机器人),同时提供统一的 LLM 接口、多语言处理、会话管理和高级安全功能。它支持多种 LLM 提供商,如本地的 Ollama 或云端的 AWS Bedrock。

主要功能点

  • 智能路由: 根据用户查询内容,智能判断并将其路由到最合适的 HR、IT 或通用 AI 代理。
  • 多代理协调: 支持同时与多个 AI 代理交互,将它们的回复整合成一个连贯的答案。
  • LLM 抽象: 允许在 Ollama (本地) 和 AWS Bedrock (云端) 等多种 LLM 提供商之间无缝切换。
  • 多语言支持: 能够检测并翻译不同语言的查询和回复。
  • 会话管理: 维护用户会话历史,提供上下文感知对话。
  • 安全防护 (Phase 3): 集成 Prisma AIRS 等高级安全模块,对用户输入和 AI 回复进行实时安全分析和敏感数据脱敏。
  • MCP 协议合规: 作为 MCP 网关,它自身实现 MCP 服务器接口,同时作为 MCP 客户端与下游 AI 代理通信。

安装步骤

  1. 克隆仓库: 将项目仓库克隆到本地。
    git clone https://github.com/PaloAltoNetworks/demo-local-ai-hr-it-bot.git
    cd demo-local-ai-hr-it-bot
  2. 配置环境变量: 根据您选择的 LLM 提供商,设置相应的环境变量。
    • 使用 Ollama (本地开发):
      export LLM_PROVIDER=ollama
      export OLLAMA_SERVER_URL=http://localhost:11434
    • 使用 AWS Bedrock (生产环境):
      export LLM_PROVIDER=aws
      export AWS_BEARER_TOKEN_BEDROCK=your_bedrock_api_key # 请替换为您的 Bedrock API 密钥
      export AWS_REGION=us-east-1 # 请替换为您的 AWS 区域
    • 可选:启用 Prisma AIRS 安全功能 (Phase 3):
      export PRISMA_AIRS_API_URL=your_prisma_airs_api_url
      export PRISMA_AIRS_API_TOKEN=your_prisma_airs_api_token
      export PRISMA_AIRS_PROFILE_ID=your_prisma_airs_profile_id
      export PRISMA_AIRS_PROFILE_NAME=your_prisma_airs_profile_name
  3. 启动服务: 使用 Docker Compose 启动所有服务。这将启动 MCP 网关 ('mcp-gateway')、AI 代理 ('mcp-server') 和前端界面 ('chatbot-host')。
    docker compose up -d
  4. 验证服务: 运行以下命令验证 MCP 网关是否健康。
    curl http://localhost:3001/health
    您应该会看到一个包含状态信息的 JSON 响应,表明网关已启动且能够管理注册的服务器。

MCP 服务器配置

该 MCP 网关作为 MCP 服务器,其客户端(例如本项目的 'chatbot-host' 组件)需要以下信息才能与其建立连接和进行通信。请注意,以下是配置信息示例,您只需根据您的 MCP 客户端实际需要,将这些参数填入客户端的配置界面即可,无需复制代码。

  • 服务器名称 (Name): 'MCP Gateway Server'
  • 服务器描述 (Description): AI HR/IT Chatbot 的核心网关,负责请求路由和管理下游代理。
  • 启动命令 (Command): 'node'
  • 启动参数 (Args): 'mcp-gateway/mcp-server.js' (这是 MCP 服务器的入口文件路径)
  • 传输协议 (Transport): 'http'
  • 服务器端点 (Endpoint): 'http://localhost:3001' (这是 MCP 网关默认监听的地址和端口)

示例 JSON 配置 (仅供 MCP 客户端参考,无需复制代码):

{
  "name": "MCP Gateway Server",
  "command": "node",
  "args": ["mcp-gateway/mcp-server.js"],
  "endpoint": "http://mcp-gateway:3001",
  "transport": "http",
  "description": "AI HR/IT Chatbot 的核心网关,负责请求路由和管理下游代理。"
}

基本使用方法

一旦所有服务启动并运行,您可以通过以下方式与 MCP 网关交互:

  • 通过前端界面: 在浏览器中访问 'http://localhost:3002' (如果 'chatbot-host' 在 3002 端口运行)。您将看到一个聊天界面,可以直接输入问题,例如“What is my vacation balance?” 或 “How do I reset my password?”。MCP 网关会根据您的查询智能路由到相应的 HR 或 IT 代理并返回结果。

  • 通过 API 调用 (示例): 您可以直接向 MCP 网关的 '/api/query' 端点发送 POST 请求来模拟客户端交互。 请求 URL: 'http://localhost:3001/api/query' 请求方法: 'POST' Content-Type: 'application/json' 请求体示例:

    {
        "query": "What is my vacation balance?",
        "language": "en",
        "phase": "phase2",
        "userContext": {
            "email": "[email protected]",
            "sessionId": "some_unique_session_id_here"
        },
        "streamThinking": false,
        "llmProvider": "aws"
    }

    MCP 网关将处理此请求,路由到相应的 AI 代理,并返回包含聊天机器人回复的 JSON 响应。

信息

分类

AI与计算