模型所在磁盘空间不足了怎么办?
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=*
沉浸式翻译配置ollama API 试试,我用的qwen:14b,效果还可以吧?
翻译效果