Ollama是一款开源工具,它允许用户在本地便捷地运行多种大型开源模型,包括清华大学的ChatGLM、阿里的千问以及Meta的llama等。目前,Ollama兼容macOS、Linux和Windows三大主流操作系统。本文将介绍如何通过Docker安装Ollama,并将其部署以使用本地大模型,同时接入one-api,以便通过API接口轻松调用所需的大规模语言模型。
硬件配置
由于大模型对硬件配置要求非常高,所以机器的配置越高越好,有独立显卡更佳,建议内存32G起步。博主是在一台独立服务器上部署,服务器配置如下:
-
CPU:E5-2696 v2
-
RAM:64G
-
硬盘:512G SSD
-
显卡:无
备注:我的独立服务器没有显卡,所以只能用CPU来跑。
Docker安装Ollama
Ollama现在已经支持Docker安装,极大的简化了服务器用户部署难度,这里我们使用docker compose工具来运行Ollama,先新建一个docker-compose.yaml
,内容如下:
version: '3' services: ollama: image: ollama/ollama container_name: ollama ports: - "11434:11434" volumes: - ./data:/root/.ollama restart: always
然后输入命令docker compose up -d
或者docker-compose up -d
运行,运行后访问:http://IP:11434
,看到提示Ollama is running
就说明成功了,如下图:
99464807c614b7a2.png
如果您的机器支持GPU,可添加GPU参数支持,参考:https://hub.docker.com/r/ollama/ollama
使用Ollama部署大模型
Ollama安装完毕后,还需要继续下载大模型,支持的大模型可以在Ollama官网找到:https://ollama.com/library。Ollama默认没有提供WEB界面,需要通过命令行来使用,先输入命令进入容器:
docker exec -it ollama /bin/bash
进入容器后,去上面官网找到你想要下载的大模型,比如我们下载一个阿里千问2的模型,命令如下:
ollama run qwen2
模型下载并运行完毕后可以通过命令行方式进行对话,如下图:
Ollama常用命令
以下是Ollama一些常用命令:
-
运行一个指定大模型:
ollama run llama3:8b-text
-
查看本地大模型列表:
ollama list
-
查看运行中的大模型:
ollama ps
-
删除本地指定大模型:
ollama rm llama3:8b-text
提示:更多命令也可以输入
ollama -h
进行查看。
大模型体验
目前xiaoz下载了llama2/qwen2/glm4/llama3/phi3
大模型进行了简单的使用体验,得出一个可能不太严谨和准确的使用感受:
-
llama
模型对中文支持不友好(可以理解,毕竟时国外大模型) -
phi3:3.8b
微软推出的小模型,支持多语言,实测3.8b
比较弱智,可能是模型参数太少了,不知道提高到14b
会不会好一些 -
glm4/qwen2
对中文支持比较友好 -
模型参数越小越弱智,从
7b
及以上开始基本可以正常理解和对话,更小的模型就经常犯错了 -
我上述配置,纯CPU来跑
7b
模型,速度稍微有点慢
将Ollama接入one-api
one-api是一个开源AI中间件服务,可以聚合各家大模型API,比如OpenAI、ChatGLM、文心一言等,聚合后提供统一的OpenAI调用方法。举个例子:ChatGLM和文心一言的API调用方法并不相同,one-api可以对其进行整合,然后提供一个统一的OpenAI调用方法,调用时只需要改变模型名称即可,从而消除接口差异和降低开发难度。
one-api具体安装方法请参考官方项目地址:https://github.com/songquanpeng/one-api
通过one-api后台 >> 渠道 >> 添加一个新的渠道。
-
类型:Ollama
-
渠道API地址:填写Ollama WEB地址,比如
http://IP:11434
-
模型:你在Ollama上已经下载好的本地大模型名称
-
密钥:这个是必填项,由于Ollama默认不支持鉴权访问,所以这里随便填写即可
如下图:
接入后,我们可以请求one-api然后传递具体的模型名称进行调用测试,命令如下:
curl https://ai.xxx.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-xxx" \ -d '{ "model": "qwen2", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Hello!" } ] }'
-
ai.xxx.com
改成你one-api的域名 -
sk-xxx
填写你在one-api创建的令牌
如果调用成功,则说明已经成功将Ollama接入到one-api。
遇到的问题
博主尝试使用stream的方式调用one-api Ollama时,返回空白,通过issues发现是one-api BUG导致,目前降级one-api版本为0.6.6
解决,期待作者后续修复这个问题。
安全风险
由于Ollama本身没有提供鉴权访问机制,所以Ollama部署到服务器上存在安全隐患,知道你IP和端口的用户都可以进行API调用,非常不安全,生产环境我们大致可通过下面的一些方法来提高安全性。
方法一:Linux内置防火墙
-
Docker部署Ollama时改为HOST网络
-
通过Linux内置防火墙限制只能指定IP访问11434端口
方法二:Nginx反向代理
-
Docker部署Ollama时,映射IP改为
127.0.0.1
-
然后本机的Nginx反向代理
127.0.0.1:11434
,并在nginx上设置黑名单(deny)和白名单(allow)IP
结语
Ollama作为一款开源工具,为用户提供了便捷的本地大模型部署和调用方式,其卓越的兼容性和灵活性使得在多种操作系统上运行大规模语言模型变得更加简易。通过Docker的安装与部署,用户可以快速上手并灵活使用各类大型模型,为开发和研究提供了强有力的支持。然而,由于Ollama缺乏内置的鉴权访问机制,用户在生产环境中应采取适当的安全措施,以防止潜在的访问风险。总的来说,Ollama在推动本地AI模型的应用和开发中,具备了极大的实用价值,未来若能完善鉴权机制,将无疑成为AI开发者的得力助手。
AI大模型学习路线
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享**
一、2025最新大模型学习路线
一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1级别:AI大模型时代的华丽登场
L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。
L2级别:AI大模型RAG应用开发工程
L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3级别:大模型Agent应用架构进阶实践
L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。
L4级别:大模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。
二、大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
三、大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
四、大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
五、大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取