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 小时前
C++笔记-21-运算符重载
c++·笔记
波诺波2 小时前
环境管理器
linux·前端·python
草莓熊Lotso2 小时前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
诸葛思颖2 小时前
把本地 Python 项目用 Git 进行版本控制并推送到 GitHub
git·python·github
测试老哥2 小时前
自动化测试用例的编写和管理
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
周杰伦_Jay2 小时前
【Python Web开源框架】Django/Flask/FastAPI/Tornado/Pyramid
前端·python·开源
周杰伦_Jay2 小时前
【Python后端API开发对比】FastAPI、主流框架Flask、Django REST Framework(DRF)及高性能框架Tornado
数据结构·人工智能·python·django·flask·fastapi·tornado
yuxb732 小时前
Zabbix企业级分布式监控系统(下)
笔记·zabbix
im_AMBER2 小时前
算法笔记 10
笔记·学习·算法·leetcode