x
This commit is contained in:
@@ -18,9 +18,10 @@
|
||||
│ ├── engine.py
|
||||
│ ├── main.py
|
||||
│ ├── model_catalog.py
|
||||
│ ├── start_api.py
|
||||
│ ├── start_openai.py
|
||||
│ └── schemas.py
|
||||
├── .dockerignore
|
||||
├── .env.example
|
||||
├── config.json
|
||||
├── docker-compose.yml
|
||||
├── Dockerfile
|
||||
@@ -53,20 +54,14 @@
|
||||
|
||||
## 配置项
|
||||
|
||||
可通过 `.env` 配置,建议先复制 `.env.example`:
|
||||
项目只读取一个配置文件:`config.json`。
|
||||
|
||||
- `MODEL_CONFIG_FILE`:模型配置文件路径,默认 `config.json`
|
||||
- `MODEL_KEY`:要启动的模型键,留空时使用 `config.json` 中 `default_model`
|
||||
- `MODEL_NAME`:兜底模型名(仅在不使用配置文件时生效)
|
||||
- `OPENAI_HOST`:OpenAI 协议服务监听地址,默认 `0.0.0.0`
|
||||
- `OPENAI_PORT`:OpenAI 协议服务监听端口,默认 `8001`
|
||||
- `TENSOR_PARALLEL_SIZE`:张量并行数,双卡建议为 `2`
|
||||
- `GPU_MEMORY_UTILIZATION`:单卡显存利用率,建议 `0.90~0.95`
|
||||
- `MAX_MODEL_LEN`:模型最大上下文长度
|
||||
- `MAX_NUM_SEQS`:并发序列数量
|
||||
- `MAX_TOKENS`:单请求最大生成长度
|
||||
- `DTYPE`:精度类型,默认 `bfloat16`
|
||||
- `API_KEY`:可选接口访问密钥
|
||||
- `services.api.host` / `services.api.port`:自定义推理服务监听地址与端口(默认 `0.0.0.0:8000`)
|
||||
- `services.openai.host` / `services.openai.port`:OpenAI 协议服务监听地址与端口(默认 `0.0.0.0:8001`)
|
||||
- `api_key`:接口访问密钥(同时用于 8000 与 8001)
|
||||
- `tensor_parallel_size`:张量并行数,双卡建议 `2`
|
||||
- `dtype`:推理精度,默认 `bfloat16`
|
||||
- `selected_model`:当前生效模型,留空时回退到 `default_model`
|
||||
|
||||
## config.json 说明
|
||||
|
||||
@@ -78,7 +73,7 @@
|
||||
|
||||
启动时会按以下优先级选模型:
|
||||
|
||||
1. `.env` 中 `MODEL_KEY`
|
||||
1. `config.json` 中 `selected_model`
|
||||
2. `config.json` 中 `default_model`
|
||||
|
||||
模型被选中后,会自动覆盖运行参数,包括:
|
||||
@@ -93,27 +88,21 @@
|
||||
|
||||
## 部署步骤
|
||||
|
||||
1. 准备环境变量:
|
||||
1. 修改 `config.json` 中的 `selected_model` 与服务参数。
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. 修改 `.env` 中的 `MODEL_KEY`,选择要启动的模型。
|
||||
|
||||
3. 构建并启动容器:
|
||||
2. 构建并启动容器:
|
||||
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
4. 验证自定义推理服务:
|
||||
3. 验证自定义推理服务:
|
||||
|
||||
```bash
|
||||
curl http://localhost:8000/health
|
||||
```
|
||||
|
||||
5. 验证 OpenAI 协议服务:
|
||||
4. 验证 OpenAI 协议服务:
|
||||
|
||||
```bash
|
||||
curl http://localhost:8001/v1/models
|
||||
@@ -132,14 +121,14 @@ curl -X POST "http://localhost:8000/v1/generate" \
|
||||
```bash
|
||||
curl -X POST "http://localhost:8001/v1/chat/completions" \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer ${API_KEY}" \
|
||||
-H "Authorization: Bearer <config.json中的api_key>" \
|
||||
-d "{\"model\":\"Qwen3.5-35B-A3B-GPTQ-Int4\",\"messages\":[{\"role\":\"user\",\"content\":\"你好,介绍一下你自己\"}],\"temperature\":0.7}"
|
||||
```
|
||||
|
||||
## OpenClaw 调用说明
|
||||
|
||||
- Base URL 使用 `http://<服务器IP>:8001/v1`
|
||||
- API Key 使用 `.env` 中 `API_KEY` 对应值
|
||||
- API Key 使用 `config.json` 中 `api_key`
|
||||
- 模型名使用 `config.json` 中 `served_model_name`
|
||||
- 若使用工具调用,`config.json` 中应配置 `tool_call_parser` 与 `enable_auto_tool_choice`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user