Files
karuo-ai/01_卡资(金)/金仓_存储备份/群晖NAS管理/参考资料/NAS千问小模型API配置.md

191 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 公司 NAS 千问小模型 API 配置说明
> 部署位置:公司 NAS Dockerollama-nas 容器)
> 内网/外网均可调用,无需 API Key
---
## 公司 NAS 配置与推荐模型
| 项目 | 说明 |
|------|------|
| **型号** | Synology DS1825+ |
| **CPU** | AMD Ryzen Embedded V1500B4 核 8 线程) |
| **内存** | 8GBOllama 容器限制 5GB |
| **推荐模型** | **qwen2.5:3b**(效果更好,约 2GB适合 5GB 内存) |
| **备选模型** | qwen2.5:1.5b(更省内存,约 1GB |
已在 NAS 上安装 **qwen2.5:3b** 作为默认推荐,其他终端/应用直接选用该模型即可。
---
## 零、配置到其他地方的速查(复制即用)
| 配置项 | 外网(推荐) | 内网(与 NAS 同网时) |
|--------|--------------|------------------------|
| **BASE URL** | `http://open.quwanzhi.com:11401` | `http://192.168.1.201:11434` |
| **OpenAI 兼容 Base URL** | `http://open.quwanzhi.com:11401/v1` | `http://192.168.1.201:11434/v1` |
| **API Key** | 无需,可填 `ollama` 占位 | 同上 |
| **推荐模型** | `qwen2.5:3b` | 同上 |
| **备选模型** | `qwen2.5:1.5b` | 同上 |
- **进程**Docker 容器名 `ollama-nas`,镜像 `ollama/ollama:latest`,端口 11434。
- **编排路径**`/volume1/docker/ollama/docker-compose.yml`
- **启动/重启**NAS 上 `sudo docker compose -f /volume1/docker/ollama/docker-compose.yml up -d``sudo docker start ollama-nas`
### 在 OpenAI 兼容客户端中填写示例
- **Base URL**`http://open.quwanzhi.com:11401/v1`
- **API Key**`ollama`或不填Ollama 不校验)
- **Model**`qwen2.5:3b`(推荐)或 `qwen2.5:1.5b`
### 环境变量(脚本/应用)
```bash
# 外网
export OLLAMA_BASE_URL="http://open.quwanzhi.com:11401"
# 内网
export OLLAMA_BASE_URL="http://192.168.1.201:11434"
```
---
## 一、接口地址
| 环境 | 基础 URL | 说明 |
|------|----------|------|
| **内网** | `http://192.168.1.201:11434` | 与 NAS 同网(如公司 WiFi |
| **外网** | `http://open.quwanzhi.com:11401` | 任意网络,经 frp 转发 |
外网需确保 **frp 服务端42.194.245.239)已开放 11401 端口**;若无法访问,请在宝塔/安全组中放行 `11401/TCP`
**OpenClaw如阿猫 Mac使用千问**:已配置主模型为 `nas-qwen/qwen2.5:3b`,备选 `qwen2.5:1.5b``v0/v0-1.5-lg`。若该终端 **DNS 解析超时**(访问 `open.quwanzhi.com` 报 Resolving timed out可改为 **IP 直连**:在 OpenClaw 的 nas-qwen 里将 `baseUrl` 设为 `http://42.194.245.239:11401/v1`frp 同机 IP改完后重启网关即可连通千问。
---
## 二、常用 API 端点
| 用途 | 方法 | 路径 |
|------|------|------|
| 模型列表 | GET | `/api/tags` |
| 生成(流式/非流式) | POST | `/api/generate` |
| 对话OpenAI 兼容) | POST | `/v1/chat/completions` |
---
## 三、简单调用示例
### 1. 查看已安装模型
```bash
# 外网
curl -s http://open.quwanzhi.com:11401/api/tags | jq .
# 内网
curl -s http://192.168.1.201:11434/api/tags | jq .
```
### 2. 文本生成curl
```bash
# 外网示例(推荐 qwen2.5:3b也可用 qwen2.5:1.5b
curl -s http://open.quwanzhi.com:11401/api/generate -d '{
"model": "qwen2.5:3b",
"prompt": "用一句话介绍厦门",
"stream": false
}' | jq .
```
### 3. 对话格式OpenAI 兼容,便于接入各类客户端)
```bash
curl -s http://open.quwanzhi.com:11401/v1/chat/completions -d '{
"model": "qwen2.5:3b",
"messages": [{"role": "user", "content": "你好,请简短回复"}],
"stream": false
}' | jq .
```
---
## 四、环境变量配置(代码里使用)
在应用或脚本中配置 base URL外网用 11401内网用 11434
```bash
# 外网(默认)
export OLLAMA_BASE_URL="http://open.quwanzhi.com:11401"
# 内网(与 NAS 同网时改用)
# export OLLAMA_BASE_URL="http://192.168.1.201:11434"
```
---
## 五、Python 简单配置
```python
import os
import requests
# 外网
OLLAMA_BASE = os.environ.get("OLLAMA_BASE_URL", "http://open.quwanzhi.com:11401")
def chat(text: str, model: str = "qwen2.5:3b") -> str:
r = requests.post(
f"{OLLAMA_BASE}/api/generate",
json={"model": model, "prompt": text, "stream": False},
timeout=60,
)
r.raise_for_status()
return r.json().get("response", "")
# 使用
print(chat("用一句话介绍厦门"))
```
若用 OpenAI 兼容接口(如 openai 库):
```python
from openai import OpenAI
client = OpenAI(
base_url="http://open.quwanzhi.com:11401/v1",
api_key="ollama", # Ollama 不校验,可随意
)
r = client.chat.completions.create(
model="qwen2.5:3b",
messages=[{"role": "user", "content": "你好"}],
)
print(r.choices[0].message.content)
```
---
## 六、Docker 部署与维护
- **一键部署(本机执行)**
`bash 群晖NAS管理/scripts/ollama/deploy_ollama_nas.sh`
会完成:创建目录、上传 compose、启动容器、拉取 qwen2.5:1.5b(及推荐 qwen2.5:3b、配置 frp 并重启 frpc。
- **NAS 上手动操作**
- 编排目录:`/volume1/docker/ollama/`
- 启动:`sudo docker compose -f /volume1/docker/ollama/docker-compose.yml up -d`
- 拉取其他模型:`sudo docker exec ollama-nas ollama pull qwen2.5:3b`
- 查看日志:`sudo docker logs -f ollama-nas`
- **外网端口**frp 将 **11401** → NAS **11434**,代理名 `nas-ollama`。若未生效,检查 frpc 配置并重启 `nas-frpc`,以及 frps 是否开放 11401。
---
## 七、接口速查
| 项目 | 值 |
|------|-----|
| 外网 Base URL | `http://open.quwanzhi.com:11401` |
| 内网 Base URL | `http://192.168.1.201:11434` |
| 推荐模型 | `qwen2.5:3b` |
| 备选模型 | `qwen2.5:1.5b` |
| 认证 | 无(内网服务,外网经 frp 暴露,按需在 frp 或上层加鉴权) |