> ## Documentation Index
> Fetch the complete documentation index at: https://docs.siflow.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用说明

## 创建服务

在大模型推理（LLM Inference）模块中，点击 Create（创建）进入创建表单。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm1.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=4fdcd3d06cb559ca80859b4138e6a230" alt="图片" width="3821" height="1073" data-path="siverse/llm/media/llm1.png" />

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm2.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=f12e5e498cc3ff1dd031107a6a93fd9d" alt="图片" width="3010" height="1504" data-path="siverse/llm/media/llm2.png" />

### 创建服务流程

#### 使用模版快速创建

点击"使用推荐模版"，点击单选按钮选中模版。选中模版后，推理配置、监控配置和一些加速的高级配置都会自动填充。如果无需确认，可以直接点击提交；需要确认或修改则点击下一步查看参数进行确认。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm3.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=b1b21d85dfcb4885a0daacd8206e6275" alt="图片" width="3016" height="1514" data-path="siverse/llm/media/llm3.png" />

#### 填写推理参数创建

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm4.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=2d4dc2c897bdfa91c970ae90e9157db1" alt="图片" width="3838" height="1613" data-path="siverse/llm/media/llm4.png" />

填写大模型服务配置，包括四部分：基本配置、推理配置、监控配置和高级设置。

### 参数说明

| 类别   | 配置名             | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | 是否必填 |
| ---- | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| 基础配置 | 服务名（name）       | 账号下唯一                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ✅    |
|      | 描述（description） | 服务的描述，可以备注一些信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ❌    |
| 推理配置 | 模型              | 模型来源：<br />1. hf：huggingface，需要填写模型名和 huggingface token<br />2. volume：gpfs 的 volume，选择 volume，填写挂载路径和模型路径<br />3. model-repo：模型仓库，选择模型仓库中的公开模型和私有模型<br />4. oss：填写桶和密钥                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | ✅    |
|      | 推理引擎            | **引擎和引擎的版本**：目前支持 sglang/vllm/dynamo/custom，custom 为自定义模式，可以自定义推理角色中的镜像和命令<br />• custom：可以自定义副本里各角色的镜像和命令，通过在引擎配置里配置 port 参数指定端口，支持单机/分布式模式<br />• Sglang<br />• Vllm<br /><br />**引擎参数**（注：分布式和 PD 分离的分布式参数（包括 vllm ray cluster/mp dist 参数，sglang dist 参数）平台会默认加上，不需要再额外配置）：<br />• Vllm：`vllm serve --port xxx --host xxx {{ 引擎参数 }}`<br />• Sglang：`python3 -m sglang.launch_server --port xxx --host xxx {{ 引擎参数 }}`<br />• Custom：需自行填写完整启动命令参数在 Command 里，模型路径可以通过环境变量 MODEL\_PATH 获取，引擎参数（包括服务模型名称：served-model-name）可以通过环境变量 ENGINE\_PARAMS 获取<br /><br />**执行方式**：<br />• single-node：单节点模式（单机多卡/单机单卡）<br />• distributed：多机多卡<br />• pd-disaggregated：Prefill Decode 分离式部署<br /><br />**角色配置**：<br />• 执行方式 single-node：需要配置 worker 角色<br />• 执行方式 distributed：需要配置 leader、worker 角色<br />• 执行方式 pd-disaggregated：需要配置 router、prefill、decode 角色 | ✅    |
|      | 探活配置            | Readiness / Liveness 健康检查配置，详见下方"探活配置说明"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 否    |
| 监控配置 | 监控采集类型          | 默认 prometheus                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |      |
|      | 路径              | 监控采集的路由，平台会默认配置：<br />1. sglang：默认配置 /metrics<br />2. vllm：默认配置 /metrics<br />3. custom：默认配置 /metrics                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |      |
|      | 端口              | 监控采集的端口，平台会默认配置：<br />1. sglang：默认配置 30000 端口<br />2. vllm：默认配置 8000 端口<br />3. custom：默认配置 8080 端口                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |      |
| 高级配置 | 弹性扩缩容           | 注：检测时间间隔 2\*minute<br />1. 时间戳：扩缩容的时间点，timestamp 格式<br />2. 副本数：服务副本数                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | ❌    |
|      | 服务注册            | ingress 类型：k8s ingress 配置，增加额外的集群 ingress 解析规则                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | ❌    |
|      | 存储卷             | 服务挂载额外的 gpfs volume                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | ❌    |
|      | 环境变量            | 配置服务的环境变量                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | ❌    |

推理引擎中 custom 模式的角色配置界面如下：

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm5.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=a5b37e11e69610d565524861451ec1ff" alt="图片" width="2330" height="756" data-path="siverse/llm/media/llm5.png" />

#### 探活配置说明

**Readiness / Liveness 配置说明**

readinessProbe 和 livenessProbe 都是服务健康检查配置，但用途不同：

* readinessProbe：判断服务是否已经准备好接收流量。检查失败时，服务不会被分配新请求。
* livenessProbe：判断服务进程是否还活着。持续检查失败时，平台可能会重启服务实例。

**什么时候需要配置**

* 如果服务有明确的健康检查接口，建议配置 readinessProbe。
* 如果希望平台在服务卡死、进程异常但容器还没退出时自动恢复，可以配置 livenessProbe。

**支持的检查方式**

当前支持三种探测方式：

* http：访问一个 HTTP 健康检查地址，比如 /health 或 /ready
* tcp：检查某个端口是否可以连接
* exec：在容器内执行一条命令，根据命令是否成功判断健康状态

**常用参数**

* probeType：探测方式，可选 http、tcp、exec
* timeoutSeconds：单次检查的超时时间
* periodSeconds：每隔多久检查一次
* initialDelaySeconds：服务启动后，等待多久再开始第一次检查
* successThreshold：连续成功多少次后认为恢复正常
* failureThreshold：连续失败多少次后认为检查失败

**HTTP 探测需要配置**

* probePath：健康检查路径，例如 /health
* probePort：健康检查端口
* probeScheme：协议，一般是 HTTP，也可以是 HTTPS
* probeHttpHeaders：可选，如果健康检查接口需要特殊请求头，可以配置

适合场景：服务提供了健康检查接口。

**TCP 探测需要配置**

* probePort：要检查的端口

适合场景：只需要确认服务端口是否能连通。

**Exec 探测需要配置**

* probeCommand：要执行的命令

适合场景：需要在容器内部检查文件、进程或自定义状态。

**默认行为**

* 如果配置了探针但没有填写端口，系统会尽量使用服务端口作为探测端口。
* 对于常见推理服务，HTTP 探测路径通常默认是 /health。
* 如果没有配置 probeType，则不会启用对应探针。

**注意事项**

* livenessProbe 不要配置得太激进，否则服务启动慢或短暂繁忙时可能被频繁重启。
* 一般建议先配置 readinessProbe，确认服务准备好后再接收流量；livenessProbe 用于处理真正需要重启恢复的异常。
* 注：这里需要考虑服务初始化（模型加载、引擎初始化）的时间，一般超时时间模型参数 72B 以下设置 60，模型参数 400B 以上设置 300，可以根据实际情况调整。
* 注：sglang 提供的探活接口：/health；vllm 提供的探活接口：/health。

## 查看 & 运维服务

### 服务列表

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm6.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=432287ae034b927c83a0f0231bb386ac" alt="图片" width="3828" height="842" data-path="siverse/llm/media/llm6.png" />

服务列表分为两部分：

* 个人服务：普通用户可以看到个人的服务，管理员用户可以看到当前租户下所有的服务
* 分享列表：展示其他人分享的服务

服务状态：展示服务的运行状态，鼠标移到问号上可以看到服务状态的详细说明。

请求链接：

* 测试链接：仅供测试，不保障稳定性
* 生产链接：
  * 同集群内访问：走 k8s service 域名访问
  * 公网访问：互联网可以访问，超时时间为 100 小时，支持 10w 连接数，请求体最大 500m

可操作项：

* 搜索：可以按服务名、状态、创建人进行检索，服务名是模糊查询
* 新建：新建服务
* 批量操作：批量删除 / 上线 / 下线
* 更新：更新服务配置
* 分享：分享给其他人，被分享的人在分享页可以看到该服务
* 创建为模版：把服务保存为模版

### 更新服务

在服务运行的过程中，更新只支持更新非资源相关的参数，更新不会进入排队。服务下线后可以更新任何参数。

### 实例列表

实例列表展示服务实例，按角色分块展示。

* 重启：销毁实例重建
* 实时日志：实例的日志，支持筛选，查看上一次运行日志、下载日志等

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm7.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=c106d767798d68df7c654c00cf00f9fb" alt="图片" width="3822" height="1322" data-path="siverse/llm/media/llm7.png" />

* 监控：每个 pod 的资源监控
* 搜索：按名称进行模糊搜索
* 自动刷新：默认开启自动刷新实例列表，可以关闭

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm8.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=163f39468b35009098c705b319d0b47c" alt="图片" width="3018" height="1526" data-path="siverse/llm/media/llm8.png" />

#### 实例状态说明

注：状态旁的问号（?）会有当前状态更详细的说明。

| 分类      | 状态                         | 说明                                 |
| ------- | -------------------------- | ---------------------------------- |
| 容器启动相关  | ContainerCreating          | 容器正在创建中（拉取镜像、挂载 volume 等）          |
| 容器启动相关  | Running                    | Pod 正在运行                           |
| 容器启动相关  | ImagePullBackOff           | 镜像拉取失败后退避重试                        |
| 容器启动相关  | ErrImagePull               | 镜像拉取错误（镜像不存在、认证失败等）                |
| 容器启动相关  | ErrImageNeverPull          | 镜像策略为 Never 但本地不存在该镜像              |
| 容器启动相关  | InvalidImageName           | 镜像名称无效                             |
| 容器启动相关  | CrashLoopBackOff           | 容器反复崩溃，进入退避重启状态                    |
| 容器启动相关  | CreateContainerConfigError | 创建容器配置失败（如引用不存在的 ConfigMap/Secret） |
| 容器启动相关  | CreateContainerError       | 创建容器失败                             |
| 容器启动相关  | RunContainerError          | 运行容器失败                             |
| 容器启动相关  | PodInitializing            | Pod 正在初始化（init 容器运行中）              |
| 资源/依赖相关 | ContainerStatusUnknown     | 容器状态未知                             |
| 资源/依赖相关 | PodScheduled               | Pod 已调度分配节点                        |
| 资源/依赖相关 | Pending                    | Pod 等待集群调度器调度                      |

### 服务扩缩容

#### 手动扩缩容

点击服务列表里的扩缩容，进行服务的垂直扩容（单节点的资源配置）、水平扩容（副本数增减）。修改副本数或者单节点资源配置的时候，可以同步修改 TP、DP 等参数。

* 注：如果仅修改副本数，则不会触发滚动更新。
* 注：服务在扩缩容中可以操作继续扩容或者缩容。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm9.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=1898f42f0a060b772b55c467f2c9a3da" alt="图片" width="2034" height="1102" data-path="siverse/llm/media/llm9.png" />

#### 弹性扩缩容

在服务配置 -> 高级配置中，可以打开弹性扩缩容，目前支持两种弹性方式：定时和根据指标进行扩缩容。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm10.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=d1be8aa4393f69e7adc8affbe1d73150" alt="图片" width="3315" height="1025" data-path="siverse/llm/media/llm10.png" />

##### 定时扩缩容

配置时间点和目标副本数，在指定的时间点，伸缩对应的服务。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm11.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=94c8b2f685a27b9cbc2ac4128dddde02" alt="图片" width="3579" height="1325" data-path="siverse/llm/media/llm11.png" />

##### 按指标进行伸缩

参数说明：

* 目标角色：伸缩服务的目标角色，比如单机时伸缩 worker
* 规则：配置指标 + 阈值 + 动作，在检测到指定指标到达某个阈值后，进行扩容或者缩容
* 指标计算方式：指标检测的方式，在一个窗口内对指标进行 avg/p95 等统计
* 采集窗口：指标检测窗口
* 采集间隔：拉取指标的间隔
* 每次扩容/每次缩容：扩缩容的 step
* 最小副本数：服务的最小副本数
* 最大副本数：服务的最大副本数
* 冷却时间：扩缩容完成后多久进行下一次指标检测

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm12.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=e552915a2cd4e26884b85e0d99387a6e" alt="图片" width="2446" height="1230" data-path="siverse/llm/media/llm12.png" />

### 监控告警

* Metric 端口、路径配置，指标会通过这个接口采集到 prometheus。

引擎默认端口，如果不配置会默认使用对应的默认端口：

* Vllm 默认端口 8000
* Sglang 默认端口 30000
* PD 分离后 Sglang 默认端口 30000，metric 默认端口 9090

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm13.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=bf7d1b157245f9e7f4cb5a5a74acbf2f" alt="图片" width="3012" height="536" data-path="siverse/llm/media/llm13.png" />

* 查看监控指标进入详情页，切到监控 Tab 页，选择资源监控（Resource Monitor），查看 CPU/GPU/Memory 利用率。Vllm 引擎：查看 Vllm Monitor 页面，会展示 vllm 引擎的指标，分别按照 Service、Instance 维度进行展示。Sglang 引擎：查看 Sglang Monitor 页面，会展示 Sglang 引擎的指标。

  * 查看资源监控

  <img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm14.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=f32ef8e0affe18916d60847e5e4ecee6" alt="图片" width="3818" height="1951" data-path="siverse/llm/media/llm14.png" />

  * 查看引擎监控

  <img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm15.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=78d942f19915366ace8b47eea50d30af" alt="图片" width="3806" height="1592" data-path="siverse/llm/media/llm15.png" />

* 告警规则：目前只支持 Service Error 告警。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm16.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=c2d06905fb01df5a8ef03688bd2325e6" alt="图片" width="3012" height="1526" data-path="siverse/llm/media/llm16.png" />

* 通知方式：需要在告警中心进行订阅。

在告警中心中订阅告警，选择 inference、service error 进行订阅。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm17.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=e09c9b731c93ffd97982a0fb9b1b026d" alt="图片" width="3022" height="1404" data-path="siverse/llm/media/llm17.png" />

### 事件列表

现在服务可以在 Event Tab 页查看服务完整事件列表。

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm18.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=7bdddba3b438803e8a14335180f1dba9" alt="图片" width="3819" height="1317" data-path="siverse/llm/media/llm18.png" />

## 权限管理

### 权限说明

* 普通用户：列表仅能看到自己的和其他分享的服务
* 租户管理员：列表里可以看到当前租户下的所有服务，并且可以操作

### 分享服务

* 分享给其他用户：点击列表里对应推理服务的分享按钮，选择分享人，提交，对应的用户即可在分享列表里看到推理服务
* 取消分享：点击分享，删除对应用户

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm19.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=b5c046f4bf429163b83c3083516d401e" alt="图片" width="3824" height="960" data-path="siverse/llm/media/llm19.png" />

## 服务调度

针对于每个服务副本会默认执行 gang 调度，即该副本中所有角色都有资源能够启动才会调度分配资源。PD 分离服务比较特殊，整体可以看作一个副本，包含 router、prefill、decode，整体可以调度时才会调度分配资源。

## 自定义监控看板

在监控页面可以自定义监控看板，展示需要的指标。

### 创建自定义看板

参数说明：

| 参数          | 说明                                                                                                                                                                                          | 其他                                                                        |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| Class       | 分类，比如设置为 Instance，这个指标就会展示在 Instance 的 Panel 里                                                                                                                                              |                                                                           |
| Format      | 指标类型：Timeseries（时间折线）或者 HeatMap（热力图）                                                                                                                                                        |                                                                           |
| Title       | 看板的标题                                                                                                                                                                                       |                                                                           |
| Description | 看板描述                                                                                                                                                                                        |                                                                           |
| Metric      | • Legend：指标名<br />• PromQL：promql 语句，指标 label 必须包含 cluster，用 $cluster 赋值，比如 `(sum by (service) (increase(vllm:request_success_total{service="$service\_name",cluster="\$cluster"}\[1m])))\` | 通配符：<br />$service/$service\_name：取服务名<br />$region：取地区<br />$cluster：取集群 |

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm20.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=404e4d9000360d28dd06485f65e99a46" alt="图片" width="1004" height="1496" data-path="siverse/llm/media/llm20.png" />

### 自定义看板展示

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm21.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=abb1a62dec25f2a1a82318816a02cf68" alt="图片" width="1287" height="768" data-path="siverse/llm/media/llm21.png" />

## 智能路由

默认的服务流量是 round robin 策略分发到每一个服务副本上，开启智能路由以后，将会由 router 来管理流量分发，会根据配置的策略分发流量。

### 服务创建时配置智能路由

点击添加 server，添加智能路由角色，配置路由策略。server 需要占用一部分资源，如果需要保证可用性，推荐部署 2 个副本以上。

支持的智能路由策略：

| Policy           | Description                              | Session Affinity | Use Case                           |
| ---------------- | ---------------------------------------- | ---------------- | ---------------------------------- |
| round\_robin     | Sequential distribution across workers   | No               | General purpose, even distribution |
| random           | Uniform random selection                 | No               | Simple deployments                 |
| consistent\_hash | Routes same session/user to same worker  | Yes              | Multi-turn chat, KV cache reuse    |
| power\_of\_two   | Picks least loaded of two random workers | No               | Load-sensitive workloads           |
| cache\_aware     | Optimizes for prefix cache hits          | Yes              | Repeated prompts, few-shot         |

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm22.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=bcdae954fe135fa9f20356b812a8e338" alt="图片" width="1294" height="764" data-path="siverse/llm/media/llm22.png" />

## 分布式 KV Cache 缓存

服务创建时可以选择打开分布式缓存。

### 缓存配置

缓存类型：Standalone Cache（独立缓存服务）/ Mixed Cache（混部缓存服务）

* **Standalone Cache（独立缓存服务）**：为独立缓存服务，可以通过通用服务部署一个项目内共享的缓存服务，然后在这个地方填写缓存地址。
* **Mixed Cache（混部缓存服务）**：使用实例的一部分内存进行混部缓存服务，这里需要填写占用的内存比例，同时需要配置一个 cache manager 去提供中心节点服务。

Standalone Cache（独立缓存服务）配置如下：

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm23.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=67a08f89726feb6a797defc0be770868" alt="图片" width="1374" height="793" data-path="siverse/llm/media/llm23.png" />

混部配置如下：

<img src="https://mintcdn.com/siflow/aexqFemTXLn-HzpC/siverse/llm/media/llm24.png?fit=max&auto=format&n=aexqFemTXLn-HzpC&q=85&s=f097501511530e9871d4f635f7d40c21" alt="图片" width="1375" height="781" data-path="siverse/llm/media/llm24.png" />
