1、简介
Ollama是一个开源的大型语言模型服务工具,它能帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型,如Llama 2。Ollama极大地简化了在Docker容器内部署和管理LLM的过程,使得用户能够快速地在本地运行大型语言模型。
- 功能齐全:Ollama将模型权重、配置和数据捆绑到一个包中,定义成Modelfile。它优化了设置和配置细节,包括GPU使用情况,从而提高了模型运行的效率。
- 轻量级:Ollama的代码简洁明了,运行时占用资源少。这使得它能够在本地高效地运行,不需要大量的计算资源。此外,它还支持热加载模型文件,无需重新启动即可切换不同的模型,这使得它非常灵活多变。
- 易用性:Ollama提供了多种安装方式,支持Mac和Linux平台,并提供了Docker镜像。用户只需按照安装指南进行操作即可完成安装,无需具备专业的技术背景。
2、安装Ollama
Ollama 支持多平台部署,可以在官网,选择适合的平台,下载对应的安装包。
当然也可以选择在项目的 GitHub 的 Releases页面进行下载。
同时,该项目还支持 docker 一键部署,使用Docker通过 docker pull ollama/ollama
命令拉取即可。可以说在部署方面,只需要有比较简单的运维基础就可以在你当下的平台中部署起来。
3、模型库
Ollama 支持在 ollama.com/library 上获取的模型列表,以下是一些可下载的示例模型:
Model |
Parameters |
Size |
Download |
Llama 3 |
8B |
4.7GB |
|
Llama 3 |
70B |
40GB |
|
Mistral |
7B |
4.1GB |
|
Dolphin Phi |
2.7B |
1.6GB |
|
Phi-2 |
2.7B |
1.7GB |
|
Neural Chat |
7B |
4.1GB |
|
Starling |
7B |
4.1GB |
|
Code Llama |
7B |
3.8GB |
|
Llama 2 Uncensored |
7B |
3.8GB |
|
Llama 2 13B |
13B |
7.3GB |
|
Llama 2 70B |
70B |
39GB |
|
Orca Mini |
3B |
1.9GB |
|
LLaVA |
7B |
4.5GB |
|
Gemma |
2B |
1.4GB |
|
Gemma |
7B |
4.8GB |
|
Solar |
10.7B |
6.1GB |
|
注意:运行 7B 模型至少需要 8 GB 的 RAM,运行 13B 模型需要 16 GB,运行 33B 模型需要 32 GB。
4、ollama的库
Ollama主要支持Python和JavaScript两种编程语言的库,分别是ollama-python
和ollama-js
,这两个库将会使ollama使用得更加方便和高效。
1、ollama-pytho
ollama-python库提供一个Python接口来与ollama交互,使得Python开发者可以轻松在自己的项目中集成和运行大模型,使用pip命令安装:pip install ollama-pytho
安装后,可以通过几行简单的代码来运行模型,比如:
import ollama
# 运行模型
response = ollama.run('llama3', 'hello')
print(response)
2、ollama-js
对于JavaScript开发者,ollama-js库同样提供了一个易于使用的接口。可以通过npm或yarn来安装这个库:
npm install ollama-js
# 或者
yarn add ollama-js
安装完成后,可以在Node.js项目中直接调用ollama:
const ollama = require('ollama-js');
// 运行
ollama.run('llama3','hello world!',response=>{
console.log(response);
}
通过这些库,ollama极大简化了不同语言项目使用大模型的过程。
5、Ollama使用
5.1 模型运行
打开CMD命令终端,输入指令ollama run model_name
,model_name为你要运行的模型。若是首次运行某个模型,ollama首先会下载对应的模型文件,然后运行模型。
ollama run llama3
ollama run llama3:70b
ollama run phi
ollama run qwen2
......
这里有个点需要提一下,那就是默认情况下模型存储位置,这对于管理和备份模型至关重要。
- Linux:
/var/lib/ollama/models
- Windows:
C:\Users\<用户名>\.ollama\models
- macOS:
/Library/Application Support/Ollama/models
可以看到Windows中默认路径在C盘,而本地部署下载的模型最小可能都有几个G,如果多下载几个模型,C盘可能就被挤爆了,因此最好在下载模型之前就更改默认存储路径,步骤如下:
- 右键点击“此电脑”或“计算机”,选择“属性”;
- 点击“高级系统设置”,在弹出的窗口中点击“环境变量”按钮;
- 在“系统变量”,点击“新建”来创建一个新的环境变量
- 输入变量名OLLAMA_MODELS和你选择的目录路径(例如D:\OllamaModels);
- 设置完环境变量后,需要重启Ollama以使更改生效。为确保更改生效,建议重启电脑。
5.2 模型管理
ollama 安装之后,与模型交互就是通过命令来进行的。
ollama list
:显示模型列表;ollama show
:显示模型的信息;ollama pull
:拉取模型;此命令也可以用于更新本地模型,只会拉取差异部分。ollama push
:推送模型;ollama cp
:拷贝一个模型;ollama rm
:删除一个模型;ollama run
:运行一个模型;ollama start
启动服务;ollama serve
在不运行桌面应用程序的情况下启动 ollama;ollama models
查看模型列表;ollama model details [模型名称]
获取更详细的模型信息,包括模型的描述、版本、大小等;ollama models
查看模型列表
5.2 模型自定义
ollama不仅支持运行预构建的模型,还提供了灵活的工具来导入和自定义自己的模型,无论是从GGUF、Pytorch或Safetensors格式导入还是进行模型的个性化设置,ollama都能满足需求。
5.2.1 从GGUF导入模型
创建一个名为Modelfile
的文件,并在其中指定要导入的模型路径:
FROM ./yourself-model.gguf
然后,使用下面的命令来创建模型:
ollama create yourself-model -name -f Modelfile
最后,通过运行一下命令来启动模型:
ollama run yourself-model -name
5.2.2 从PyTorch导入模型
- 准备PyTorch模型:确保你有PyTorch格式的模型文件。
- 转换模型:如果需要,使用工具将PyTorch模型转换为Ollama支持的格式。
- 导入模型:按照Ollama的指导,将转换后的模型导入到Ollama中。
5.2.3 从Safetensors导入模型
- 准备Safetensors文件:获取Safetensors格式的模型文件。
- 创建Modelfile:在Ollama中创建一个Modelfile,指定Safetensors文件的路径。
- 导入模型:使用Ollama的命令或界面功能导入Safetensors文件。
5.2.4 自定义提示
此外,还可以通过自定义提示来调整模型的行为。步骤如下:
- 拉取想要定制的模型
ollama pull qwen
- 创建Modelfile,在其中设置参数和系统消息
FROM qwen
# 设置温度参数
PARAMETER temperature 1
# 设置系统消息
SYSTEM """
你是一名教师,以教师的角度分析问题
"""
- 创建并运行定制模型
ollama create myself-llama3 -f Modelfile
ollama run myself-llama3
这样就能按照自己需求定制模型,满足个性化的需求。