猴哥的第 181 期分享,欢迎追看
前文,分享了:
不得不说,接入了 MCP,可玩性越来越高了。
本文,就来聊聊小智AI如何通过 MCP 接入视觉能力。
- 交互逻辑
视觉能力,是通过接入摄像头搞定的。
上篇已经实现了MCP 控制IoT设备,设备端的摄像头也是一种IoT设备。
当用户有图片识别需求时,服务端识别到这种意图,会通过 MCP 向客户端发请求。
客户端,调用摄像头拍照,然后请求视觉识别模型,获得当前图片的描述。
客户端通过 MCP 把当前看到的发给服务端,由服务端 LLM 进行总结后回答用户。
交互逻辑,用流程图描述如下:
我们来看日志,会更直观一些:
整个流程,基于上篇分享的 MQTT + UDP 协议框架,实现并不复杂。
下面重点看:如何自建视觉识别模型。
- 视觉识别模型
对于简单的图片描述生成,其实只要接入一个多模态大模型就够了,比如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 交流群,公众号后台「联系我」,拉你进群。
👇 关注猴哥,快速入门AI工具
# AI 工具:
盘点9家免费且靠谱的AI大模型 API,统一封装,任性调用!
免费GPU算力本地跑DeepSeek R1,无惧官方服务繁忙!
# AI应用** :**
弃坑 Coze,我把 Dify 接入了个人微信,AI小助理太强了
我把「FLUX」接入了「小爱」,微信直接出图,告别一切绘画软件!
