AI销售代理-MCP后端
该存储库实现 模型上下文协议(MCP) 对于能够通过自然对话帮助用户进行购买过程的人工智能代理。
该项目是 技术挑战-Laburen.com的AI工程师 它涵盖了 时尚概念 作为 实用阶段(后台).
______________________________________________________________________
目标
设计和实现允许 人工智能代理:
- 探索产品
- 显示产品详细信息
- 创建和管理购物车
- 编辑购物车(额外)
- 将对话转移到人类代理
代理 不包含业务逻辑,但通过HTTP MCP消耗显式功能。
______________________________________________________________________
总体架构
用户(WhatsApp) ↓ Chatwoot(客户关系管理) ↓ 人工智能代理(Laburen) ↓ MCP(FastAPI-HTTP API) ↓ 数据库(SQLite)
- 埃尔 人工智能代理 解释用户的意图。
- 埃尔 主控程序 它充当代理和后端之间的明确合同。
- 啦 数据库 它存储产品和购物车。
______________________________________________________________________
项目结构
ai销售代理mcp/ │ ├── 后端/ │ ├── mcp/#API mcp(FastAPI) │ │ ├── main.py │ │ ├── 产品\_ api.py │ │ └── cart_api.py │ │ │├--scripts/#业务逻辑和持久性 │ │ ├── product_repository.py │ │ ├── cart_repository.py │ │ ├── excel_loader.py │ │ ├── product_mapper.py │ │ └── 进口产品 │ │ │ ├── 数据库/ │ │ └── 数据库.sqlite │ │ │ └── products.xlx │ ├── docs/ │ ├── agent_design.md │└---图表_flow_agent.puml │ └── README.md
数据模型
产品
- id(PK)
- 名字
- 描述
- 类别
- 颜色
- 他
- 价格
- 股票
- 可用的
手推车
- id(PK)
- created_at
- updated_at
cart_items
- id(PK)
- cart_id(FK)
- product_id(FK)
- 数量
______________________________________________________________________
终点MCP
产品
GET /products/search\
搜索带有动态过滤器(名称、颜色、大小、类别)的产品。
GET /products/{id}\
返回特定产品的详细信息。
购物车
POST /cart/{cart_id}\
创建一个购物车(每次对话一个购物车)。
GET /cart/{cart_id}\
获取购物车的当前状态。
POST /cart/{cart_id}/items\
将产品添加到购物车中。
PUT /cart/{cart_id}/items/{product_id}\
更新数量或删除项目。
如何在本地执行项目
1.创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate```