# 创建模型单元

> 全部文档的索引见 [llms.txt](https://ark.volcengine.com/llms.txt)；在任一文档页面地址后追加 `.md` 可获取该页的 Markdown 版本。

本文介绍如何创建模型单元，帮助用户完成模型单元部署和调用。

<span id="67cd1aa0"></span>
# 使用流程

> 如果业务对于延时有需求，请通过 [工单](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00001166) 提需求。

<span id="1ee31bd9"></span>
## 1 创建推理接入点

1. 访问 [创建推理接入点](https://ark.volcengine.com/region:cn-beijing/endpoint/create) ，按页面引导填写。注意选择接入模式为 **模型单元**。
    > 强烈推荐您打开右上角 **创建说明** 开关，帮助您了解每个配置项的使用场景和含义。
1. 根据业务流量情况选择计费类型、部署模板，使用 [**单元计算器**](https://ark.volcengine.com/region:cn-beijing/endpoint/create) 预估需要购买的机型单元数量，并 [申请配额](https://ark.volcengine.com/region:cn-beijing/quota?quota=%7B%22business%22%3A%22Endpoint%22%2C%22quota%22%3A%22ModelUnit%22%2C%22table%22%3A%7B%7D%7D)。

1. 勾选协议，并单击 **创建并接入**。创建完成后进入 **调度中** 状态，大约需要等待5-10分钟，当状态变成 **健康** 后，可正常调用。

> **说明**
>
> 推理接入点默认会创建在 default 项目下，如果您希望在其他项目下创建，请在导航栏左下角切换项目。

<span id="2f9d792c"></span>
## 2 获取 Endpoint ID

在 [在线推理页面](https://ark.volcengine.com/region:cn-beijing/endpoint) 查看并复制推理接入点 ID（Endpoint ID）。

<span id="a1dd60fa"></span>
## 3 通过 Endpoint ID 调用模型

典型示例代码如下，更多示例代码可参见 [文本生成](/docs/text-generation) 章节。

> 运行代码前请确保已将 API Key 配置为环境变量 `ARK_API_KEY`（详情参见 [环境变量配置指南](/docs/environment-variable-configuration-guide)），并已安装 SDK：`pip install --upgrade arkruntime`。

```Python
# 安装 sdk 参见 https://ark.volcengine.com/region:cn-beijing/docs/install-and-upgrade-sdk
# 文本生成支持 Chat API，暂不支持 Responses API
import os
from arkruntime import Ark
client = Ark(
    api_key=os.environ.get("ARK_API_KEY"),
    # The base URL for model invocation
    base_url="https://ark.cn-beijing.volces.com/api/v3",
    )
completion = client.chat.completions.create(
    # Replace with your endpoint ID
    model="ep-2025****-**",
    messages=[
        {"role": "user", "content": "Hello"}
    ]
)
print(completion.choices[0].message)
```

<span id="a1d1f3cd"></span>
# 弹性伸缩

<span id="13a85045"></span>
## 规则介绍

后付费模型单元，支持配置弹性伸缩规则，帮助您根据业务负载动态调整模型单元的数量，进一步提升资源利用率并降低成本。
* **购买数量**：根据预算和业务并发，配置最小单元数和最大单元数，实际模型单元数量会在这个范围内波动。注意最大和最小单元数都是步长的整数倍，不同机型支持的步长不同，具体请参见控制台提示。
* **延迟和并发档位**：控制模型单元根据业务负载进行弹性伸缩的触发条件。 控制台会显示每个档位对应的单个模型单元的延迟 (TTFT/TPOT) 与 吞吐(TPS) 预估，供您参考选择合适业务需求的档位。 档位越低，响应越快，但并发也越低，越容易触发弹性伸缩，相应地资源调整会更频繁。

> **说明**
>
> * TTFT：Time To First Token，从请求发送到生成首个 token 的耗时
> * TPOT：Time Per Output Token，在首个 token 输出之后，生成每个后续 token 所需的平均时间
> * TPS：Tokens Per Second，每秒处理的 token 数量（包括输入和输出），反映模型单元的吞吐能力。

![](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/2dca1db3476744879de7d2be06371b20~tplv-goo7wpa0wc-image.image)

<span id="92356a1b"></span>
## 配置示例

**选项：最低成本**

介绍如何配置弹性伸缩策略，可以使您的业务成本最低。
* 最小单元数量：**0**（仅在开启**智能唤醒与休眠**后才可设置为 0；未开启智能唤醒与休眠时，最小单元数量不能为 0）
* 最大单元数量：4（仅参考，实际需覆盖业务最大流量）
* 延迟与并发档位：根据实际并发和延迟需求选择
* 勾选 **智能唤醒与休眠**，设置 xx 时间无流量后，模型单元自动缩零，停止计费。后续有流量时，模型单元将自动恢复运行，注意从 0 扩展到 1 时，冷启动可能需要几分钟时间。最小单元数为 0 的部署在 7 天无流量后会自动删除。

**说明：智能唤醒与休眠当前为邀测功能，如需使用，请提交**[**工单**](https://console.volcengine.com/workorder/create?step=2&SubProductID=P00001166)**。**

**选项：最大并发**

介绍如何配置弹性伸缩策略，可以使您的业务达到较高的TPS。
* 最小单元数量：4（仅参考，请配置一个最小步长）
* 最大单元数量：12（建议配置数量超过业务最大流量承载力）
* 延迟与并发档位：档位越高，TPS 越大。控制台会显示每个档位对应的TPS，建议选择满足目标TPS的档位。

<span id="b09922d8"></span>
# 使用限制

* 模型单元预计可承载性能（Tokens Per Second，TPS）基于平台标准化性能测试得出（输入长度约 3000 Tokens，输出长度约 300 Tokens，缓存命中率为 0）。资源实际承载力影响因素较多，建议购买后使用您业务的真实流量进行压测，确定模型单元的实际吞吐。
* Lora精调后的模型推理性能相较平台预置模型的推理会有一定程度的降低。
* 仅支持通过 [对话(Chat) API](/docs/chat-api) 调用模型，暂不支持 Responses API。
* 不支持上下文缓存 Context API。

<span id="0fd283e3"></span>
# 常见问题

请参见[模型单元](/docs/modelark-faq#cfe1dfae)。
