AIoT | 软件:Astra MCP边缘算力构建详解

过去,大模型与浏览器、数据库、代码仓库等外部工具的对接通常采用"一对一"的定制化方式------不同模型有不同的工具调用标准,开发者需要重复适配,效率低下且兼容性差。而MCP协议的核心价值之一在于建立了统一的"AI-工具通信语言"。在安全与治理层面,MCP支持细粒度权限控制,例如限制模型可访问的文件目录,从而防止敏感信息泄露。这一特性也与边缘计算的优势相契合,提升了数据安全性。边缘计算的专用AI模型可以更好地满足用户需求,且实现难度低、资源损耗少和任务定制方便,相较于直接使用大模型更加高效、经济。

本篇博文将带大家通过边缘设备Synaptics的Astra SL1640实现MCP协议,使其支持边缘推理任务。

实现步骤:

1. 建立环境

烧录OOBE image:

SL1640的OOBEimageq缺少必要的部件,这里需要在yocto把这部分加上去,如果没有编译环境的话,尝试换到SL1680去实现

SL1640修改yocto:

这里面比较粗暴的把SL1680有的都加上了,如果不想要个别的包可以自行修改。修改完之后,按照官网指导,编译OOBE image 并烧录到板子上(Astra Yocto Linux Developer Guide --- Synaptics Astra SDK User Guide scarthgap_6.12_v2.0.0 documentation)

安装python环境:

git clone https://github.com/synaptics-synap/examples.git

cd examples

python3 -m venv .venv --system-site-packages

source .venv/bin/activate

pip install -r requirements.txt

pip3 install https://github.com/synaptics-synap/synap-rt/releases/download/v0.0.2-preview/synap_rt-0.0.2-py3-none-any.whl

2. 创建项目

参考例子:

可以参考前面下载的Git仓库中的示例代码(vision/object_detect.py),该代码展示了如何使用Python库调用Astra NPU进行推理。

定义异步推理函数:

沿用示例中的管道方式,将函数改为异步以防止阻塞,并添加返回数据的动作。

定义MCP tool去调用推理函数:

对返回结果进行处理,生成结构化数据。输入为本地图片路径,该路径由LLM根据用户意图传入。

定义结构化数据格式:

定义统一的数据格式,便于LLM处理。

3. 延申功能(摄像头拍照)

参考例子:

继续参考仓库中的代码(utils/photo.py)。

定义MCP tool 获取摄像头设备名:

基本直接复用示例代码。

定义MCP tool 拍照:

同样复用示例代码,但返回的数据为图片路径,LLM可将该路径传递给推理工具。同时,传入的设备名由前述工具返回。

4. 运行

这里运行部分可以参考博文Biu懂AI:硬件能力MCP------ Astra MCP - 大大通(简体站)

至此,一个具备边缘推理能力的MCP Server就搭建完成了。如果需要纯粹的Synap Python环境,可参考官方API文档:synaptics-synap/synap-python: Synaptics Synap Core Python API

以上是本期博文的全部内容,如有疑问就在博文下方评论留言,或者联系我们,我们会尽量安排上(o´ω`o)و。谢谢大家浏览,我们下期再见。

**FAQ 1:为什么边缘计算更适合特定AI模型?**

A1:边缘计算的AI模型更贴近用户需求,资源消耗少,任务定制方便,且比直接使用大模型更高效和经济。

**FAQ 2:MCP协议的主要优势是什么?**

A2:MCP协议的主要优势在于标准化工具调用接口,提升了兼容性和开发效率,同时支持细粒度权限控制以增强安全性。

**FAQ 3:Astra SL1640与SL1680的主要区别是什么?**

A3:CPU,NPU和MIPI cam等这些性能上的差异。

**FAQ 4:MCP是否支持跨平台使用?**

A4:是的,MCP协议设计为跨平台兼容,可以在不同操作系统和设备上运行。

**FAQ 5:如何确保MCP Server的稳定运行?**

A5:按照官方文档配置环境,定期更新依赖库,并进行充分的测试。

**FAQ 6:如何调试MCP Server?**

A6:可以使用MCP Inspector工具,通过浏览器连接MCP地址,查看工具列表并测试其功能。

**FAQ 7:是否可以在其他硬件平台上实现MCP协议?**

A7:可以,但是python调用的包不通用,要找到平台提供的python包。

本篇作者-诠鼎集团-声波电波就看今朝

更多资讯可点击此处前往**大联大微博**中查看,感谢支持!

相关推荐
夕除2 小时前
Redis 过期策略
redis·笔记·面试
前端精髓3 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣3 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
Nuanyt4 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌4 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_967987374 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
叼烟扛炮5 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip
叼烟扛炮6 小时前
Linux 学习笔记(四十三):网络编程进阶——自定义协议解决 TCP 粘包与守护进程
linux·开发语言·网络·笔记·tcp/ip
songyuc6 小时前
【Manskill3】TableSceneBuilder学习笔记
pytorch·笔记·学习
专注仿真7 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法