> 技术文档 > 小智 AI 接入视觉能力:原理拆解+服务端实现_小智 mcp

小智 AI 接入视觉能力:原理拆解+服务端实现_小智 mcp

前文,分享了小智AI如何通过 MCP 控制IoT设备

小智AI MCP 控制IoT设备:原理+流程拆解

不得不说,接入了 MCP,可玩性越来越高了。

本文,就来聊聊小智AI如何通过 MCP 接入视觉能力

1. 交互逻辑

视觉能力,是通过接入摄像头搞定的。

上篇已经实现了MCP 控制IoT设备,设备端的摄像头也是一种IoT设备

当用户有图片识别需求时,服务端识别到这种意图,会通过 MCP 向客户端发请求。

客户端,调用摄像头拍照,然后请求视觉识别模型,获得当前图片的描述。

客户端通过 MCP 把当前看到的发给服务端,由服务端 LLM 进行总结后回答用户。

交互逻辑,用流程图描述如下:

小智 AI 接入视觉能力:原理拆解+服务端实现_小智 mcp

我们来看日志,会更直观一些:

小智 AI 接入视觉能力:原理拆解+服务端实现_小智 mcp

整个流程,基于上篇分享的 MQTT + UDP 协议框架,实现并不复杂。

下面重点看:如何自建视觉识别模型

2. 视觉识别模型

对于简单的图片描述生成,其实只要接入一个多模态大模型就够了,比如Qwen 2.5-VL

无论是本地部署,还是调用云端API,最终都给封装成 OpenAI 兼容格式。

openaiClient = OpenAI(api_key=settings.VISION_KEY, base_url=settings.VISION_URL)def process_image_with_ai(image_data: bytes, question: str) -> str: encoded_image = base64.b64encode(image_data).decode(\"utf-8\") response = openaiClient.chat.completions.create( model=settings.VISION_MODEL, messages=[{\"role\": \"user\",\"content\": [ {\"type\": \"image_url\",\"image_url\": {\"url\": f\"data:image/jpeg;base64,{encoded_image}\"}}, {\"type\": \"text\", \"text\": question}, ]}] ) return response.choices[0].message.content

以阿里云的qwen-vl-plus,单张图像推理需要 1.5-2s 左右。

# 1.68 s{\'success\': True, \'result\': \'图片中有一只卡通风格的猴子。猴子的毛色是棕色的,脸上有彩虹色的装饰,显得非常可爱。它手里拿着一块牌子,牌子上用红色字母写着“AI”。背景是浅绿色的,整体画面色彩鲜艳,给人一种愉快和积极的感觉。\'}

所以,对延时要求较高的朋友,可选择部署端侧模型,对于图片描述这种简单任务,完全足够了。

最后,再把上述结果,封装到一个/mcp/vision/explain接口中,对外提供服务即可,这里给出接口示例:

@app.post(\"/mcp/vision\")async def analyze_image( request: Request, file: UploadFile = File(..., description=\"JPEG 图像文件\"), question: str = Form(...),): \"\"\" 接收 JPEG 图像文件和问题,进行 AI 分析并返回结果。 - **file**: JPEG 格式的图像文件 - **question**: 关于图像的问题 - **headers**: - Device-Id (required) - Client-Id (optional) - Authorization (Bearer token, optional) 返回: - 成功时返回 AI 分析结果 - 失败时返回错误信息 \"\"\" # 1. 提取 headers # 2. 调用 AI 模型分析 try: image_data = await file.read() result = process_image_with_ai(image_data, question) return {\"success\": True, \"result\": result} except Exception as e: raise HTTPException(status_code=500, detail=\"AI 分析失败\")

如果有类似人脸识别等需求,那就再接入一个人脸识别的服务不就 OK 了。

反正有了 MCP,想干点啥不行啊。

写在最后

本文分享了 小智AI 接入视觉能力 的原理,和服务端实现方案。

如果对你有帮助,欢迎点赞收藏备用。

下篇继续聊:

  • 如何低成本 DIY 一套接入视觉能力的小智AI

为方便大家交流,新建了一个 AI 交流群,公众号后台「联系我」,拉你进群。