随着大模型平台的普及,智能体(Agent)开发正变得越来越直觉化。本文将带你完整体验如何利用ModelEngine平台,从零构建一个具备多模态能力的“AI饮食健康助手”——它不仅能通过一张照片秒看卡路里,还能结合实时MCP工具为你定制健身食谱。我们将深入探讨如何利用ModelEngine的可视化编排与Nexent的Prompt自动生成能力,将复杂的AI能力工程化,打造一个真正的“数字营养师”。
一、为什么选择ModelEngine:开启智能体开发的新范式
在 LLM(大语言模型)应用井喷的当下,开发者面临的最大挑战不再是“模型好不好用”,而是“如何高效地将模型转化为可靠的业务流”。
ModelEngine 便是为了解决这一痛点而生的企业级基础设施。它不仅仅是一个接口转发工具,更是一个集成了低代码可视化编排、作业调度与执行引擎的综合性平台。
1.1核心优势与应用场景
ModelEngine 围绕 Agent(智能体)与 RAG(检索增强生成)构建了一套完整的生态体系:
·低代码编排: 通过可视化界面,开发者可以像搭积木一样组合模型、算子与插件,极大地降低了工程化门槛。
·多模态支持: 完美适配图片、文本等多种输入,非常适合构建如“拍照识物”、“文档分析”等复杂场景。
·企业级集成: 支持 MCP(模型上下文协议)与各类数据总线,能够轻松打通企业内部数据与外部实时 API。
1.2 Nexent框架的加持
通过 ModelEngine 相关的 Nexent 框架,我们可以实现“声明式开发”。只需描述你的意图,Nexent 就能自动生成高质量的 System Prompt 和工具调用逻辑。正如本文将展示的,这种“直觉式”的开发体验,让从零构建一个具备多模态分析能力的智能体变得触手可及。
二、快速实现
2.1智能体搭建
点击创建智能体,因为我们后面要用ModelEngine Nexent自带的提示词生成模板进行提示词生成,因此我们首先配置工具和MCP,然后再对智能体
2.2 MCP和工具调用
首先我们配置一下工具,因为用户需要上传一张图片,所以需要多模态能力,我们在这里选择analyze_image和analyze_text_file这两个工具
在MCP中我们选择魔塔社区中的今天吃什么
点击右边的立即连接即可得到一个暂时可用的url;我们复制这个url:
回到ModelEngine中点击mcp配置:
把这个mcp下面的所有工具都选上:
在描述智能体应该如何工作中我们简单输入用户上传一张午餐照片,分析餐饮搭配卡路里是否健康,然后我们点击生成智能体即可得到一个完美的Prompt,这点必须给Nexent点赞!得到的Prompt如下:
### 示例1:
**用户提问:** 请帮我分析这张午餐照片,看看卡路里是否健康。这是照片的链接:[http://example.com/lunch_photo.jpg]
**思考:** 我需要使用`analyze_image`工具来分析这张午餐照片,并获取其中的食物信息。
**代码:**
```<RUN>
image_analysis = analyze_image(image_urls_list=["http://example.com/lunch_photo.jpg"], query="分析午餐照片中的食物和卡路里")
print(image_analysis)
```<END_CODE>
**观察结果:** 照片中包含一份鸡肉沙拉、一杯橙汁和一小块巧克力蛋糕。总卡路里约为500千卡。
**思考:** 我已经获得了照片中的食物信息和卡路里数据,现在我将生成最终回答。
**最终回答:** 根据分析,您的午餐包括一份鸡肉沙拉、一杯橙汁和一小块巧克力蛋糕,总卡路里约为500千卡。这个搭配在卡路里上是相对健康的,但建议减少甜食摄入以保持更好的饮食平衡。
---
### 示例2:
**用户提问:** 这是我今天的午餐照片,请帮我分析一下卡路里是否健康。这是照片的链接:[https://example.com/today_lunch.jpg]
**思考:** 我需要使用`analyze_image`工具来分析这张午餐照片,并获取其中的食物信息。
**代码:**
```<RUN>
image_analysis = analyze_image(image_urls_list=["https://example.com/today_lunch.jpg"], query="分析午餐照片中的食物和卡路里")
print(image_analysis)
```<END_CODE>
**观察结果:** 照片中包含一份牛肉汉堡、一包薯条和一瓶可乐。总卡路里约为800千卡。
**思考:** 我已经获得了照片中的食物信息和卡路里数据,现在我将生成最终回答。
**最终回答:** 根据分析,您的午餐包括一份牛肉汉堡、一包薯条和一瓶可乐,总卡路里约为800千卡。这个搭配在卡路里上偏高,建议减少高热量食物的摄入,选择更健康的食材。
---
### 示例3:
**用户提问:** 请帮我分析这张午餐照片,看看卡路里是否健康。这是照片的链接:[s3://my-bucket/lunch_photos/lunch_1.jpg]
**思考:** 我需要使用`analyze_image`工具来分析这张午餐照片,并获取其中的食物信息。
**代码:**
```<RUN>
image_analysis = analyze_image(image_urls_list=["s3://my-bucket/lunch_photos/lunch_1.jpg"], query="分析午餐照片中的食物和卡路里")
print(image_analysis)
```<END_CODE>
**观察结果:** 照片中包含一份三文鱼寿司、一碗味噌汤和一杯绿茶。总卡路里约为400千卡。
**思考:** 我已经获得了照片中的食物信息和卡路里数据,现在我将生成最终回答。
**最终回答:** 根据分析,您的午餐包括一份三文鱼寿司、一碗味噌汤和一杯绿茶,总卡路里约为400千卡。这个搭配在卡路里上是相对健康的,继续保持这种饮食习惯对身体有益。
---
### 示例4:
**用户提问:** 请帮我分析这张午餐照片,看看卡路里是否健康。这是照片的链接:[https://example.com/healthy_lunch.jpg]
**思考:** 我需要使用`analyze_image`工具来分析这张午餐照片,并获取其中的食物信息。
**代码:**
```<RUN>
image_analysis = analyze_image(image_urls_list=["https://example.com/healthy_lunch.jpg"], query="分析午餐照片中的食物和卡路里")
print(image_analysis)
```<END_CODE>
**观察结果:** 照片中包含一份烤鸡胸肉、一份蒸蔬菜和一杯柠檬水。总卡路里约为350千卡。
**思考:** 我已经获得了照片中的食物信息和卡路里数据,现在我将生成最终回答。
**最终回答:** 根据分析,您的午餐包括一份烤鸡胸肉、一份蒸蔬菜和一杯柠檬水,总卡路里约为350千卡。这个搭配在卡路里上是非常健康的,继续保持这种饮食习惯对身体非常有益。
---
### 示例5:
**用户提问:** 请帮我分析这张午餐照片,看看卡路里是否健康。这是照片的链接:[http://example.com/unhealthy_lunch.jpg]
**思考:** 我需要使用`analyze_image`工具来分析这张午餐照片,并获取其中的食物信息。
**代码:**
```<RUN>
image_analysis = analyze_image(image_urls_list=["http://example.com/unhealthy_lunch.jpg"], query="分析午餐照片中的食物和卡路里")
print(image_analysis)
```<END_CODE>
**观察结果:** 照片中包含一份炸鸡、一份薯条和一瓶汽水。总卡路里约为900千卡。
**思考:** 我已经获得了照片中的食物信息和卡路里数据,现在我将生成最终回答。
**最终回答:** 根据分析,您的午餐包括一份炸鸡、一份薯条和一瓶汽水,总卡路里约为900千卡。这个搭配在卡路里上非常高,建议减少高热量食物的摄入,选择更健康的食材。
三、测试
3.1图像多模态能力测试
输入Query如下:
帮我分析一下我的午饭是否健康:https://img95.699pic.com/photo/60083/4563.jpg_wh860.jpg
输出如下:
观察结果: 照片中的午餐展示了一个分隔式餐盒,分为左右两部分。左侧包含全麦面包三明治(夹有生菜、番茄、黄瓜和酱料)、樱桃番茄、西兰花和橙子片。右侧包含烤鸡胸肉条、紫葡萄、核桃、腰果、煮鸡蛋切片、小番茄和一小罐谷物(可能是藜麦或燕麦)。餐盒整体色彩鲜艳,食材多样,看起来健康均衡。
**最终回答: 根据分析,您的午餐包括:
全麦面包三明治(夹有生菜、番茄、黄瓜和酱料)
樱桃番茄
西兰花
橙子片
烤鸡胸肉条
紫葡萄
核桃
腰果
煮鸡蛋切片
小番茄
一小罐谷物(可能是藜麦或燕麦)
这个搭配在卡路里上是相对健康的,并且营养均衡。您选择了多种蔬菜、水果、坚果和优质蛋白质来源,这些都是非常健康的选择。继续保持这种饮食习惯对身体非常有益。
再来一个方便面的测试:
分析一下我的午餐健康吗https://ts2.tc.mm.bing.net/th/id/OIP-C.SWlKQepgF-OMPMKMXAhVFgHaEK?rs=1&pid=ImgDetMain&o=7&rm=3
输出如下:
观察结果:
方便面的卡路里和营养成分:
方便面的热量大约在400-500千卡之间,具体取决于品牌和口味。
方便面主要由碳水化合物组成,含有少量蛋白质和脂肪。
方便面通常含有较高的钠含量。
香肠的卡路里和营养成分:
牛肉腊肠的一个环节提供253卡路里,10克蛋白质,2克碳水化合物,0克纤维,0克糖,22克脂肪,8克饱和脂肪和643毫克钠。
一份三盎司的波兰香肠(也称为kielbasa)的热量约为508千卡,蛋白质24.1克,脂肪40.7克,碳水化合物11.2克,膳食纤维0克,维生素A 0微克,胡萝卜素4.8微克,视黄醇19.2微克。
根据这些信息,我们可以估算您的午餐总卡路里和营养成分:
方便面:约400-500千卡
香肠:约253-508千卡
总卡路里:约653-1008千卡
**最终回答:
根据分析,您的午餐包括一碗红色汤底的方便面和一根香肠。方便面的热量大约在400-500千卡之间,而香肠的热量约为253-508千卡。因此,这份午餐的总卡路里在653-1008千卡之间。
这个搭配在卡路里上偏高,尤其是香肠的脂肪含量较高。为了更健康,建议减少高热量和高脂肪食物的摄入,增加蔬菜和水果的比例。这样可以更好地平衡饮食,保持身体健康。
3.2饮食推荐测试
我们再问问吃啥?输入:
我在健身,中午不知道吃啥,帮我推荐一下
智能体的回答如下:
周一午餐
黄油煎虾
主要食材:鲜虾(九节虾或明虾)、黄油、黑胡椒粒、生抽、盐、白糖、米酒。
烹饪难度:★★★
营养价值:富含高质量蛋白质和健康脂肪,低卡路里。
清蒸鲈鱼
主要食材:鲈鱼、香葱、姜、食用油、蒸鱼豉油、料酒、食用盐。
烹饪难度:★★★
营养价值:高蛋白、低脂肪,富含Omega-3脂肪酸,有助于肌肉恢复。
周二午餐
麻婆豆腐
主要食材:内脂豆腐、咸鸭蛋、五花肉、大蒜、生姜、小米椒、香辣酱、花椒、食盐、酱油。
烹饪难度:★★★
营养价值:富含蛋白质和微量元素,提供丰富的营养。
红烧鲤鱼
主要食材:鲤鱼、五花肉、大葱、姜、蒜瓣、干辣椒、白糖、油、盐、生抽、老抽、陈醋、蚝油、料酒。
烹饪难度:★★★★
营养价值:高蛋白、低脂肪,富含多种维生素和矿物质。
周三午餐
茄子肉煎饼
主要食材:米粉、小麦粉、鸡蛋、煮熟的腊肉、茄子、食用油、食盐。
烹饪难度:★★★
营养价值:富含碳水化合物和蛋白质,适合作为主食。
鲤鱼炖白菜
主要食材:鲤鱼、娃娃菜、食用油、姜、蒜、盐、老抽、生抽、桂皮、八角、郫县豆瓣酱、干辣椒。
烹饪难度:★★★
营养价值:高蛋白、低脂肪,富含纤维素和多种维生素。
很好!看得人流口水!
四、一键发布
ModelEngine Nexent支持一一键发布,非常方便!
我们对发布之后的智能体再进行一次测试:
我晚上想吃点烧烤,帮我推荐一下我晚上点点什么?
好了,又流口水了!测试成功!
五、结语:从工具编排到智能进化的跨越
通过本次对“AI 饮食健康助手”的完整构建,我们见证了 ModelEngine + Nexent 组合的强大爆发力。
回顾开发全程,有三个点最令人印象深刻:
1.极简的集成成本: 无论是多模态工具(图片分析)还是外部生态插件(魔塔社区 MCP),在 ModelEngine 中均实现了“一键挂载”。
2.Prompt 的自动化生产: 借助 Nexent 的生成模板,我们告别了繁琐的提示词调优,平台自动生成的 Few-shot 示例精准地定义了智能体的思考逻辑。
3.从开发到上线的闭环: “一键发布”功能真正打通了智能体开发的“最后一公里”,让 AI 能力能够迅速转化为可交互的产品。
ModelEngine 不仅仅缩短了智能体的开发周期,更重要的是,它为开发者提供了一个工程化、标准化的底座。无论你是想开发一个辅助学习的复习助手,还是一个管理健康的 AI 专家,这套流程都具备极强的复用价值。
下一步,不妨尝试接入更复杂的数据流,打造属于你自己的超级智能体吧!