返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

部署Ollama后端引擎运行LLM

[复制链接]
链载Ai 显示全部楼层 发表于 前天 17:32 |阅读模式 打印 上一主题 下一主题

自己使用ollama部署大模型的一些笔记

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.5em 1em;color: rgb(63, 63, 63);text-shadow: rgba(0, 0, 0, 0.1) 2px 2px 4px;">1、linux 安装 Ollama 部署框架

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">1.1、初次安装

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">Ollama官网

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">命令行安装国内网络卡顿,仓库直接下载 tgz 文件,超级管理员解压安装。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;">curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudotar -C /usr -xzf ollama-linux-amd64.tgz # 0.3.14

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0.3em 1em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 6px;">1.2、Ollama 安装验证

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">安装完成后,终端输入:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;">ollamaserve

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">另起一个新的终端,输入:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-feature-settings: normal;font-variation-settings: normal;font-size: 14px;margin: 10px 8px;color: rgb(201, 209, 217);background: rgb(13, 17, 23);text-align: left;line-height: 1.5;overflow-x: auto;border-radius: 8px;box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 10px inset;padding: 0px !important;">ollama-v#0.3.14

或者进入终端输出的端口(local:11434),即可验证 Ollama 服务是否启动成功,终端验证会输出版本号。

1.3、注册为启动服务后台运行

执行命令注册为后台服务。

注册服务

sudouseradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudousermod -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

启动服务

sudosystemctl daemon-reload
sudosystemctlenableollama
sudosystemctl restart ollama

服务地址端口默认为 11434,浏览器访问该端口即可看到服务运行信息。

停止服务

sudosystemctlstopollama

1.4、更新版本(0.3.14-->0.4.1)

首先删除旧文件

sudorm-rf/usr/lib/ollama

下载新版本tgz文件,执行命令解压,之后重启服务即可。

1.5、将 Ollama 模型移动到自定义位置并更新配置

步骤 1: 创建目标文件夹

首先,在 desired location(例如/home/abc/ollama-models)创建一个文件夹来存放模型。

sudomkdir-p/home/abc/ollama-models

步骤 2: 设置文件夹权限

确保该文件夹有适当的权限,这里设置为775。

sudochmod-R775/home/abc/ollama-models

步骤 3: 移动现有模型

将 Ollama 默认存放的模型移动到新创建的文件夹。Ollama 的默认模型路径是/usr/share/ollama/.ollama/models

sudomv/usr/share/ollama/.ollama/models/\*/home/abc/ollama-models

步骤 4: 更新 Ollama 配置

修改 Ollama 的系统服务配置,使其指向新的模型路径。

  1. 1.
    sudonano/etc/systemd/system/ollama.service
  2. 2. 在文件中添加或修改Environment参数,指定新的模型路径:
    Environment\="OLLAMA\_MODELS\=/home/abc/ollama-models"
    确保这一行存在于[Service]部分。

步骤 5: 重新加载 systemd 配置

为了使更改生效,需要重新加载 systemd 的配置并重启 Ollama 服务。

2、运行 LLM 模型

官方支持的开源模型较多,运行模型的方式如下:

2.1、直接到官方模型库复制对应模型的运行命令,即可从官方 pull 到该模型运行。

以 llama3.2 3B 为例子:

ollamarunllama3.2

之后即可在终端和大模型进行交互。

2.2、加载gguf格式的权重文件进行运行。(已测试成功:qwen2.5-1.5b)

创建一个名称为:Modelfile 无扩展名的文件,文件内容用FROM指令指向模型地址,例如:

FROM./vicuna-33b.Q4_0.gguf

之后运行创建即可,这里模型名称为”example“

ollamacreateexample-fModelfile

2.3、加载safetensors格式模型运行(实测Ollama部署Qwen2-coder-1.5B)

实测Ollama部署Qwen2-coder-1.5B

下载safetensors格式的数据

国内网络使用modelscope快速下载,下载的数据保存在文件夹

#模型下载
frommodelscopeimportsnapshot_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,成功。转换命令如下:

ollamacreate--quantizeq4_K_Mllama3.2

3、其他指令

3.1、删除模型

ollamarmllama3.2

3.2、复制模型

ollamacpllama3.2my-model-name

3.3、多模态模型测试

ollama run llava"What's in this image? /Users/jmorgan/Desktop/smile.png"
The image features a yellow smiley face,whichis likely the central focus of the picture.

3.4、查看模型信息

ollamashowllama3.2

3.4、查看已安装模型

ollamalist

3.5、查看正在运行的模型

ollamaps

3.6、停止正在运行的模型

ollamastopllama3.2

3.7、常驻显存(不生效)

curlhttp://localhost:11434/api/embed-d'{"model":"modelname","keep_alive":-1}'#-1可以为时间,秒数

4、API 相关

Ollama 有一个用于运行和管理模型的 REST API。

4.1、请求一个响应

curl http://localhost:11434/api/generate -d'{
"model": "llama3.2",
"prompt":"Why is the sky blue?"
}'

4.2、和模型聊天

curl http://localhost:11434/api/chat -d'{
"model": "llama3.2",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}

详细细节可见:官方 API 文档。

4.3、python测试脚本

# 基于Ollama的python调用
importollama
importrequests

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)

5、设置并发响应

在配置文件中添加相关参数设置并发,命令如下:

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端输入长时间请求无响应,显存中未加载模型,暂时只能重启服务解决。

sudosystemctlrestartollama




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ