使用Ollama私有化部署本地大模型方案
安装Ollama
Ollama 是一个用于运行和管理大型语言模型的工具,它是一个轻量级服务,可在本地环境中实现对模型的使用和管理,保证了数据的隐私和安全性。
Ollama 支持多种大型语言模型,例如 llama、phi、mistral、gemma 等,具有较强的功能扩展性,例如支持模型的下载、删除、更新等操作,方便用户对模型进行管理。同时,它还支持与其他工具和平台的集成,如 OpenAI 兼容的 API,进一步扩展了其应用范围和功能。
下载
访问 Ollama 官网,点击 “Windows” 按钮下载安装程序,然后双击安装程序进行安装。

安装完成后,打开 Windows 的命令提示符(PowerShell 等),输入 ollama -v(ollama --version) 查看安装版本。


若出现版本信息就代表ollama安装成功了。
配置
打开系统环境变量配置,添加一个环境变量 OLLAMA_MODELS,将其值设置为你指定的文件夹路径(例如 D:\ollama_model),这样可以避免模型文件自动保存在 C 盘(C:\Users\用户\.ollama\models)导致 C 盘空间不足。修改后
重启终端(如PowerShell或CMD)以使更改生效。
模型安装
Ollama支持的模型列表
| 模型 | 参数 | 模型大小 | 安装 |
|---|---|---|---|
| Llama 3.2 | 3B | 2.0GB | ollama run llama3.2 |
| Llama 3 | 8B | 4.7GB | ollama run llama3 |
| Llama 3 | 70B | 40GB | ollama run llama3:70b |
| Phi-3 | 3.8B | 2.3GB | ollama run phi3 |
| Mistral | 7B | 4.1GB | ollama run mistral |
| Neural Chat | 7B | 4.1GB | ollama run neural-chat |
| Starling | 7B | 4.1GB | ollama run starling-lm |
| Code Llama | 7B | 3.8GB | ollama run codellama |
| Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
| LLaVA | 7B | 4.5GB | ollama run llava |
| Gemma | 2B | 1.4GB | ollama run gemma:2b |
| Gemma | 7B | 4.8GB | ollama run gemma:7b |
| Solar | 10.7B | 6.1GB | ollama run solar |
可以访问 Ollama 模型仓库,查看具体支持所有模型
如需安装llama3.2点击进入
在命令行窗口中录入指令 ollama run llama3.2安装
安装完成后,使用命令ollama list来查看已下载的模型列表。

模型运行
模型的运行和安装指令一样,都是ollama run 模型名称,如果模型未安装会自动安装。

使用/bye退出
API调用
Ollama服务启动后可以用API访问,默认API地址是http://localhost:11434/api/generate
llama3 API访问文档 ollama/docs/api.md at main · ollama/ollama (github.com)
请求参数
Body 参数application/json
{
"model": "llama3.2:latest",
"prompt": "hello"
}
参数解释如下:
- model(必需):模型名称。
- prompt:用于生成响应的提示文本。
- images(可选):包含多媒体模型(如llava)的图像的base64编码列表。
高级参数(可选):
- format:返回响应的格式。目前仅支持json格式。
- options:模型文件文档中列出的其他模型参数,如温度(temperature)。
- system:系统消息,用于覆盖模型文件中定义的系统消息。
- template:要使用的提示模板,覆盖模型文件中定义的模板。
- context:从先前的/generate请求返回的上下文参数,可以用于保持简短的对话记忆。
- stream:如果为false,则响应将作为单个响应对象返回,而不是一系列对象流。
- raw:如果为true,则不会对提示文本应用任何格式。如果在请求API时指定了完整的模板化提示文本,则可以使用raw参数。
- keep_alive:控制模型在请求后保持加载到内存中的时间(默认为5分钟)
返回响应
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.0672712Z",
"response": "Hello",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.0953897Z",
"response": "!",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.1254815Z",
"response": " How",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.1566546Z",
"response": " can",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.1860801Z",
"response": " I",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.2160333Z",
"response": " assist",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.2465181Z",
"response": " you",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.2778098Z",
"response": " today",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.3085796Z",
"response": "?",
"done": false
}
{
"model": "llama3.2:latest",
"created_at": "2024-10-24T11:59:56.3406455Z",
"response": "",
"done": true,
"done_reason": "stop",
"context": [...],
"total_duration": 3027612100,
"load_duration": 2601356400,
"prompt_eval_count": 26,
"prompt_eval_duration": 145138000,
"eval_count": 10,
"eval_duration": 273777000
}
返回值的解释如下:
- total_duration:生成响应所花费的总时间。
- load_duration:以纳秒为单位加载模型所花费的时间。
- prompt_eval_count:提示文本中的标记(tokens)数量。
- prompt_eval_duration:以纳秒为单位评估提示文本所花费的时间。
- eval_count:生成响应中的标记数量。
- eval_duration:以纳秒为单位生成响应所花费的时间。
- context:用于此响应中的对话编码,可以在下一个请求中发送,以保持对话记忆。
- response:如果响应是以流的形式返回的,则为空;如果不是以流的形式返回,则包含完整的响应。

如果Ollama服务未启动,可通过指令ollama serve启动服务

安装Open WebUI
由于Ollama运行模型是基于命令行窗口,操作不方便,通过安装Open WebUI可实现类似ChatGPT的方式与模型交互,提供友好的聊天体验。
Open WebUI 是一个功能丰富、用户友好的自托管 Web 用户界面,具有高性能和响应性,能够快速处理用户的请求并返回准确的答案,增强代码的可读性,对于开发者或涉及代码交流的场景非常有用。另外,Open WebUI支持检索增强生成(RAG),将文档交互无缝地集成到聊天体验中,用户可以直接将文档加载到聊天中或添加文件到文档库,并在提示符中使用特定命令访问。
前提
启用 Hyper-V 和容器功能
- 打开 “控制面板”,选择 “程序”>“程序和功能”。
- 在左侧选择 “启用或关闭 Windows 功能”。
- 勾选 “Hyper-V” 和 “适用于 Linux 的 Windows 子系统” 以及 “容器”,然后点击 “确定”,等待系统配置完成并重启电脑(如果该功能不可用,需开启BIOS中的虚拟化功能)。

设置DNS
将DNS的首选项设置成114.114.114.114
安装Docker
下载
访问 Docker 官网,选择适合你的 Windows 系统版本进行下载并安装,安装过程中可能会遇到一些问题,如网络问题导致下载缓慢、权限问题等。如果遇到问题,可以参考 Docker 官方文档或在相关技术论坛上寻求帮助。

验证
在命令行窗口输入docker -v(docker --version),如果能显示docker的版本信息代表安装成功了。
安装WebUI
打开命令提示符或 PowerShell,输入
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
该命令中:
-d:表示在后台运行容器。-p 3000:8080:将容器的 8080 端口映射到主机的 3000 端口,这样你可以通过http://localhost:3000访问 Open WebUI。--add-host=host.docker.internal:host-gateway:添加一个主机名到容器的/etc/hosts文件中,以便容器可以访问主机。-v open-webui:/app/backend/data:将主机上的open-webui目录挂载到容器的/app/backend/data目录,确保数据库正确安装并防止数据丢失。--name open-webui:为容器命名为open-webui。--restart always:设置容器在退出或重启时自动重新启动。

安装完成之后,在浏览器中访问 http://localhost:3000。如果一切正常,你应该能看到 Open WebUI 的界面。

或在docker容器看到open-webui就代表安装成功并可以正常使用了。
配置
Open WebUI安装完成,基本不需要配置,会自动加载本机安装的Ollama环境,如果本机装的有stable-diffusion-webui环境,在图像设置里也会自动加载。
如果需要启用新用户注册功能,可在管理员面板中开启。
更多推荐



所有评论(0)