自己使用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.14ingFang 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;">ollamaserveingFang 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.
sudonano/etc/systemd/system/ollama.service - 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
|