使用说明
HW3统一披萨+MCP助理
本自述文件仅关注:
- HW3_for_编程_LLMs.pdf(分配规范/上下文)
- HW3_final_submission/unified_agent.py(多代理可执行)
1.概述
unified_agent.py 实现了一个基于终端的统一助手,具有两个角色:
- 使用托管MCP工具(Zapier、Firecrawl)的个人助理(默认)。
- PizzaOrderingAgent(当用户意图与pizza/order关键字匹配时切换;生成可运行的Python代码,通过Playwright助手自动订购
pizza_order_browser.order_pizzas).
2.密钥文件:unified_agent.py
主要部件:
- 环境负载(dotenv):预期
ZAPIER_MCP_TOKEN,FIRECRAWL_API_KEY. - 托管MCP工具:Zapier+Firecrawl
HostedMCPTool. - Pizza代理:本地聊天完成模型(LM Studio端点)被指示在收集到所有Pizza参数时仅发出原始Python。
- 对话循环:
- 正则表达式意图检测:
pizza|pepperoni|order|delivery|domino|hungry. - 披萨代理商代表;如果代码包括
order_pizzas(它是写给generated_pizza_order.py然后执行。 - 否则,使用MCP工具访问运行PersonalAssistant。
- 正则表达式意图检测:
- 执行前的代码卫生(剥离回溯、规范化引号)。
- UTF-8标准输出包装器。
安全/假设:
- 剧作家&
pizza_order_browser.py必须存在并且功能正常(如果站点更改,选择器可能会中断)。 - 生成的脚本与同步运行
subprocess.run. - pizza代理没有持久会话(在代码发出之前,每个回合都是独立的)。
3.环境设置
python -m venv .venv
.venv\Scripts\activate
pip install -r HW3_final_submission/requirements.txt
python -m playwright install chromium
在Zapier中配置MCP服务器并检索授权令牌
使用Firecrawl注册并检索授权令牌
创建 .env (不要泄露真正的秘密):
ZAPIER_MCP_TOKEN=YOUR_TOKEN
FIRECRAWL_API_KEY=YOUR_TOKEN
OPENAI_API_KEY=DUMMY_OR_REQUIRED_FOR_OTHER TOOLS
(可选)在以下位置启动LM Studio模型:http://127.0.0.1:1234/v1(api_key占位符“lmstudio”)。
4.跑步
python HW3_final_submission/unified_agent.py
示例交互:
- 键入常规查询→ 由个人助理处理(可能会呼叫Zapier/Firecrawl)。
- 键入“我想订两份去主街123号的意大利辣肠披萨”→ 切换到PizzaOrderingAgent,请求缺少的字段,输出原始Python,执行。
5.延伸
最小扩展点:
- 在正则表达式中添加新的意图关键字。
- 通过更改来交换本地模型
OpenAIChatCompletionsModelbase_url。 - 添加更多MCP工具
assistant_agent.tools.
6.故障排除
| 问题 | 修复 |
|---|---|
失踪 agents 模块 |
确保其软件包在PYTHONPATH中已安装/可用。 |
| 剧作家超时 | 重新安装浏览器;验证网络;更新选择器。 |
| 披萨代理反复输出问题 | 提供所有必填字段(地址、城市、州、邮政编码、披萨列表)。 |
| Unicode引号错误 | Sanitizer已经正常化;检查所有粘贴的智能报价。 |
| 托管MCP 401 | 重新生成Zapier/Firecrawl令牌;确认 .env 加载。 |
9.最小代码执行路径(Pizza)
生成的代码片段(例如,代理在信息完成后可能会生成):
from pizza_order_browser import order_pizzas
order_pizzas('161 Wellborn Road', 'College Station', 'TX', '77840', [('Ultimate Pepperoni', 2)])
控制器将此写入 generated_pizza_order.py 并运行它。
10.注意事项
- 交互时保持响应简洁(代理指令强制执行)。
- 如果出现误报,请调整正则表达式。
- 目标是演示MCP工具的使用和披萨订购功能
