Bui~ 书接上回,我们在本地电脑上成功部署了AI大模型。 这一篇将用synaptics Astra平台的SL1680来做例子,带大家了解如何让边缘设备接入大模型,实现更广泛的AI应用。 首先,我们需要理解边缘云计算的架构。简单来说,就是在靠近设备的地方部署一个大模型推理服务器,通过有线或无线网络将设备端的数据传输到服务器进行推理处理,然后将结果返回给设备端。这种方式可以充分利用算力资源,避免每个设备都需要额外添加推理芯片,从而节省成本;同时还能扩展边缘设备的AI推理能力,增加业务场景;此外,数据无需上传到远程服务器,能够更好地保护数据隐私。
接下来,我们将通过Ollama的网络API,在局域网内实现其他设备调用并运行大模型的功能。以下是具体步骤:
第一步:设置环境变量 首先需要设置Ollama的主机地址。默认情况下,Ollama仅允许本地执行。为了让局域网内的其他设备能够访问服务器,需要设置环境变量。IP地址为服务器的IP,端口号可以自定义,这里使用默认的11434端口
export OLLAMA_HOST=10.86.130.13:11434
第二步:启动服务 在服务器上运行以下命令启动Ollama服务
ollama serve
第三步:测试连通性 在其他设备上,通过访问服务器地址加上API路径,可以测试连通性。例如,获取服务器的Ollama版本号
PC:
设备端(astra linux):
curl http://10.86.130.13:11434/api/version
第四步:编写设备的端的程序,通过API去调用服务器来推理,api有很多种调用方式和格式,可以参考官方解释文档https://github.com/ollama/ollama/blob/main/docs/api.md 小编也上传了基于synaptics Astra平台的应用程序代码,供大家参考。
使用的API是用json的格式,处理网络库还需要用到json的解析库
设置输入参数 可以指定模型类型、API路径、问题输入以及图片输入(图片输入需要模型支持多模态功能)
示例1:提问 通过API向大模型提问,获取答案
示例2:识别本地图片内容 让大模型识别本地图片的内容,并返回结果。
以上是基于Astra平台使用边缘服务器的一个简单示例。当然,功能远不止于此。Astra平台自带一定的算力,可以在本地过滤掉大部分无关信息,仅将关键信息传输到服务器处理。这种方式不仅降低了响应时间,还提高了识别的准确性。更多功能等待大家去探索和开发!
以上是本期博文的全部内容,如有疑问请在博文下方评论留言,我会尽快解答(o´ω`o)و。谢谢大家浏览,我们下期再见。
简单是长期努力的结果,而不是起点
—— 不是我说的
FAQ 1:Ollama支持哪些模型?
A1:Ollama支持多种AI大模型,具体可以参考其官方文档。或上一篇介绍博文
FAQ 2:Astra平台的算力如何?
A2:Astra平台目前用SL1680 ~8TOPS算力,SL1640 ~1.6TOPS算力
FAQ 3:API调用是否复杂?
A3:Ollama的API设计相对简单,支持多种调用方式,适合不同开发需求。
FAQ 4:如何获取更多示例代码?
A4: 可以访问Ollama的官方文档或博文下方提供的代码资源,获取更多示例和指导。
FAQ 5:边缘云计算的服务器一定要电脑吗?
A5: 这里的服务器不一定是PC,可以是大的服务器柜,也可以是高算力边缘盒子