AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署

简介: AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署

一.引言

身处2024年,大模型技术从底层模型到AI应用都卷的要命,我们可以说是幸运的,也可以是幸福的,当然,学习的路上,不停的追赶,必定是疲惫的。分享一些丝滑的大模型技术栈内的项目,让大家疲惫并快乐着。

今天要讲的是一个大模型推理服务框架-Ollama,对比的还有Xinference、OpenLLM、LocalAI,从丝滑角度而言(这里特别强调一下,我所讲的丝滑,指的是众所周知的网络环境下,学习、部署、应用等环节,坑最少,最易上手),Ollama>=Xinference>LocalAI>OpenLLM。今天重点将Ollama,其他框架另起篇幅。

二.一行代码完成Ollama本地部署

这里由衷推荐docker部署,一行代码搞定

docker run -d --gpus=all -v /yourworkspaces/Ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

docker参数:

-d:后台运行

--gpus=all:使用所有的gpu

-v /xxx/ollama:/root/.ollama:-v是目录挂载参数,“:”前后指将container目录/root/.ollama挂载至本地目录/xxx/ollama上

-p 11434:11434:-p是端口映射参数,“:”前指宿主机对外端口,“:”后指container服务端口

--name:container启动后的名称,启动后docker stop,docker restart均要接这个名称,如果未制定随机生成一个

ollama/ollama:docker hub库中发行商及项目,实际地址为https://hub.docker.com/r/ollama/ollama

执行docker命令后,会从docker hub库中pull镜像,大约30秒左右完成container部署

docker ps查看container状态:

CONTAINER ID:随机生成的容器ID

IMAGE:container启动依赖的镜像,这里是ollama/ollama

COMMAND:container启动后自动执行的命令,这里是/bin/ollama serve

CREATED:启动时间

STATUS:服务了多长时间

PORTS:端口映射,0:0:0:0:11434指container内端口,11434/tcp指宿主机端口

浏览器输入宿主机ip比如123.123.123.123:11434,页面出现如下提示即为启动成功。

三.一行代码使用Ollama部署大语言模型推理服务

还是一行代码,比如部署mistral

docker exec -it ollama ollama run mistral

仅需要大概1分钟,ollama会从自己的库中将模型pull至本地,万兆网卡下达100MB/s,跟modelscope速度相当。

四.推理服务测试

1.终端命令行运行

如图,直接对话即可

2.curl运行

generate补全:

curl http://123.123.123.123:11434/api/generate -d '{  "model": "mistral",  "prompt":"who are you?","stream":false}'

返回结果:

chat对话:

curl http://123.123.123.123:11434/api/chat -d '{  "model": "mistral",  "messages": [    { "role": "user", "content": "why is the sky blue?" }  ],"stream":false}'

返回结果:

3.dify平台:模型供应商添加Ollama

支持的模型:GitHub - ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models.

五.总结

由于现实工作较忙,只能抽下班时间将工作中实操过的内容进行简要记录,首先是作为个人笔记怕过一段时间忘记,其次是以输出强化输入的学习方法将知识分享给大家的同时强化自己的理解,本文有3个地方由于时间关系放到后面的文章详细说明。

1、通过Ollama部署自定义模型;

2、关于docker:我认为这是学习大模型技术必备的工具,开源项目层出不穷,对于自己愿意深入了解的可以用conda+pip的方式逐步安装,对于工具型的框架,如果只是为了拓宽知识广度,最高效的方式还是通过docker或者docker compose先跑起来。后面会用更多的篇幅介绍docker;

3、 dify平台:一个开源的AI原生应用开发平台,大幅提升AI智能体开发效率,与FastGPT类似,但感觉要比FastGPT好用得多

目录
相关文章
|
1天前
|
人工智能 JSON 数据格式
RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
【9月更文挑战第6天】RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
|
3天前
|
人工智能 算法 自动驾驶
用AI自动设计智能体,数学提分25.9%,远超手工设计
【9月更文挑战第18天】《智能体自动设计(ADAS)》是由不列颠哥伦比亚大学等机构的研究者们发布的一篇关于自动化设计智能体系统的最新论文。研究中提出了一种创新算法——“Meta Agent Search”,此算法通过迭代生成并优化智能体设计,从而实现更高效的智能体系统构建。实验表明,相比人工设计的智能体,Meta Agent Search生成的智能体在多个领域均有显著的性能提升。然而,该方法也面临着实际应用中的有效性与鲁棒性等挑战。论文详细内容及实验结果可于以下链接查阅:https://arxiv.org/pdf/2408.08435。
31 12
|
12天前
|
人工智能 开发框架 搜索推荐
移动应用开发的未来:跨平台框架与AI的融合
在移动互联网飞速发展的今天,移动应用开发已成为技术革新的前沿阵地。本文将探讨跨平台框架的兴起,以及人工智能技术如何与移动应用开发相结合,从而引领行业走向更加智能化、高效化的未来。文章通过分析当前流行的跨平台开发工具和AI技术的应用实例,为读者提供对未来移动应用开发的独到见解和预测。
31 3
|
12天前
|
人工智能 Linux iOS开发
AI超强语音转文本SenseVoice,本地化部署教程!
【9月更文挑战第7天】以下是AI超强语音转文本工具SenseVoice的本地化部署教程:首先确保服务器或计算机满足硬件和软件要求,包括处理器性能、内存及操作系统等。接着从官网下载适合的安装包,并按操作系统进行安装。配置音频输入设备和语言模型后,启动SenseVoice并测试其语音转文本功能。最后根据实际使用情况进行优化调整,并定期更新以获取最新功能。详细步骤需参照官方文档。
|
13天前
|
机器学习/深度学习 人工智能 测试技术
AI计算机视觉笔记二十五:ResNet50训练部署教程
该项目旨在训练ResNet50模型并将其部署到RK3568开发板上。首先介绍了ResNet50网络,该网络由何恺明等人于2015年提出,解决了传统卷积神经网络中的退化问题。项目使用车辆分类数据集进行训练,并提供了数据集下载链接。环境搭建部分详细描述了虚拟环境的创建和所需库的安装。训练过程中,通过`train.py`脚本进行了15轮训练,并可视化了训练和测试结果。最后,项目提供了将模型转换为ONNX和PT格式的方法,以便在RK3568上部署。
|
17天前
|
人工智能 JSON 自然语言处理
你的Agent稳定吗?——基于大模型的AI工程实践思考
本文总结了作者在盒马智能客服的落地场景下的一些思考,从工程的角度阐述对Agent应用重要的稳定性因素和一些解法。
|
18天前
|
弹性计算 自然语言处理 API
如何速成RAG+Agent框架大模型应用搭建
本文侧重于能力总结和实操搭建部分,从大模型应用的多个原子能力实现出发,到最终串联搭建一个RAG+Agent架构的大模型应用。
|
11天前
|
存储 机器学习/深度学习 人工智能
深入浅出 AI 智能体(AI Agent)|技术干货
随着人工智能技术的发展,智能体(AI Agents)逐渐成为人与大模型交互的主要方式。智能体能执行任务、解决问题,并提供个性化服务。其关键组成部分包括规划、记忆和工具使用,使交互更加高效、自然。智能体的应用涵盖专业领域问答、资讯整理、角色扮演等场景,极大地提升了用户体验与工作效率。借助智能体开发平台,用户可以轻松打造定制化AI应用,推动AI技术在各领域的广泛应用与深度融合。
136 0
|
12天前
|
人工智能 开发框架 前端开发
移动应用开发的未来:探索跨平台框架与AI的融合
随着智能手机的普及和移动技术的飞速发展,移动应用已成为我们日常生活的一部分。本文将探讨移动应用开发的最新趋势,特别是跨平台开发框架的兴起和人工智能技术的结合如何塑造未来移动应用的发展方向。我们将从React Native和Flutter等流行框架谈起,分析它们如何简化开发流程、降低成本并提高应用性能。同时,本文也将深入讨论人工智能如何在用户体验、安全性和个性化服务方面为移动应用带来革命性的变化。最后,我们将展望未来移动应用开发的新机遇和挑战。
21 0
|
13天前
|
机器学习/深度学习 人工智能 计算机视觉
AI计算机视觉笔记二十三:PP-Humanseg训练及onnxruntime部署
本文介绍了如何训练并使用PaddleSeg的人像分割模型PP-HumanSeg,将其导出为ONNX格式,并使用onnxruntime进行部署。首先在AutoDL服务器上搭建环境并安装所需库,接着下载数据与模型,完成模型训练、评估和预测。最后,通过paddle2onnx工具将模型转换为ONNX格式,并编写预测脚本验证转换后的模型效果。此过程适用于希望在不同平台上部署人像分割应用的开发者。