1. 项目概述:用Nexent打造AI烹饪顾问的初衷
作为一个厨房小白,每次站在冰箱前面对一堆食材时,那种手足无措的感觉实在太熟悉了。手机里收藏的菜谱视频永远用不上,因为要么缺材料,要么步骤太复杂。更让人头疼的是,家里还有对海鲜过敏的室友和需要控糖的老妈,每次做饭都像在解一道复杂的数学题。
去年接触到Nexent这个开源智能体平台时,我立刻意识到它可以解决我的痛点。Nexent的"零编排"理念意味着,我只需要用自然语言描述需求,系统就能自动生成完整的智能体工作流程。这比传统需要编写复杂代码的AI开发方式友好太多了。
1.1 为什么选择Nexent
Nexent的核心优势在于它的MCP(Model-Component-Protocol)生态系统。这个架构让不同功能的AI模块可以像乐高积木一样自由组合。对于烹饪顾问这个场景,我需要:
- 菜谱查询能力
- 营养分析功能
- 饮食禁忌检查
- 应季食材推荐
传统开发中,这些功能需要分别对接不同API,编写大量胶水代码。而Nexent通过MCP协议,让这些功能模块可以即插即用。更棒的是,它内置的知识库管理功能,让我可以上传自家的饮食禁忌文档,打造个性化的AI助手。
2. 环境准备与模型配置
2.1 Nexent平台部署
Nexent提供多种部署方式,我选择了最方便的Docker Compose方案。只需要准备好一台Linux服务器(我用的Ubuntu 22.04),安装好Docker和Docker Compose,然后执行:
bash复制git clone https://github.com/nexent-ai/nexent-platform
cd nexent-platform
docker-compose up -d
大约5分钟后,访问localhost:3000就能看到登录界面。首次使用需要注册管理员账号。相比在线版,本地部署的响应速度更快,数据也更安全。
2.2 模型接入实战
2.2.1 大语言模型配置
进入"模型管理"页面,我首先添加了Qwen3-MAX作为主对话模型。这是阿里云百炼平台提供的强大中文模型,特别适合处理菜谱理解和多轮对话。
配置时需要填写:
- 模型名称:qwen3-max
- API URL:https://dashscope.aliyuncs.com/compatible-mode/v1
- API Key:从百炼平台控制台获取
- 模型类型:大语言模型
点击"连通性验证"确保配置正确后,模型就可以使用了。为了应对不同场景,我还添加了:
- Qwen3.5-Plus:专门处理中文菜谱理解
- Qwen2.5-Coder:用于结构化营养数据分析
2.2.2 向量模型配置
知识库检索需要Embedding模型支持。我选择了Qwen-Embedding,同样来自阿里云百炼平台。配置时需要注意:
- API URL需要添加
/embeddings后缀 - 维度设置为1536(Qwen-Embedding的输出维度)
- 最大token长度设为512
重要提示:不同Embedding模型的维度设置必须准确,否则会导致检索结果异常。首次配置时建议查阅模型文档确认这些参数。
3. 知识库构建:让AI真正懂烹饪
3.1 文档准备与上传
为了让AI大厨真正理解烹饪知识,我准备了四类文档:
-
专业菜谱合集(PDF格式)
- 包含200+道家常菜详细做法
- 每道菜都有食材清单、步骤图解、烹饪技巧
- 特别标注了烹饪难度和所需时间
-
营养与禁忌手册(Markdown格式)
- 常见食材的营养成分表
- 食材搭配禁忌(如菠菜不能和豆腐同食)
- 不同人群的饮食建议(孕妇、老人、儿童等)
-
家庭饮食档案(TXT格式)
- 室友的海鲜/花生过敏记录
- 老妈的控糖要求和偏好
- 我自己的减脂目标和口味喜好
-
季节食材指南(DOCX格式)
- 按月划分的应季食材列表
- 不同季节的烹饪建议
- 节气饮食养生知识
上传时,Nexent会自动解析文档内容并建立向量索引。这个过程的速度取决于文档大小和复杂度:
| 文档类型 | 页数 | 处理时间 | 解析质量 |
|---|---|---|---|
| Markdown | 15 | 8秒 | ★★★★★ |
| TXT | 3 | 3秒 | ★★★★★ |
| DOCX | 20 | 15秒 | ★★★★☆ |
| 40 | 55秒 | ★★★☆☆ |
3.2 知识库优化技巧
通过实践,我总结出几个提升知识库质量的方法:
-
预处理PDF文档
- 使用Adobe Acrobat的"增强扫描"功能优化图文混排PDF
- 复杂版式PDF先转成Word再调整格式
- 删除无关的页眉页脚和广告内容
-
Markdown结构化
- 使用规范的标题层级(#、##、###)
- 表格用Markdown语法明确标注
- 重要内容用加粗突出显示
-
分库管理
- 将菜谱、营养知识、家庭档案分别建立不同知识库
- 设置不同的检索权重(菜谱0.6,营养0.3,档案0.1)
- 避免所有内容混在一个库里导致检索噪音
4. MCP工具集成:扩展AI能力边界
4.1 HowToCook菜谱服务
这是ModelScope社区提供的专业菜谱MCP服务,包含10万+菜谱数据。接入步骤:
- 在ModelScope MCP广场搜索"howtocook"
- 复制SSE URL(需登录后可见)
- 在Nexent的MCP配置页面添加:
- 服务器名称:howtocook
- URL:粘贴获取的SSE地址
该服务提供的主要工具:
search_by_ingredients:根据现有食材搜索菜谱get_recipe_detail:获取菜谱详细步骤recommend_daily_menu:推荐一日三餐搭配
4.2 高德地图天气服务
为了让AI大厨能推荐应季菜品,我接入了高德地图的天气MCP:
- 在高德开放平台申请Web服务API Key
- 在ModelScope找到高德地图MCP服务
- 配置时需要注意:
- 服务器名称必须全小写(如
amap) - 天气查询工具名为
get_weather - 需要用户提供城市参数
- 服务器名称必须全小写(如
典型使用场景:
python复制# 伪代码展示工具调用逻辑
if 用户询问应季推荐:
city = 获取用户所在城市
weather = amap.get_weather(city)
season = 根据天气判断季节
推荐季节菜品(season)
4.3 营养分析服务
通过Fetch MCP接入的营养分析工具,可以实时查询食材营养成分:
-
配置Fetch MCP服务器
-
设置常用数据源白名单:
- 中国食物成分表
- USDA营养数据库
- 权威医学营养网站
-
编写数据清洗规则:
- 过滤广告内容
- 提取结构化营养数据
- 转换统一单位(如千卡、克)
5. 智能体开发与调试
5.1 角色定义与提示词工程
在创建AI大厨智能体时,我使用了这样的角色定义:
"""
你是一位专业的家庭烹饪顾问,名叫"AI大厨"。你的用户厨艺水平有限,家中有一位对海鲜/花生过敏的室友,和一位需要控糖低油饮食的长辈。你的任务是:
- 根据用户现有食材推荐合适菜谱
- 考虑季节和天气因素
- 严格遵守饮食禁忌
- 提供详细但易懂的烹饪指导
- 给出营养分析和成本估算
请使用温和、耐心的语气,避免专业术语。如果用户提供的食材可能引发过敏,必须明确警告。
"""
Nexent的提示词自动生成功能基于这个描述,创建了包含以下要素的完整提示:
- 多轮对话管理规则
- 工具调用优先级
- 输出格式规范
- 异常处理流程
5.2 测试与迭代优化
我设计了三个测试阶段:
阶段一:基础功能验证
- 测试食材搜索
- 检查过敏提示
- 验证步骤可操作性
阶段二:复杂场景测试
- 多约束条件组合查询
- 应季推荐合理性
- 营养计算准确性
阶段三:极端情况测试
- 模糊查询("随便做点什么")
- 冲突需求("高蛋白但低热量")
- 不常见食材处理
通过测试发现的典型问题及解决方案:
| 问题现象 | 原因分析 | 解决方案 |
|---|---|---|
| 偶尔推荐含花生的菜 | 知识库检索权重不足 | 提高过敏相关文档权重至0.9 |
| 步骤描述太专业 | 提示词未限制术语使用 | 添加"用小白能懂的语言"约束 |
| 忽略季节因素 | 天气工具调用频率低 | 修改工具调用触发条件 |
6. 实际应用案例与技巧
6.1 典型使用场景
场景一:快速决定晚餐
用户输入:"冰箱里有鸡腿、土豆、青椒,能做什么?"
AI大厨:
- 检查食材组合安全性
- 从HowToCook查询匹配菜谱
- 过滤掉需要额外复杂调料的
- 推荐3道最符合的菜品
- 提供每道的详细步骤和预估时间
场景二:特殊需求应对
用户输入:"老妈今天血糖偏高,推荐个适合的午餐"
AI大厨:
- 激活控糖饮食规则
- 查询低GI值菜品
- 结合现有食材筛选
- 计算每道菜的营养成分
- 推荐并解释选择理由
6.2 使用技巧分享
-
精准提问技巧
- 说明现有具体食材
- 告知用餐人数
- 提出特殊需求(时间、口味等)
示例:"2人晚餐,有牛肉、番茄、洋葱,要快手的"
-
反馈优化机制
- 对不满意的推荐可以点"换一个"
- 系统会记录偏好调整后续推荐
- 可以主动说"我不喜欢XX食材"
-
批量计划功能
- 可以要求"设计一周菜谱"
- 系统会考虑食材复用
- 自动生成采购清单
7. 性能优化与问题排查
7.1 响应速度优化
初始版本的平均响应时间在8-12秒,经过以下优化降至3-5秒:
-
知识库索引优化
- 重建索引时设置
chunk_size=500 - 调整
chunk_overlap=150 - 使用
HNSW算法加速检索
- 重建索引时设置
-
工具调用并行化
- 修改提示词允许并行调用
- 天气查询和菜谱搜索同时进行
- 最后统一综合结果
-
缓存策略
- 常见食材组合结果缓存5分钟
- 用户偏好缓存24小时
- 季节信息缓存1小时
7.2 常见问题解决
问题一:知识库检索不全
- 检查文档解析日志
- 确认Embedding模型匹配
- 尝试调整chunk大小
问题二:工具调用失败
- 检查MCP服务状态
- 验证API配额是否用完
- 查看错误日志定位问题
问题三:输出格式混乱
- 检查提示词中的格式指令
- 确认模型温度参数(建议0.3-0.7)
- 添加更严格的结果校验规则
8. 项目总结与未来规划
经过一个月的使用迭代,AI大厨已经成为我家厨房不可或缺的助手。它帮我解决了以下痛点:
- 减少食材浪费(利用率提升60%)
- 避免过敏风险(100%准确识别禁忌)
- 简化烹饪决策(平均节省15分钟/餐)
未来改进方向:
-
语音交互支持
- 集成语音输入输出
- 支持边做边问场景
-
图像识别扩展
- 拍照识别冰箱食材
- 自动生成推荐方案
-
个性化学习增强
- 记录用户对菜品的评价
- 动态调整推荐策略
- 学习家庭口味变化
这个项目让我深刻体会到,借助Nexent这样的智能体平台,即使没有专业AI开发背景,也能打造出真正实用的AI应用。关键在于:
- 清晰定义真实需求
- 合理选择模型和工具
- 持续迭代优化
对于想尝试类似项目的朋友,我的建议是:从小而具体的场景入手,先打造一个最小可行产品,再逐步扩展功能。厨房场景就是个很好的起点,因为:
- 需求明确具体
- 效果立竿见影
- 数据获取容易
期待看到更多有趣的Nexent应用案例!