ollama 使用技巧集锦
模型所在磁盘空间不足了怎么办?
Windows
Windows 下Ollama 默认使用系统盘(一般为C盘)来存放模型文件,
模型文件普遍又比较大,有没有办法移动别的盘?
先来看看帮助信息,
ollama.exe serve --help
返回
Start ollama
Usage:
ollama serve [flags]
Aliases:
serve, start
Flags:
-h, --help help for serve
Environment Variables:
OLLAMA_HOST The host:port to bind to (default "127.0.0.1:11434")
OLLAMA_ORIGINS A comma separated list of allowed origins.
OLLAMA_MODELS The path to the models directory (default is "~/.ollama/models")
OLLAMA_KEEP_ALIVE The duration that models stay loaded in memory (default is "5m")
从帮助文件可以看,我们通过设置环境变量(OLLAMA_MODELS)来指定模型目录,可以通过系统设置里来配置环境变量(系统变量或者用户变量)
也可以通过命令行来配置
set OLLAMA_MODELS=d:\ollama
Linux 和mac下
默认地址是~/.ollama/models
, 如果想移到别的目录,
同样是设置环境变量OLLAMA_MODELS
export OLLAMA_MODELS=/data/ollama
导出某个模型
这里以qwen:7b
为例,先查看模型信息,
ollama show --modelfile qwen:7b
返回
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this one, replace the FROM line with:
# FROM qwen:7b
FROM /Users/m2max/.ollama/models/blobs/sha256-87f26aae09c7f052de93ff98a2282f05822cc6de4af1a2a159c5bd1acbd10ec4
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"
从模型文件信息里得知 /Users/m2max/.ollama/models/blobs/sha256-46bb65206e0e2b00424f33985a5281bd21070617ebcfda9be86eb17e6e00f793
即为我们想要的qwen:7b
(格式为gguf),导出代码为
cp /Users/m2max/.ollama/models/blobs/sha256-46bb65206e0e2b00424f33985a5281bd21070617ebcfda9be86eb17e6e00f793 qwen_7b.gguf
Windows下 运行
ollama.exe show --modelfile qwen:7b
返回
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this one, replace the FROM line with:
# FROM qwen:7b
FROM C:\Users\steven\.ollama\models\blobs\sha256-87f26aae09c7f052de93ff98a2282f05822cc6de4af1a2a159c5bd1acbd10ec4
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
PARAMETER stop "<|im_start|>"
PARAMETER stop "\"<|im_end|>\""
导出代码为
copy C:\Users\steven\.ollama\models\blobs\sha256-87f26aae09c7f052de93ff98a2282f05822cc6de4af1a2a159c5bd1acbd10ec4 qwen_7b.gguf
如何导入模型
如何下载网上的某个模型
可以从hugggingface.co 或者镜像网站hf-mirror.com 下载所需gguf格式的大模型(不然得自己转) 假设我们要下载的是这两天大火的斯坦福的模型Octopus-v2
, 搜Octopus-v2,找有GGUF标识的,
比如我们选择个链接 https://hf-mirror.com/brittlewis12/Octopus-v2-GGUF/tree/main 下载octopus-v2.Q8_0.gguf
如何导入模型
需要准备Modelfile文件
From /path/to/qwen_7b.gguf
上面是最简单的办法 当然可以从上面模型信息生成完成版本的Modelfile
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this one, replace the FROM line with:
# FROM qwen:7b
FROM /path/to/qwen_7b.gguf
TEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
PARAMETER stop "<|im_start|>"
PARAMETER stop "\"<|im_end|>\""
记得替换你的模型的完整路径 另外不同模型的template 和 stop parameter不同,这个不知道就不写,或者网上搜索 然后执行
ollama create qwen:7b -f Modelfile
导入模型的时候,确保硬盘可用空间在模型大小的2倍以上,
transferring model data 复制一个完整的模型
creating model layer 生成一个新的模型文件,和原来模型大小一样, 结束后会删除掉?生成一个很小的layer文件
第三方应用如何访问ollama
ollama提供了OpenAI的兼容API 这里以沉浸式翻译为例 需要设置环境变量 OLLAMA_ORIGINS 接受的设置为
'*' 或者包括 http://,https://,chrome-extension://,safari-extension://,moz-extension://,ms-browser-extension://
使用*, 意味着任何应用都可以访问ollama,如果你没有特别的要求,可以考虑用它。
OLLAMA_ORIGINS=*
试试,我用的qwen:14b
,效果还可以吧?