Skip to content

Commit fec8fc7

Browse files
author
Ya yanpei
committed
恢复文件
1 parent ed1cc0d commit fec8fc7

1 file changed

Lines changed: 222 additions & 0 deletions

File tree

docs/model_integration/ollama.md

Lines changed: 222 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,222 @@
1+
!!! Abstract ""
2+
3+
本文以阿里云新加坡区操作系统为 Ubuntu 22.04 的 ECS 实例为例,演示 Ollama 安装及其与 SQLBot 对接。
4+
5+
## 安装Ollama
6+
7+
!!! Tip ""
8+
执行以下命令安装 Ollama:
9+
```shell
10+
curl -fsSL https://ollama.com/install.sh | sh
11+
```
12+
13+
输出如下:
14+
```shell
15+
root@iZt4n4e3wmu6ddsc0hb3wbZ:~# curl -fsSL https://ollama.com/install.sh | sh
16+
>>> Installing ollama to /usr/local
17+
>>> Downloading Linux amd64 bundle
18+
######################################################################## 100.0%
19+
>>> Creating ollama user...
20+
>>> Adding ollama user to render group...
21+
>>> Adding ollama user to video group...
22+
>>> Adding current user to ollama group...
23+
>>> Creating ollama systemd service...
24+
>>> Enabling and starting ollama service...
25+
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
26+
>>> NVIDIA GPU installed.
27+
```
28+
29+
## 修改Ollama配置
30+
31+
!!! Tip ""
32+
修改文件ollama.service,让 Ollama 访问可被外部访问
33+
```shell
34+
vim /etc/systemd/system/ollama.service
35+
```
36+
37+
加入以下内容:
38+
```
39+
Environment="OLLAMA_HOST=0.0.0.0:11434"
40+
Environment="OLLAMA_ORIGINS=*
41+
```
42+
43+
文件内容如下:
44+
```
45+
[Unit]
46+
Description=Ollama Service
47+
After=network-online.target
48+
49+
[Service]
50+
ExecStart=/usr/local/bin/ollama serve
51+
User=ollama
52+
Group=ollama
53+
Restart=always
54+
RestartSec=3
55+
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
56+
Environment="OLLAMA_HOST=0.0.0.0:11434"
57+
Environment="OLLAMA_ORIGINS=*
58+
59+
[Install]
60+
WantedBy=default.target
61+
```
62+
63+
## 重启Ollama服务
64+
65+
!!! Tip ""
66+
执行命令重启 Ollama:
67+
```shell
68+
systemctl daemon-reload;service ollama restart
69+
```
70+
71+
## 安装运行大模型
72+
73+
### 安装Qwen3模型(兼容 OpenAI)
74+
75+
!!! Tip ""
76+
此处以 qwen3-14b 为例,执行以下命令安装大模型:
77+
```shell
78+
ollama run qwen3:14b
79+
```
80+
81+
输出如下:
82+
```shell
83+
root@iZt4n4e3wmu6ddsc0hb3wbZ:~# ollama run qwen3:14b
84+
pulling manifest
85+
pulling a8cc1361f314: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 9.3 GB
86+
pulling ae370d884f10: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.7 KB
87+
pulling d18a5cc71b84: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 11 KB
88+
pulling cff3f395ef37: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 120 B
89+
pulling 78b3b822087d: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 488 B
90+
verifying sha256 digest
91+
writing manifest
92+
success
93+
>>> Send a message (/? for help)
94+
```
95+
96+
### 安装DeepSeek R1 模型(不兼容 OpenAI)
97+
98+
!!! Tip ""
99+
```shell
100+
ollama run deepseek-r1:8b
101+
```
102+
103+
输出如下:
104+
```shell
105+
root@iZt4n4e3wmu6ddsc0hb3wbZ:~# ollama run deepseek-r1:8b
106+
pulling manifest
107+
pulling e6a7edc1a4d7: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 5.2 GB
108+
pulling c5ad996bda6e: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 556 B
109+
pulling 6e4c38e1172f: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 KB
110+
pulling ed8474dc73db: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 179 B
111+
pulling f64cd5418e4b: 100% ▕████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 487 B
112+
verifying sha256 digest
113+
writing manifest
114+
success
115+
```
116+
117+
## 确认Ollama服务状态
118+
119+
!!! Tip ""
120+
在 SQLBot 服务器上访问 Ollama 服务,确认网络是通的:
121+
```shell
122+
root@iZt4n4e3wmu6ddsc0hb3wbZ:~#nc -zv 47.237.135.165 11434
123+
Connection to 47.237.135.165 port 11434 [tcp/*] succeeded!
124+
```
125+
126+
## 安装 OpenWebUI(可选)
127+
128+
!!! Abstract ""
129+
130+
OpenWebUI 可在 web 界面上与大模型进行交互,非必需。
131+
132+
### 安装docker
133+
134+
!!! Tip ""
135+
在服务器上安装 Docker,本文使用 DataEase 项目组编写安装脚本进行安装,用户可自行选择如何安装 Docker。
136+
```shell
137+
curl -fsSL https://resource.fit2cloud.com/get-docker-linux.sh | bash
138+
139+
# 设置 docker 开机自启,并启动 docker 服务
140+
systemctl enable docker; systemctl daemon-reload; service docker start
141+
```
142+
143+
### 安装OpenWebUI
144+
145+
!!! Tip ""
146+
按官方示例,以 docker 直接启动 OpenWebUI,它会自动关联本地 Ollama。
147+
```shell
148+
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
149+
```
150+
151+
OpenWebUI启动需要一些时间,需确认容器运行状态为「healthy」:
152+
```shell
153+
root@iZt4n4e3wmu6ddsc0hb3wbZ:~# docker ps -a
154+
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
155+
ba913b54d026 ghcr.io/open-webui/open-webui:main "bash start.sh" 10 minutes ago Up 9 minutes (healthy) 0.0.0.0:3000->8080/tcp, [::]:3000->8080/tcp open-webui
156+
```
157+
158+
启动完成后,可在浏览器上通过 IP:3000来访问,如下图所示:
159+
![openwebui](../img/model_integration/openwebui.png)
160+
161+
## 安装配置 One API
162+
163+
!!! Tip ""
164+
若部署的是 DeepSeek 模型,在对接 SQLBot 时需要 One API 将其转换成兼容 OpenAI 接口,否则在使用时则会出现类似下面的错误:
165+
![deepseek_error](../img/model_integration/deepseek_error.png)
166+
167+
### 部署 One API
168+
169+
!!! Tip ""
170+
下面以 docker 来运行 One API,此处运行端口设置成了 3001:
171+
```shell
172+
mkdir -p /oneapi/data
173+
174+
docker run --name one-api -d --restart always -p 3001:3000 -e TZ=Asia/Shanghai -v /oneapi/data:/data justsong/one-api
175+
```
176+
177+
### 配置 One API
178+
179+
#### 添加渠道
180+
181+
!!! Tip ""
182+
在浏览器输入 IP:3001 访问 One API。
183+
先添加一个 DeepSeek 的渠道,注意「模型」输入 Ollama 中 DeepSeek 的模型名称,代理输入 Ollama 的访问地址。
184+
![oneapi_channel](../img/model_integration/oneapi_channel.png)
185+
186+
#### 验证渠道
187+
188+
!!! Tip ""
189+
添加渠道后,可以点击「测试」验证是否正常工作
190+
![oneapi_validate](../img/model_integration/oneapi_validate.png)
191+
192+
#### 创建令牌
193+
194+
!!! Tip ""
195+
此处可以根据自己的实际情况进行相关设置。
196+
![oneapi_create_token](../img/model_integration/oneapi_create_token.png)
197+
198+
#### 复制令牌
199+
200+
!!! Tip ""
201+
![oneapi_copy_token](../img/model_integration/oneapi_copy_token.png)
202+
203+
## 接入SQLBot
204+
205+
### 接入 Qwen3 模型(兼容 OpenAI)
206+
207+
!!! Tip ""
208+
基础模型此处输入之前安装运行的 qwen3:14b。
209+
Ollama 默认运行在 11434 端口上,API 域名输入 http://47.237.135.165:11434/v1,注意47.237.135.165换成自己实际的 IP 地址。
210+
API Key 可以随意填写,保存即可。
211+
![ollama](../img/model_integration/ollama_sqlbot.png)
212+
213+
### 接入DeepSeek R1模型(不兼容 OpenAI)
214+
215+
!!! Tip ""
216+
基础模型此处输入之前安装运行的 deepseek-r1:8b。
217+
由于通过 One API 进行了转换,在 API 域名输入 One API 的服务地址,如 http://47.236.6.226:3001/v1,注意47.236.6.226:3001 换成自己实际的 IP 地址和运行端口。
218+
API Key 填写 One API 的令牌。
219+
![oneapi](../img/model_integration/oneapi_sqlbot.png)
220+
221+
在 One API 的日志中可以查看大模型的调用情况。
222+
![oneapi_log](../img/model_integration/oneapi_log.png)

0 commit comments

Comments
 (0)