电商AI系统

一个基于Model Context Protocol (MCP)的生产级AI电商系统,提供智能产品发现、购物车管理、订单跟踪和客户支持功能。

  • by TarunNagaSai
  • 本地部署
  • 更新于
在 GitHub 查看 TarunNagaSai/ecommerce-mcp

使用说明

电子商务MCP:生产级人工智能电子商务系统

一个由Claude和模型上下文协议驱动的智能、可投入生产的电子商务系统

引言 • 特点/功能 • 建筑 • 入门指南/开始使用 • 项目计划 • 做出贡献


引言

电子商务MCP(注:MCP在此处可能代表某个特定概念或缩写,但根据上下文无法确定其具体含义,因此直接保留原样。在实际应用中,应根据具体情况翻译或解释MCP的含义。) 这是一个全面的演示,展示了如何使用模型上下文协议(MCP)构建生产级人工智能应用。它结合了先进的提示工程、检索增强生成(RAG)技术以及微服务架构,创建了一个智能电子商务平台,其中Claude作为对话式购物助手发挥作用。

这不是一个教程项目,而是一个真实世界的系统,展示了企业级的以下模式:

  • 采用MCP的微服务架构
  • 幻觉检测与缓解
  • 评估框架和A/B测试
  • 性能优化(从Python迁移到Rust)
  • 可投入生产的代码质量

非常适合: 人工智能工程师、系统架构师、正在学习Rust的开发者,以及任何正在构建AI驱动应用程序的人。


特点/功能

🛍️ 产品发现

  • 使用嵌入进行语义搜索(Chroma DB)
  • 智能产品推荐
  • 并排产品对比
  • 评论聚合与过滤

🛒 智能购物

  • 情境感知的购物车管理
  • 自动地址建议
  • 实时运费计算
  • 折扣和优惠券的使用

📦 订单管理

  • 实时订单追踪
  • 交付时间预估预测
  • 订单历史及状态更新
  • 装运详情及置信度评分

💬 智能支持

  • 对话式客户支持
  • 情境感知问题解决
  • 符合政策的解决方案
  • 支持工单生命周期管理

📊 企业功能

  • 幻觉检测(准确率>95%)
  • 综合评估框架(10+项指标)
  • 用于优化的A/B测试
  • 性能基准测试

建筑学

系统设计

┌─────────────────────────────────────────────────────┐
│         Claude (AI Orchestration Layer)              │
│  - Natural language understanding                    │
│  - Multi-turn conversations                         │
│  - Context management                               │
└─────────────────────────────────────────────────────┘
         ↓              ↓              ↓              ↓
    ┌────────┐   ┌────────┐   ┌────────┐   ┌─────────────┐
    │Product │   │ Cart & │   │ Order  │   │ Customer    │
    │Catalog │   │Checkout│   │Tracking│   │ Support     │
    │  MCP   │   │  MCP   │   │  MCP   │   │   MCP       │
    └────────┘   └────────┘   └────────┘   └─────────────┘
         ↓              ↓              ↓              ↓
    ┌──────────────────────────────────────────────────┐
    │    Shared Database Layer                         │
    │  Products | Users | Orders | Support Tickets    │
    └──────────────────────────────────────────────────┘
         ↓
    ┌──────────────────────────────────────────────────┐
    │    Embeddings & Semantic Search (Chroma DB)      │
    └──────────────────────────────────────────────────┘

四台专用的MCP服务器

服务器 责任 工具 状态
产品目录 MCP 产品发现、搜索、推荐 6款工具 ✅ 第一阶段
购物车与结账 MCP(注:MCP在此处可能代表某个特定系统或模块的缩写,具体含义需根据上下文确定,直译为“购物车与结账 MCP”或可理解为“购物车与结账系统/模块”) 购物车、订单、发货 7种工具 ✅ 第一阶段
订单追踪MCP 订单状态,配送追踪 5种工具 ✅ 第一阶段
支持MCP(多通道处理器/模块/协议等,具体含义需根据上下文确定) 客户支持,问题解决 5种工具 ✅ 第一阶段

示例对话

User: "Show me flagship Android phones under 50k with good cameras"

Claude queries Product Catalog MCP:
→ search_products("flagship Android camera")
→ filter by price < 50000
→ sort by rating
← Returns: [Samsung S24, OnePlus 12, Google Pixel 9]

User: "Add the Samsung one to my cart"

Claude queries Cart MCP:
→ add_to_cart(user_id=123, product_id=456, quantity=1)
← Cart updated: 1 item, ₹49,999

User: "What's the shipping to Hyderabad?"

Claude queries Cart MCP:
→ get_shipping_options(user_id=123, city="Hyderabad")
← Shipping options: Standard (₹199, 5 days), Express (₹599, 2 days)

User: "Where's my previous order?"

Claude queries Order Tracking MCP:
→ get_order_history(user_id=123, limit=1)
← Order #789: Delivered on 2024-10-20, Rating: 4.5/5

User: "My package arrived damaged. What can I do?"

Claude queries Support MCP:
→ create_support_ticket(user_id=123, order_id=789, issue="Damaged")
→ get_customer_context(user_id=123, order_id=789)
← Ticket created. Policy allows full refund or replacement within 30 days.

入门指南/开始使用

先决条件

  • Python 3.9+ (针对第一阶段)
  • Rust 1.70+(版本) (对于第三阶段,可选)
  • Git(一种分布式版本控制系统) 用于版本控制
  • SQLite (或在生产环境中使用 PostgreSQL)
  • Anthropic API密钥 (供克劳德访问)

快速入门(5分钟)

  1. 克隆仓库

    git clone https://github.com/yourusername/ecommerce-mcp.git
    cd ecommerce-mcp
    
  2. 设置Python环境

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    pip install -r requirements.txt
    
  3. 下载数据集

    • 从(某处)获取Flipkart手机数据集 Kaggle
    • 置于 data/ 目录作为 flipkart_mobiles.csv
  4. 初始化数据库

    python database/init_db.py
    
  5. 启动一个MCP服务器

    python python_mcp_servers/product_catalog_mcp/server.py
    

看 SETUP.md 翻译为中文是:“安装设置指南.md” 或者 “配置说明文件.md”(具体翻译可能根据上下文有所调整,但基本意思是关于安装或设置的说明文件)。在这里,“.md”通常表示这是一个Markdown格式的文件 以获取详细的安装说明。


项目计划

这是一个 12周,255小时的项目 具有三个明显不同的阶段:

第一阶段:Python基础(第1-5周)

用Python构建所有4台MCP服务器,验证架构,发布v0.1版本。

  • 第一周:数据准备与设置
  • 第二周:数据库模式与MCP框架
  • 第3周:产品目录 MCP(注:MCP可能代表特定的项目、计划或公司名称,根据上下文具体确定,此处直接保留原英文缩写)
  • 第4周:购物车与结账 + 订单追踪 MCP
  • 第5周:支持MCP并完成全面集成

可交付成果: v0.1 alpha 开源版

第二阶段:评估与优化(第6-7周)

构建评估框架,实施A/B测试,优化性能。

  • 第6周:指标框架与测试套件
  • 第7周:A/B测试与优化

可交付成果: v1.0 Python(附带基准测试)

第三阶段:Rust 学习与迁移(第8-12周)

学习Rust语言,然后将所有服务器迁移到Rust以实现3到5倍的性能提升。

  • 第8-9周:Rust基础与模式
  • 第10周:将产品目录迁移到Rust
  • 第11周:迁移购物车与订单追踪功能
  • 第12周:迁移支持与最终润色

可交付成果: v2.0 Rust,已准备好投入生产

完整时间线: 见 PROJECT_PLAN.md 翻译为中文是:“项目计划书.md”(其中“.md”通常表示Markdown格式的文件)


仓库结构

ecommerce-mcp/
├── README.md                          # This file
├── PROJECT_PLAN.md                    # 12-week detailed roadmap
├── ARCHITECTURE.md                    # System design deep dive
├── LICENSE                            # MIT License
├── requirements.txt                   # Python dependencies
├── Cargo.toml                         # Rust workspace
├── .gitignore
│
├── data/
│   ├── flipkart_mobiles.csv          # Raw dataset
│   ├── products_clean.json           # Processed products
│   ├── users_synthetic.json          # Sample users
│   ├── orders_synthetic.json         # Sample orders
│   ├── support_tickets_synthetic.json # Sample tickets
│   └── data_preparation.py           # Data processing script
│
├── database/
│   ├── schema.sql                    # Database schema
│   ├── init_db.py                    # Database initialization
│   └── seed_data.py                  # Sample data seeding
│
├── python_mcp_servers/               # Phase 1: Python implementations
│   ├── base_mcp.py                   # Abstract MCP server
│   ├── config.py                     # Shared configuration
│   ├── product_catalog_mcp/
│   │   ├── server.py
│   │   ├── models.py
│   │   └── tools.py
│   ├── cart_checkout_mcp/
│   │   ├── server.py
│   │   ├── models.py
│   │   └── tools.py
│   ├── order_tracking_mcp/
│   │   ├── server.py
│   │   ├── models.py
│   │   └── tools.py
│   └── support_mcp/
│       ├── server.py
│       ├── models.py
│       └── tools.py
│
├── rust_mcp_servers/                 # Phase 3: Rust implementations
│   ├── Cargo.workspace.toml
│   ├── product_catalog_mcp_rust/
│   ├── cart_checkout_mcp_rust/
│   ├── order_tracking_mcp_rust/
│   └── support_mcp_rust/
│
├── evaluation/                        # Phase 2: Testing & metrics
│   ├── metrics.py                    # Evaluation framework
│   ├── test_suites.py               # Hallucination detection
│   ├── ab_tests.py                  # A/B testing framework
│   ├── benchmarks.py                # Performance benchmarking
│   └── results/
│       ├── baseline_metrics.csv
│       ├── ab_test_results.csv
│       └── rust_vs_python_benchmark.csv
│
├── examples/
│   ├── sample_conversations.md       # Example Claude interactions
│   ├── usage_guide.md               # How to use each MCP
│   ├── api_documentation.md         # Tool specifications
│   └── architecture_diagram.md      # Visual explanations
│
└── docs/
    ├── SETUP.md                      # Installation guide
    ├── DEVELOPMENT.md                # Contributing guidelines
    ├── MCP_PROTOCOL.md              # MCP explanation
    └── RUST_MIGRATION.md            # Python → Rust guide

关键学习成果

完成这个项目后,你将掌握:

MCP与架构

  • ✅ 模型上下文协议的设计与实现
  • ✅ 微服务架构模式
  • ✅ 与Claude进行多服务编排
  • ✅ 生产系统设计

高级人工智能技能

  • ✅ 幻觉检测(>95%准确率)
  • ✅ 包含10+个评估指标的评估框架
  • ✅ 人工智能系统的A/B测试
  • ✅ 检索增强生成(RAG)
  • ✅ 微调和模型优化

性能与优化

  • ✅ 成本优化(代币,延迟)
  • ✅ 缓存策略
  • ✅ 数据库查询优化
  • ✅ 并发请求处理

Rust与系统编程

  • ✅ 使用 Tokio 的异步 Rust
  • ✅ 类型安全的数据库访问
  • ✅ Rust生产代码质量
  • ✅ 性能分析和基准测试

成功指标

到第5周末:

  • ✅ 所有4台MCP服务器均在运行
  • ✅ 端到端的对话功能正常运行
  • ✅ v0.1 alpha 版本发布

到第7周末:

  • ✅ 幻觉检测率 >95%
  • ✅ 政策合规率100%
  • ✅ 每个工具的平均延迟<500毫秒
  • ✅ 缓存命中率 >60%
  • ✅ Python 版本1.0发布

到第12周末:

  • ✅ Rust 的性能比 Python 快 3-5 倍
  • ✅ 内存使用量减少了40%
  • ✅ 并发请求数增加10倍
  • ✅ 已发布 v2.0 版本的 Rust
  • ✅ 已准备好进行生产环境部署

用法

运行中的产品目录 MCP

# Terminal 1: Start the MCP server
python python_mcp_servers/product_catalog_mcp/server.py

# Terminal 2: Use with Claude
python -m anthropic_mcp --mcp-url http://localhost:8000

运行所有服务

# Use the provided orchestration script
python start_all_servers.py

见 示例/使用指南.md 请参阅详细的使用说明。


评估结果

第二阶段指标(第7周)

指标 基线 优化后 改进
幻觉率 8% 2% ↓ 75%
政策合规性 95% 100% 上升5%
平均延迟(毫秒) 850 420 ↓ 50%
缓存命中率 45% 68% ↑ 51%
令牌/请求 2,850 1,920 ↓ 33%

第三阶段表现(第12周)

指标 Python Rust 改进
吞吐量(请求/秒) 85 380 提高了4.5倍
延迟P95(毫秒) 120 28 下降4.3倍
内存(MB) 256 145 43% 下降
冷启动时间(毫秒) 2,500 180 降低13.9倍

做出贡献

我们欢迎投稿!以下是参与方式:

  1. 叉子 仓库
  2. 创建 一个特性分支(git checkout -b feature/amazing-feature)
  3. 提交(或“完成”) 你的更改(git commit -m 'Add amazing feature')
  4. 推动 到分店(git push origin feature/amazing-feature)
  5. 开放 一个拉取请求(或合并请求)

看 DEVELOPMENT.md 翻译为中文是:“开发指南.md” 或 “开发文档.md”(具体翻译可能根据上下文有所调整,但基本意思是指一个关于开发的Markdown文档文件) 请参阅详细的贡献指南。


路线图

  • [x] 第一阶段:Python基础(所有4台服务器)
  • [x] 第二阶段:评估与优化
  • [ ] 第三阶段:Rust 迁移(进行中)
  • [ ] 多语言支持
  • [ ] 高级分析仪表板
  • GraphQL API 层
  • [ ] Docker 容器化
  • [ ] Kubernetes 部署指南

技术栈

第一阶段:Python

  • MCP框架FastAPI
  • 数据库SQLAlchemy + SQLModel(SQLite/PostgreSQL)
  • **嵌入(或表示)**Chroma DB(可译为“色度数据库”或根据具体上下文调整为更贴切的名称)
  • 人工智能Anthropic Claude API
  • 测试pytest(注:这是一个软件测试框架的名称,直接翻译为中文即“pytest”,在中文语境下通常保持原名以指代该测试框架)
  • 数据pandas,numpy,scikit-learn

第三阶段:锈蚀

  • 运行时东京
  • 网络Actix-web / Axum(注:这两个名称在中文中通常直接保留原样,不进行翻译,因为它们是特定框架或项目的名称。)
  • 数据库SQLx
  • 序列化Serde(注:Serde在编程领域通常指序列化和反序列化,但具体含义可能根据上下文有所不同,此处为直译)
  • 演出比Python快3到5倍

基准测试(或标准)

Python与Rust实现的详细性能基准对比可在 评估/结果/。

主要发现:

  • 吞吐量4.5倍的提升
  • 延迟减少4.3倍
  • 内存减少43%
  • 冷启动13.9倍更快

常见问题解答(FAQ)

问:我开始之前需要有Rust经验吗?
A: 不!第一、二阶段是纯Python。第三阶段是在指导下学习Rust。

问:我可以跳过Rust部分吗?
A: 是的,但你会错过性能优化的学习以及4.5倍的速度提升。

问:这需要多长时间?
A:在12周内完成255小时(每周20小时全职,或每周12-15小时兼职)。

问:我可以针对不同的领域进行修改吗?
A: 当然!这个架构是领域无关的。你可以将其应用于医疗、金融、教育等领域。

问:这个产品已经准备好投入生产了吗?
A: 这些模式已经准备好投入生产。第三阶段完成后,Rust版本将可以全面部署。


许可证

这个项目遵循MIT许可证授权——详见 许可证 详情请查阅文件。


致谢


支持


快速链接


为人工智能工程师和系统架构师倾心打造

⭐ 如果这个项目对您有帮助,请在GitHub上给它点个星吧!

开始吧 • 阅读计划 • 贡献