Ollama 是一个简化大型语言模型本地部署和操作的工具。它提供了一个轻量和可扩展的框架,让开发人员可以轻松地在本地机器上构建和管理 LLMs。
这个框架非常适合新手,其中包含的调用方法与OpenAI ChatGPT的标准输入输出相同,使其很容易与更高级的问答系统整合。它支持众多大规模模型,允许你只需一条指令即可下载模型文件并启动服务,使用既方便又高效。这篇文章主要介绍如何使用Docker快速部署以启动llama3大规模模型服务。
这里列出了Ollama支持的大模型:
所有模型的完整列表可以在ollama官网查看,网址为ollama官网。
GitHub 的链接:
访问GitHub上的OLLAMA仓库:
https://github.com/ollama/ollama
官方下载链接:
点击这里下载 https://ollama.com/download
通常,服务器运行在Linux操作系统上。因此,本文推荐使用Docker进行部署,以方便隔离系统环境。以下主要讲解如何使用Docker安装Ollama工具的过程并运行大规模的llama3模型。
部署前的准备工作:
安装一下 Docker。
用CPU部署Ollama
docker pull ollama/ollama
拉取 ollama 仓库的 ollama 镜像
2,启动 Ollama 容器
docker run -d -v $PWD/ollama:/root/.ollama -p 11434:11434 \ --name ollama ollama/ollama # 启动OLLAMA并映射端口
参数解释如下:
— name ollama
: 这将容器名称设置为 ollama。-p 11434:11434
: 这将你的服务器上的 11434 端口映射到容器内的 11434 端口。请确保你的服务器上 11434 端口未被占用。$PWD
: 这表示当前目录的绝对路径。-v $PWD/ollama:/root/.ollama
: 将当前服务器路径下的 ollama 目录挂载到容器内的 /root/.ollama 目录。ollama/ollama
: 这指定了你的镜像名。运行此命令以在名为ollama的Docker容器中启动bash shell:(在终端中输入此命令) docker exec -it ollama /bin/bash
4. 启动一下 llama3 模型服务
ollama run llama3 运行 llama3 命令。
模型文件会自动下载,我们会等着下载结束。
用GPU部署Ollama
要如何安装呢?请参考官方链接查看详情。
docker run -d --gpus=all -v $PWD/ollama:/root/.ollama \ -p 11434:11434 --name ollama ollama/ollama
注释:此命令用于在Docker中运行ollama容器。
-d 参数表示容器在后台运行,
--gpus=all 表示使用所有GPU资源,
-v 参数挂载宿主机的ollama目录到容器的/root/.ollama目录,
-p 参数将容器的11434端口映射到宿主机的11434端口,
--name ollama 为容器指定名称ollama,
ollama/ollama 是要运行的Docker镜像名称。
参数说明如下:
— gpus=all
: 挂载所有GPU— name ollama
: 这将容器的名字设为 ollama。-p 11434:11434
: 这会把您服务器上的11434端口映射到容器里的11434端口上。请确保您的服务器上11434端口没有被占用。$PWD
: 这表示当前目录的完整路径。-v $PWD/ollama:/root/.ollama
: 这会将当前服务器路径下的 ollama 目录挂载到容器内的 /root/.ollama 目录。ollama/ollama
: 这指定了您的镜像名称。3. 进入 Ollama 容器.
docker exec -it ollama /bin/bash 。(进入ollama容器的bash shell)
4. 运行 llama3 模型服务(llama3 是一个特定的模型名称)
ollama 运行 llama3
模型文件会自动下载,你只需要等着下载完成就行了。
接下来你可以通过输入命令来运行模型:
ollama run llama3
像这样提问:你是谁呢?然后就可以从llama3模型那里得到回复,比如:
llama3–7B的模型文件大小约为4.3GB。你可以去本地文件夹里查查看。我们的情况是,目录是:“C:\Users\PC\.ollama\models\blobs”。
怎样用大模型llama3
1. 使用 curl 命令行:如下
在浏览器中访问ip:11434,你会发现Ollama服务器正在运行。
使用 curl 调用名为 llama3 的大型模型。
curl http://127.0.0.1:11434/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "llama3", "messages": [ { "role": "system", "content": “你是个乐于助人的助手。” }, { "role": "user", "content": “嘿!你是谁呀?” } ] }'
2. 通过Python代码调用llama3大模型(或llm):
#!/usr/bin/env python # -*- coding: UTF-8 -*- import requests def request_chatgpt_function(): url="http://ip:11434/v1/chat/completions" # 请将 'ip' 替换为您的实际 IP 地址 data={ "model": "llama3", "messages": [ { "role": "system", "content": "你是一个乐于助人的助手。" }, { "role": "user", "content": "你是谁呀?" } ], "temperature":0, "stream":False } response=requests.post(url=url,json=data).json() print(response) return response if __name__ == "__main__": request_chatgpt_function() # 发起请求
简单来说
Ollama 是一个专门用于快速部署和运行像 Llama 3 这样的大型语言模型的工具。用户可以通过简单的命令行界面或其他用户友好的交互方式,在个人电脑上使用这些模型。从业余爱好者到专业开发者,Ollama 都能满足不同用户的需求。通过提供简洁的命令行工具和稳定的服务器端 API,Ollama 不仅简化了大型模型的本地部署流程,还通过多样化的接口和功能扩展使用户体验更加丰富。总的来说,Ollama 是一个强大且灵活的工具,旨在让大型模型的部署和管理更加便捷高效。不妨一试。
谢谢你的阅读。