DINO-X MCP 实战指南:解析 LLMs 工具选择逻辑与营养膳食规划工作流全流程构建
本文介绍了LLM如何选择和使用MCP构建工作流程,并以膳食规划为例演示了基于DINO-X MCP的应用开发。通过导入DINO-X MCP、How to Cook MCP和Notion MCP,构建了一个完整的食材检测、膳食规划和分享的工作流。测试案例中,系统成功识别冰箱食材,为感冒患者生成了两天的营养膳食计划,并自动保存到Notion空间。该工作流展示了MCP在扩展AI模型能力方面的价值,使复杂任
概述
在上一篇文章中,我们详细讲解了如何在Cursor或Trae中启动和调用DINO-X MCP。但在实际应用场景中,要让AI模型处理专业复杂的任务,往往需要设计清晰的工作流程。这意味着仅靠DINO-X MCP进行物体检测识别是不够的,还需要一系列外部专业工具来处理特定领域或工作流程节点中的信息。这也正是MCP的核心价值所在:它能突破AI模型的能力限制,使其快速对接多样化的外部功能—比如各类软件API。
本文将深入探讨大语言模型(LLMs)选择MCP的基本原理,并以营养膳食规划为实际案例,逐步详细演示如何构建基于DINO-X MCP的工作流程,帮助读者更好地理解和应用这一技术。
一、LLMs如何选择MCP
与预设的固定工作流不同,在基于MCP的工作流程中,是否调用MCP、调用何种MCP以及调用顺序等决策均由LLM自主决定。提供更丰富的MCP选项能让LLM更精准流畅地完成任务,但这并不保证所有工具都会被使用,LLM会根据实际需求进行筛选和调用。
在实际交互过程中,LLM会接收两类输入:
- 包含MCP服务器列表及其具体使用指南的结构化系统指令(称为System Prompt);
- 来自用户的自然语言输入。
处理这些信息后,LLM遵循以下逻辑开展工作:
1. 识别可用工具
通过解析System Prompt,LLM会明确当前可调用的工具(即集成在MCP Server中的功能)。这一步是后续决策的基础,只有清楚了解有哪些工具可以使用,才能进行后续的匹配和调用。
2. 需求分解与工具匹配
大型语言模型会对用户输入进行深入分析,将用户的整体需求分解为多个具体的用例。然后,利用已掌握的现有工具信息,逐一判断每个用例是否需要调用MCP:
- 对于不需要MCP的用例,LLM直接生成自然语言回复。例如,当用户询问一些常识性问题,LLM自身的知识库已经足够回答时,就无需调用外部工具。
- 当需要MCP时,LLM向MCP客户端输出结构化工具调用请求,通过MCP服务器执行指令。工具执行结果—连同原始系统提示和用户消息—将反馈给LLM,以支持生成最终回复。
3. 生成最终回复
综合以上所有步骤的信息,包括对用户需求的理解、工具调用的结果等,LLM生成自然语言输出作为最终结果反馈给用户。
二、基于DINO-X MCP的膳食规划工作流
DINO-X MCP的一个高度契合应用场景是:开发者可通过快速构建MCP产品工作流来创建可视化产品演示。这为产品的开发和推广提供了极大的便利,能够快速向用户展示产品的功能和价值。
与多模态大语言模型相比,DINO-X视觉模型在检测和识别性能上更为精细,尤其在复杂密集场景中,如繁忙街道、拥挤人群和多样化商品。它不仅能精确定位指定目标,还能通过"万物检测"能力完整识别图像中所有对象,这一特性使其在食材检测等场景中具有显著优势。
假设我们计划基于DINO-X模型API开发营养膳食规划应用。在项目概念验证阶段或早期审批阶段,可利用DINO-X MCP快速构建产品工作流。针对该用例,我们从第三方MCP市场选取了"How to Cook MCP"和"Notion MCP",与DINO-X MCP共同构成完整的工作流,分别用于食材检测、膳食规划以及膳食计划的存储与分享。
1. 导入MCP服务器
以Cursor为例,导入MCP服务器的具体步骤如下:
导航至Cursor IDE页面,点击左侧边栏的"工具与集成"按钮,进入MCP设置界面。
在弹出的JSON配置页面中,输入所需的MCP服务器JSON内容(详细导入说明请参阅DINO-X MCP教程第一部分:如何连接MCP服务器)。三个MCP服务器的配置代码如下:
(1) DINO-X MCP (远程调用)
官方网址:https://github.com/IDEA-Research/DINO-X-MCP/blob/main/README.md
{
"mcpServers": {
"dinox-mcp": {
"url": "https://mcp.deepdataspace.com/mcp?key=your-api-key"
}
}
}
将’your-api-key
’替换为DINO-X平台的API密钥,以确保能够成功连接到DINO-X MCP服务器。
(2) How to Cook MCP (远程调用)
第三方网址:https://mcp.so/server/howtocook-mcp/worryzyy?tab=tools
{
"mcpServers": {
"howtocook-mcp": {
"command": "npx",
"args": [
"-y",
"howtocook-mcp"
]
}
}
}
(3) Notion MCP
官方网址:https://developers.notion.com/docs/get-started-with-mcp
{
"mcpServers": {
"Notion": {
"url": "https://mcp.notion.com/mcp"
}
}
}
导入多个MCP服务器的最终JSON代码如下,将三个MCP服务器的配置整合在一起,方便同时进行导入:
{
"mcpServers": {
"howtocook-mcp": {
"command": "npx",
"args": [
"-y",
"howtocook-mcp"
]
},
"dinox-mcp": {
"url": "https://mcp.deepdataspace.com/mcp?key=your-api-key"
},
"Notion": {
"url": "https://mcp.notion.com/mcp"
}
}
}
保存并关闭MCP JSON界面。
返回设置页面并进入“工具与集成”界面。您将看到MCP服务器已成功导入。此外,Notion MCP会提示您登录授权,这是因为Notion MCP需要获取用户的授权才能访问和操作用户的Notion空间。请按照指示登录Notion并完成授权流程。
Notion MCP登录授权完成后,将显示绿色标识,表示授权成功,可以正常使用Notion MCP的功能。
最终,这个基于DINO-X模型的饮食规划产品演示现已设置完成!接下来让我们进行简单的应用测试(按Ctrl+L打开对话框)。
2. 饮食规划测试
假设Bob最近患有轻微感冒且喉咙痛,他希望根据家里现有的食材制定一份适合他的膳食计划。当他打开冰箱时,发现家里只剩下这些食材:
随后他向饮食规划工作流提供食材照片并输入:
我最近轻微感冒,喉咙非常痛。能否请检测file://xxx(您的图片文件路径)中的食材,然后推荐一份单人两天膳食计划,最后将计划分享至Notion?
接收到指令后,Cursor的LLM(此处为"自动"模式)将开始分析并决定调用哪些MCP,具体流程如下:
(1) 首先调用DINO-X MCP分析图像中的食材
DINO-X MCP凭借其强大的图像识别能力,能够准确识别出图片中的各种食材,为后续的膳食规划提供基础数据。
(2) 随后调用How to Cook MCP规划膳食
在获取到食材信息后,How to Cook MCP会根据Bob的身体状况(轻微感冒、喉咙痛)以及现有的食材,制定出一份合理的两天膳食计划,考虑到食物的营养搭配、烹饪方式是否适合喉咙痛的人等因素。
(3) 之后将膳食计划分享至Bob的个人Notion空间
Notion MCP会将制定好的膳食计划存储到Bob的个人Notion空间中,方便Bob随时查看和参考。
最终LLM生成完整输出:
(1) 检测到的食材
通过DINO-X MCP的检测,明确了冰箱中现有的食材种类和数量,为膳食规划提供了准确的食材清单。
(2) 营养膳食计划
在生成定制膳食计划前,LLM会周详考虑各种设计因素,例如适合喉咙痛的食物(如清淡、软糯、富含维生素的食物)及最少额外采购需求,尽量利用现有的食材来制定计划。
随后提供逐日明细,详细列出每天的早餐、午餐、晚餐以及加餐等饮食安排,包括具体的菜品和烹饪方法。
同时参考膳食计划提醒用户必要的补充食材及其他注意事项,如饮食禁忌、休息建议等,所有细节均记录在Notion空间,方便用户查阅。
(3) 将膳食计划记录至Notion
通过调用Notion MCP,模型会在指定的Notion空间内创建专属页面来记录膳食计划和相关笔记,页面布局清晰,内容完整,便于用户管理和查看。
最终生成的Notion页面如下,包含了详细的膳食计划、补充食材建议和注意事项等内容:
至此,基于DINO-X MCP的膳食计划工作流已完成!
我们可以利用此工作流测试通过DINO-X模型API构建专属应用的可行性,并据此优化用户交互流程和产品工作流,以提供增强版MVP(最小可行产品),为后续的产品开发和推广奠定基础。
更多推荐
所有评论(0)