|
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 | | -  |
160 | | - |
161 | | -## 安装配置 One API |
162 | | - |
163 | | -!!! Tip "" |
164 | | - 若部署的是 DeepSeek 模型,在对接 SQLBot 时需要 One API 将其转换成兼容 OpenAI 接口,否则在使用时则会出现类似下面的错误: |
165 | | -  |
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 | | -  |
185 | | - |
186 | | -#### 验证渠道 |
187 | | - |
188 | | -!!! Tip "" |
189 | | - 添加渠道后,可以点击「测试」验证是否正常工作 |
190 | | -  |
191 | | - |
192 | | -#### 创建令牌 |
193 | | - |
194 | | -!!! Tip "" |
195 | | - 此处可以根据自己的实际情况进行相关设置。 |
196 | | -  |
197 | | - |
198 | | -#### 复制令牌 |
199 | | - |
200 | | -!!! Tip "" |
201 | | -  |
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 | | -  |
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 | | -  |
220 | | - |
221 | | - 在 One API 的日志中可以查看大模型的调用情况。 |
222 | | -  |
0 commit comments