查看原文
其他

ollama 使用技巧集锦

alitrack alitrack 2024-04-12

模型所在磁盘空间不足了怎么办?

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,效果还可以吧?

翻译效果


继续滑动看下一个
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存