一、ollama是什么?
在本地启动并运行大型语言模型。运行Llama 3,Mistral, Gemma, Code Llama和其他模型。自定义并创建您自己的。
综合优点:
- 快速下载+容器自动运行大模型,现在下载,马上上手。
- 本地利用 cpu 运行大模型,本地安全可靠。
- ollama 命令,管理大模型相对方便,也可以多个大模型中切换。
- 终端直接开始聊天。
- 社区提供了支持 web api 方式访问 WebUI。
官方网站: Ollama
github : ollama/ollama: Get up and running with Llama 3, Mistral, Gemma, and other large language models. (github.com)
二、准备和安装工作
设备需求和辅助软件:
- Ollama自带docker ,为了方便部署软件。
- 良好的网络环境,大模型还是要先下载下来的。
- 配置要求:一般来说参数越大,需要配置越好。
- 存储空间:确保硬盘空间充足,并且学会设置环境变量来调整保存model的地址,别再下载到C盘了!
model地址和环境变量设置
win10输入path或者环境变量
增加系统环境变量
变量名(不能变):OLLAMA_MODELS
(盘符和地址自主选择,建议先创建好文件夹)D:\Ollama
下载ollama
进入 ollama 下载页面,选择自己的系统版本的下载并安装即可。
检验是否安装成功
输入 ollama 命令,正常的得出命令行输出,表示已经安装成功,下面有 ollama 的常用命令:
bash
ollama
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
三、ollama 模型库
详见library (ollama.com),用于搜索已收录的模型库。以下是一些流行的模型:
模型 | 参数 | 尺寸 | 执行下载 |
---|---|---|---|
Llama3 8B | 8B | 4.7GB | ollama run llama3:8b |
Llama3 70B | 70B | 40GB | ollama run llama3:70b |
Mistral | 7B | 26GB | ollama run mistral |
Code Llama 7b | 7B | 3.8GB | ollama run codellama:7b |
Code Llama 13b | 13B | 7.4GB | ollama run codellama:13b |
Code Llama 34b | 34B | 19GB | ollama run codellama:34b |
Code Llama 70b | 70B | 39GB | ollama run codellama:70b |
Gemma | 2B | 1.7GB | ollama run gemma:2b |
Gemma | 7B | 5GB | ollama run gemma:7b |
Llama 3的亮点和特性如下:
- 基于超过15T token训练,大小相当于Llama 2数据集的7倍还多;
- 训练效率比Llama 2高3倍;
- 支持8K长文本,改进的tokenizer具有128K token的词汇量,可实现更好的性能;
- 在大量重要基准测试中均具有最先进性能;
- 增强推理和代码能力;
- 安全性有重大突破,带有Llama Guard 2、Code Shield 和 CyberSec Eval 2的新版信任和安全工具,还能比Llama 2有更好"错误拒绝表现"。
四、下载运行模型
bash
ollama run llama3:8b # 运行llama3 8b大模型
直接使用 run 命令 + 模型名字就可以运行模型。
如果之前没有下载过,那么会自动下载。(由于网络环境的原因,一开始可能比较慢,但会随着时间进展有所优化,如果模型比较大,要耐心等待一段时间)
下载完毕之后可以在终端中直接进行对话了。
直接在终端中对话:用 llama3 模型写一个 nextjs组件或者 回答你的一些知识类问题
++根据实际测试,llama3 70B在windows10环境下,基本占用32GB内存,llama3 8B基本占用16GB内存。++
++建议至少不低于48GB或64GB内存,否则没有足够内存支持运行其他程序。++
第三方API调用
API调用默认端口11434
本地地址参考:127.0.0.1:11434
五、可视化UI界面可以试试 Open WebUI
LLMs用户友好的WebUI(以前的Ollama WebUI): open-webui/open-webui: User-friendly WebUI for LLMs (Formerly Ollama WebUI) (github.com)
docker 部署
如果您的计算机上有 Ollama,请使用以下命令:
bash
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果 Ollama 位于不同的服务器上,要连接到另一台服务器上的 Ollama,请将 OLLAMA_BASE_URL
更改为服务器的 URL:
bash
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
安装完成后,可以通过访问Open WebUI。😄
html
http://localhost:3000
注意:端口3000常
被其他的开发程序占用,可以根据自己的实际情况调整端口
进入聊天界面
如果您想将本地 Docker 安装更新到最新版本,可以使用 Watchtower来完成:
在命令的最后部分,如果不同,请将 open-webui
替换为您的容器名称。
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui
以上,只是一个基本的流程,实际使用还有很多好的功能与用法。ollama 大部分代码基于 go 开发,大家可以多多探索。