Ollama部署、运行大型语言模型
概述
Ollama是一个专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计的工具。
官方网站:https://ollama.com/
Github:https://github.com/ollama/ollama
安装
Ollama支持macOS、Linux和Windows多个平台运行
macOS: 下载Ollama
Windows: 下载Ollama
Docker:可在Docker Hub上找到 Ollama Docker镜像
Linux:因为使用服务器,这里便以Linux操作系统使用为例记录说明
<hr>
其中Linux通过命令直接安装如下:
查看ollama的状态
安装成功后执行ollama -v
命令,查看版本信息,如果可以显示则代表已经安装好
配置
编辑
vim /etc/systemd/system/ollama.service
文件来对ollama进行配置
1.更改HOST
由于Ollama的默认参数配置,启动时设置了仅本地访问,因此需要对HOST进行配置,开启监听任何来源IP
2.更改模型存储路径
默认情况下,不同操作系统大模型存储的路径如下:
官方提供设置环境变量OLLAMA_MODELS
来更改模型文件的存储路径
注意:
由于当时使用root账号,同时目录权限也属于root,配置好后导致服务无法正常启动
此时,可以查看Ollama的运行日志,特别是在遇到问题需要调试时,可以使用以下命令:
解决问题:
因为指定的目录ollama用户及用户组没有相应权限,导致服务不能启动。通过授权给相应的目录权限解决问题。
3.更改运行GPU
配置环境变量CUDA_VISIBLE_DEVICES
来指定运行Ollama的GPU,默认不需要改动,适用于多卡环境。
4.应用配置
重载systemd并重启Ollama
5.访问测试
浏览器访问http://IP:11434/
,出现Ollama is running
代表成功。
Ollama命令
Shell窗口输入ollama
,打印ollama相关命令说明
ollama的操作命令跟docker操作命令非常相似
模型库
Ollama的 Library,类似Docker的Docker Hub,在这里可以查找受Ollama支持的大模型。
以下是一些可以下载的示例模型:
注意:Ollama支持8 GB的RAM可用于运行7B型号,16 GB可用于运行13B型号,32 GB可用于运行33B型号。当然这些模型是经过量化过的。
使用示例
下载llama3-8b模型
下载成功查看模型
运行模型并进行对话
自定义模型
所谓自定义模型就是不适用Ollama官方模型库中的模型,理论可以使用其他各类经过转换处理的模型
从GGUF导入
Ollama支持在Modelfile文件中导入GGUF模型
创建一个名为 Modelfile的文件,其中包含一条FROM指令,其中包含要导入的模型的本地文件路径。
在Ollama中创建模型
运行模型
完整执行日志如下:
自定义提示
Ollama库中的模型可以通过提示进行自定义。
更多参数说明参考: Modelfile文档
从PyTorch或Safetensors导入
所谓从从PyTorch或Safetensors导入Ollama,其实就是使用
llama.cpp
项目,对PyTorch或Safetensors类型的模型进
行转换、量化处理成GGUF格式的模型,然后再用Ollama加载使用 。
上述从GGUF导入
使用的模型:Llama3-FP16.gguf
便是经过llama.cpp
项目处理得到的。
llama.cpp的使用参考: 使用llama.cpp实现LLM大模型的格式转换、量化、推理、部署
官方文档参考: 导入模型指南
开启服务
运行模型后,执行
ollama serve
命令启动Ollama服务,然后就可以通过API形式进行模型调用
ollama serve
会自动启动一个http服务,可以通过http请求模型服务
首次启动会自动生成ssh私钥文件,同时打印公钥内容。
REST API
更多、具体API,请参阅 API文档
1.生成回复
请求参数示例:
2.与模型聊天
请求参数示例:
卸载Ollama
停止并禁用服务
删除服务文件和Ollama二进制文件
清理Ollama用户和组
One-API
概述
One-API
是一个OpenAI接口管理 & 分发系统,支持各类大模型。这里使用Docker快速进行部署。
GitHub:https://github.com/songquanpeng/one-api
拉取镜像
创建挂载目录
启动容器
访问IP:3001
初始账号用户名为 root,密码为 123456
One-API管理本地模型
在创建渠道时选择Ollama,然后手工填上自己要使用的模型,密钥任意,最重要的是后面在代理中写上自己ollama服务的地址即可
测试成功后,在各类OpenAI套壳软件中,通过配置类似于OpenAI的密钥、API地址等参数,就可以象使用OpenAI一样。
Open WebUI
概述
Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线操作。它支持各种 LLM 运行程序,包括 Ollama 和 OpenAI 兼容的 API。
GitHub:https://github.com/open-webui/open-webui
Open WebUI:https://docs.openwebui.com/
Open WebUI社区: https://openwebui.com/
Docker部署
使用Docker快速安装部署Open WebUI,需要注意:确保在Docker命令中包含
-v open-webui:/app/backend/data
。因为它确保数据库正确安装并防止任何数据丢失。
使用Docker进行Open WebUI安装部署,根据场景不同,可分为以下几类:
1.默认配置安装,如果计算机上有Ollama,请使用以下命令:
2.Ollama位于不同的服务器上,连接到另一台服务器上的 Ollama,请将OLLAMA_BASE_URL
更改为服务器的URL:
3.要运行支持Nvidia GPU的Open WebUI,请使用以下命令:
4.安装带有捆绑Ollama支持的Open WebUI
使用GPU支持:通过运行以下命令来利用GPU资源:
仅适用于CPU:如果不使用GPU,请改用以下命令:
Open WebUI配置
访问http://IP:3000
,创建一个账号(管理员)
进入Open WebUI后,界面如下。在Settings中进行相关设置。
设置语言
设置Ollama的访问地址
选择模型,开始聊天。