ollama 大模型部署
Ollama是一个集成了多种大型语言模型的工具,它支持模型的部署、运行以及API的整合和调用。Ollama为不同操作系统的用户提供了便捷的安装方式,并具备丰富的命令行界面(CLI)和API接口,使得用户可以轻松地管理和运行大型模型。
一、安装
Ollama的安装方式因操作系统而异,以下是主要操作系统的安装步骤:
macOS
安装Homebrew(如果尚未安装):
- 打开终端,输入以下命令安装Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 打开终端,输入以下命令安装Homebrew:
安装Ollama:
- 在终端中输入
brew install ollama
命令进行安装。
- 在终端中输入
验证安装:
- 安装完成后,可以通过输入
ollama --version
来验证Ollama是否安装成功。
- 安装完成后,可以通过输入
Windows
下载安装包:
- 访问Ollama的官方网站,下载适用于Windows的安装包。
运行安装包:
- 双击下载的安装包,按照提示完成安装。默认安装路径通常为
C:\Users\{你的电脑账户名}\AppData\Local\Programs\Ollama
。
- 双击下载的安装包,按照提示完成安装。默认安装路径通常为
配置环境变量(如遇到ollama命令无法使用的情况):
- 控制面板 → 系统 → 高级系统设置 → 环境变量 → 在系统变量中找到Path → 编辑 → 新建,添加Ollama的安装路径。
验证安装:
- 打开命令提示符,输入
ollama --version
来验证安装是否成功。
- 打开命令提示符,输入
Linux
更新包列表(以Debian/Ubuntu为例):
- 打开终端,输入
sudo apt-get update
命令。
- 打开终端,输入
安装Ollama:
- 输入
curl -fsSL https://ollama.com/install.sh | sh
命令进行安装
- 输入
- 验证安装:
- 输入
ollama --version
来验证安装是否成功。
- 输入
二、启动
Ollama的启动可以通过命令行完成,使用ollama serve
或其别名serve
、start
命令即可启动Ollama服务。Ollama将自动处理模型的加载和配置,无需用户手动干预。
也可以通过sudo systemctl start ollama
, 具体的启动service
# /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
三、常用命令
Ollama提供了丰富的命令行工具,以下是一些常用命令:
- 启动Ollama服务:
ollama serve
- 从模型文件创建模型:
ollama create [模型名称] -f [模型文件路径]
- 显示模型信息:
ollama show [模型名称]
- 运行模型:
ollama run [模型名称] [输入文本]
- 从注册表中拉取模型:
ollama pull [模型名称]
- 将模型推送到注册表:
ollama push [模型名称]
- 列出所有模型:
ollama list
- 复制模型:
ollama cp [源模型名称] [目标模型名称]
- 删除模型:
ollama rm [模型名称]
- 获取帮助信息:
ollama help
特别的,可以通过ollama ps
查看模型运行负载情况
ollama ps
NAME ID SIZE PROCESSOR UNTIL
llama3:70b bcfb190ca3a7 42 GB 100% GPU 4 minutes from now
可以通过ollama run qwen2:70b
来下载模型和启动CLI
模型默认在
- macOS: ~/.ollama/models
- Linux: /usr/share/ollama/.ollama/models
- Windows: C:\Users\%username%.ollama\models
四、接口API使用
ollama run模型后会启动一个http服务: localhost:11434
,可以通过prompt和chat方式和大模型进行交互
curl http://localhost:11434/api/generate -d '{
"model": "qwen2:70b",
"prompt":"Why is the sky blue?"
}'
curl http://localhost:11434/api/chat -d '{
"model": "llama3.1",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}
ollama也提供了openai式的接口
from openai import OpenAI
client = OpenAI(
base_url='http://localhost:11434/v1/',
# required but ignored
api_key='ollama',
)
chat_completion = client.chat.completions.create(
messages=[
{
'role': 'user',
'content': 'Say this is a test',
}
],
model='llama3',
)
response = client.chat.completions.create(
model="llava",
messages=[
{
"role": "user",
"content": [
{
"type": "text", "text": "What's in this image?"},
{
"type": "image_url",
"image_url": "",
},
],
}
],
max_tokens=300,
)
completion = client.completions.create(
model="llama3",
prompt="Say this is a test",
)
list_completion = client.models.list()
model = client.models.retrieve("llama3")
embeddings = client.embeddings.create(
model="all-minilm",
input=["why is the sky blue?", "why is the grass green?"],
)
五、支持模型
ollama支持绝大多数开源大模型和一些多模态模型
更全的参考