PostgreSQL码农集散地

3分钟教你搭建AI chat网站

通过OpenWebUI和ollama 3分钟搭建AI chat网站

macbook m2 16g 机器上演示如何通过OpenWebUI和ollama搭建简易AI chat网站.

Image

假设已拉取本地模型

$ ollama list  
NAME                        ID              SIZE      MODIFIED       
deepseek-r1:7b              0a8c26691023    4.7 GB    7 days ago        
qwen_1.5b_test1:latest      682ad25636bd    1.1 GB    13 days ago       
deepseek-r1:1.5b            a42b25d8c10a    1.1 GB    13 days ago       
deepseek-r1:14b             ea35dfe18182    9.0 GB    4 weeks ago       
mxbai-embed-large:latest    468836162de7    669 MB    3 months ago    

启动ollama

OLLAMA_HOST=0.0.0.0:11434 OLLAMA_KEEP_ALIVE=-1 ollama serve   
# or 后台运行   
# OLLAMA_HOST=0.0.0.0:11434 OLLAMA_KEEP_ALIVE=-1 nohup ollama serve >> ~/.ollama/logs/server.log 2>&1 &   

假设宿主机IP

192.168.64.1    

使用OpenWebUI通过API访问ollama, 实现一个简易的WEB AI chat服务.

  • https://github.com/ollama/ollama/blob/main/docs/api.md
  • https://github.com/open-webui/open-webui

拉取openwebui容器

# docker pull ghcr.io/open-webui/open-webui:main  
# 加速:   
docker pull ghcr.nju.edu.cn/open-webui/open-webui:main  

启动openwebui, 映射到3000端口

cd ~/Downloads  
git clone --depth 1 https://github.com/open-webui/open-webui  

# 随便搞个目录都可以, 不需要下载open-webui代码
cd ~/Downloads/open-webui  
PWD=`pwd`    

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://192.168.64.1:11434 -v $PWD:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main   

通过如下命令可以查看open-webui容器支持的环境变量:

docker history --no-trunc ghcr.nju.edu.cn/open-webui/open-webui:main

访问web

http://127.0.0.1:3000/  

可以看到ollama日志类似这样

time=2025-02-21T14:56:46.763+08:00 level=INFO source=server.go:594 msg="llama runner started in 0.76 seconds"
[GIN] 2025/02/21 - 14:57:01 | 200 |      28.166µs |    192.168.64.2 | GET      "/api/version"
[GIN] 2025/02/21 - 14:57:04 | 200 | 17.593192541s |    192.168.64.2 | POST     "/api/chat"
[GIN] 2025/02/21 - 14:57:17 | 200 | 31.509918333s |    192.168.64.2 | POST     "/api/chat"
[GIN] 2025/02/21 - 14:57:24 | 200 |  6.775927583s |    192.168.64.2 | POST     "/api/chat"
[GIN] 2025/02/21 - 14:57:34 | 200 | 10.516549125s |    192.168.64.2 | POST     "/api/chat"