跨境电子商务客服系统

一个结合A2A编排、MCP协议和RAG技术的跨境电子商务客服系统,用于处理订单查询、物流状态、退货政策等多语言客户服务需求。

  • by YingzuoLiu
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 YingzuoLiu/chatbot-for-cross-border-e-commerce

使用说明

A2A+MCP+RAG跨境电子商务客户服务(演示)

这是一个 最小 参考实现,显示如何组合:

  • A2A(代理到代理)编排 –将用户意图委托给域代理的轻量级路由器。
  • MCP(模型上下文协议) –截断客户端接口+调用外部工具/API的审批流。
  • 检索增强生成 –基于TF-IDF的产品/政策/常见问题文档检索器(替换为FAISS/pgvector+prod中的多语言嵌入)。

目的:给你一个可运行的骨架+清晰的扩展点。演示旨在提高清晰度,而不是完整性。

快速启动

pip install fastapi uvicorn "pydantic<2" scikit-learn numpy
uvicorn app.main:app --reload

尝试聊天:

curl -X POST http://127.0.0.1:8000/chat -H "Content-Type: application/json" -d '{
  "user_id":"u123",
  "query":"我想查一下订单#A1001的物流状态,同时咨询退货政策"
}'

项目结构

app/
  main.py                 # FastAPI REST entry
  agents/
    router.py             # A2A router → picks domain agents
    sales_agent.py        # 商品/价格/库存咨询
    logistics_agent.py    # 物流与关税/追踪
    policy_agent.py       # 政策/退换/税务FAQ(RAG)
    rag_agent.py          # 通用RAG
    approval_agent.py     # MCP 异步工具调用审批
  rag/
    retriever.py          # TF‑IDF retriever (replaceable)
    build_index.py        # build/load index
    data/                 # sample docs
      policy_return.md
      policy_tax.md
      product_guide.md
  mcp/
    client.py             # MCP client stubs + approval handshake
    server_schema.md      # tool contracts you would expose on servers
  prompts/system_prompts.md
  tests/demo_curl.http

用多语言嵌入替换RAG

  • 将TF-IDF替换为 sentence-transformers (例如。, paraphrase-multilingual-MiniLM-L12-v2).
  • 将向量存储在FAISS或Postgres pgvector中,并更新 rag/retriever.py.

备注

  • 此演示包括 快速注射防护装置 (拒绝列表+允许列表工具模式)。
  • MCP审批流程简化:路由器要求 approval_agent 在调用任何MCP工具之前。
  • 所有模块都是纯Python,默认情况下不包括网络调用。