Allen's 碎碎念

Allen's 碎碎念

Ollama和Open-WebUI的搭建

25
2024-08-25

概述

Ollama 是一个基于 Go 语言开发的可以本地运行大模型的开源框架,支持 Llama 3.1Gemma 2Mistral等主流模型。Open-WebUI 项目通过接入搭建好的 Ollama,提供网络 UI,方便用户的操作。

Waiting
Waiting

Ollama搭建

由于 VPS 上没有 GPU,所以我安装的是 CPU only 版,省掉了 GPU controller 的安装配置。

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

服务起来后,由于只包含框架本身,模型需要自己手动下载。

docker exec -it ollama ollama pull XXX

对于不再需要的模型,可以通过指令删除。

docker exec -it ollama ollama rm XXX

官方给出的一些范例如下表所示,详细的支持仓库可以参考 ollama support library

Model Parameters Size Download
Llama 3.1 8B 4.7GB ollama pull llama3.1
Llama 3.1 70B 40GB ollama pull llama3.1:70b
Llama 3.1 405B 231GB ollama pull llama3.1:405b
Phi 3 Mini 3.8B 2.3GB ollama pull phi3
Phi 3 Medium 14B 7.9GB ollama pull phi3:medium
Gemma 2 2B 1.6GB ollama pull gemma2:2b
Gemma 2 9B 5.5GB ollama pull gemma2
Gemma 2 27B 16GB ollama pull gemma2:27b
Mistral 7B 4.1GB ollama pull mistral
Moondream 2 1.4B 829MB ollama pull moondream
Neural Chat 7B 4.1GB ollama pull neural-chat
Starling 7B 4.1GB ollama pull starling-lm
Code Llama 7B 3.8GB ollama pull codellama
Llama 2 Uncensored 7B 3.8GB ollama pull llama2-uncensored
LLaVA 7B 4.5GB ollama pull llava
Solar 10.7B 6.1GB ollama pull solar
运行 7b 模型至少需要 8g 内存, 13b 模型需要 16g 内存, 33b 模型需要 32g 内存。

Open-WebUI搭建

同样的,选择无 GPU 版,省掉 GPU 的环境变量。

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

其中,将 https://example.com 改成 Ollama 的 docker 网关地址及端口。3000 改成未被使用的端口。

项目起来后,通过 http://{ip}:3000 即可访问。