微信扫码
添加专属顾问
我要投稿
掌握Ollama部署框架,高效运行大型语言模型。 核心内容: 1. Linux系统下Ollama的安装与验证步骤 2. 将Ollama注册为后台服务的方法 3. Ollama服务更新版本的操作流程
Ollama 官网
命令行安装国内网络卡顿,仓库直接下载 tgz 文件,超级管理员解压安装。
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz # 0.3.14
安装完成后,终端输入:
ollama serve
另起一个新的终端,输入:
ollama -v # 0.3.14
或者进入终端输出的端口(local:11434),即可验证 Ollama 服务是否启动成功,终端验证会输出版本号。
执行命令注册为后台服务。
注册服务
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
写入文件
/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
Environment="PATH=$PATH"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_NUM_PARALLEL=8"#并行处理请求的数量
Environment="OLLAMA_KEEP_ALIVE=5m"#内存保持时间
Environment="OLLAMA_MAX_LOADED_MODELS=4"#最大并发模型数量
Environment="OLLAMA_MODELS=/data/ollama/models"
[Install]
WantedBy=default.target
启动服务
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl restart ollama
服务地址端口默认为 11434,浏览器访问该端口即可看到服务运行信息。
停止服务
sudo systemctl stop ollama
首先删除旧文件
sudo rm -rf /usr/lib/ollama
下载新版本tgz文件,执行命令解压,之后重启服务即可。
首先,在 desired location(例如 /home/abc/ollama-models
)创建一个文件夹来存放模型。
sudo mkdir -p /home/abc/ollama-models
确保该文件夹有适当的权限,这里设置为775。
sudo chmod -R 775 /home/abc/ollama-models
将 Ollama 默认存放的模型移动到新创建的文件夹。Ollama 的默认模型路径是 /usr/share/ollama/.ollama/models
。
sudo mv /usr/share/ollama/.ollama/models/\* /home/abc/ollama-models
修改 Ollama 的系统服务配置,使其指向新的模型路径。
sudo nano /etc/systemd/system/ollama.service
Environment
参数,指定新的模型路径:Environment\="OLLAMA\_MODELS\=/home/abc/ollama-models"确保这一行存在于
[Service]
部分。为了使更改生效,需要重新加载 systemd 的配置并重启 Ollama 服务。
官方支持的开源模型较多,运行模型的方式如下:
以 llama3.2 3B 为例子:
ollama run llama3.2
之后即可在终端和大模型进行交互。
gguf
格式的权重文件进行运行。(已测试成功:qwen2.5-1.5b)创建一个名称为:Modelfile 无扩展名的文件,文件内容用 FROM
指令指向模型地址,例如:
FROM ./vicuna-33b.Q4_0.gguf
之后运行创建即可,这里模型名称为”example“
ollama create example -f Modelfile
safetensors
格式模型运行( 实测Ollama部署Qwen2-coder-1.5B)实测Ollama部署Qwen2-coder-1.5B
国内网络使用modelscope快速下载,下载的数据保存在文件夹
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen2.5-Coder-1.5B')
按照ollama官方文档创建Modelfile文件:
FROM .cache/modelscope/hub/Qwen/Qwen/Qwen2.5-Coder-1.5B
转换失败,原因未知(提示架构不支持)。0.3.14版本先后尝试多个模型,均不能成功从safetensors加载。
升级0.4.1测试llama3.2:1b,成功。转换命令如下:
ollama create --quantize q4_K_M llama3.2
ollama rm llama3.2
ollama cp llama3.2 my-model-name
ollama run llava "What's in this image? /Users/jmorgan/Desktop/smile.png"
The image features a yellow smiley face, which is likely the central focus of the picture.
ollama show llama3.2
ollama list
ollama ps
ollama stop llama3.2
curl http://localhost:11434/api/embed -d '{"model": "modelname", "keep_alive": -1}' # -1可以为时间,秒数
Ollama 有一个用于运行和管理模型的 REST API。
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt":"Why is the sky blue?"
}'
curl http://localhost:11434/api/chat -d '{
"model": "llama3.2",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}
详细细节可见:官方 API 文档。
# 基于Ollama的python调用
import ollama
import requests
host = "127.0.0.1"
post = "11434"
llm_model = "codellama"
url = f"http://{host}:{post}/api/chat"
# message = [
# {
# "role": "user",
# "content": "hi"
# }
# ]
# options = {"temperature": 0}
# client = ollama.Client(host=url)
# res = client.chat(model=llm_model, messages=message, options=options)
# print(res)
#方式2:
headers = {"Content-Type": "application/json"}
data = { "model": llm_model, #模型选择
"options": { "temperature": 0.#为0表示不让模型自由发挥,输出结果相对较固定,>0的话,输出的结果会比较放飞自我
},
"stream": False, #流式输出
"messages": [{ "role": "system", "content":"你能够将图片作为输入吗?" }] #对话列表
}
response=requests.post(url,json=data,headers=headers,timeout=60)
res=response.json()
print(res)
在配置文件中添加相关参数设置并发,命令如下:
sudo nano ollama.service
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl restart ollama
更新后,内容为:
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_NUM_PARALLEL=8"#并行处理请求的数量
Environment="OLLAMA_KEEP_ALIVE=4h"#内存保持时间
Environment="OLLAMA_MAX_LOADED_MODELS=4"#最大并发模型数量
[Install]
WantedBy=default.target
注:
web端输入长时间请求无响应,显存中未加载模型,暂时只能重启服务解决。
sudo systemctl restart ollama
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-03-17
《大模型微调的十种方法》
2025-03-17
AI Code 在团队开发工作流的融合思考
2025-03-16
使用Ollama部署deepseek大模型
2025-03-16
DeepSeek-R1的Qwen-32B蒸馏模型与QwQ-32B模型,谁更强?
2025-03-16
deepseek-r1:32b在低性能电脑部署运行
2025-03-16
简化 Cursor, Windsurf 和 Cline 的开发流程:揭示 8 个必备的 MCP Server 插件
2025-03-16
部署DeepSeek的4条路,企业级客户到底该咋走?
2025-03-16
内网服务器离线安装部署 DeepSeek
2025-02-04
2025-02-04
2024-09-18
2024-07-11
2024-07-09
2024-07-11
2024-07-26
2025-02-05
2025-01-27
2025-02-01
2025-03-16
2025-03-16
2025-03-13
2025-03-13
2025-03-11
2025-03-07
2025-03-05
2025-03-05