---
title: Token推理接口
description: "提供Token推理处理功能。"
url: https://www.hiascend.com/document/detail/zh/mindie/latest/mindiellm/llmdev/mindie_llm0034.html
sourcePath: /source/zh/mindie/310/mindiellm/llmdev/mindie_llm0034.html
indexId: 440f6f2163ff9eedc4d75aa457767107c35d153d077e6680b056d8bf0204f75958
---
# Token推理接口

#### 接口功能

提供Token推理处理功能。

该接口即将下线，建议使用OpenAI接口。


#### 接口格式

操作类型：POST

URL：https://{ip}:{port}/v2/models/${MODEL_NAME}[/versions/${MODEL_VERSION}]/infer

- {ip}和{port}请使用业务面的IP地址和端口号，即“ipAddress”和“port”。
- ${MODEL_NAME}字段指定需要查询的模型名称。
- [/versions/${MODEL_VERSION}]字段暂不支持，不传递。


#### 请求参数

| 参数 | 参数 | 是否必选 | 说明 | 取值范围 |
| --- | --- | --- | --- | --- |
| id | id | 可选 | 推理请求ID。 | 长度不超过256的非空字符串。只允许包含下划线、中划线、大写英文字母、小写英文字母和数字。 |
| inputs | inputs | 必选 | 只有一个元素的数组。 | 长度为1。 |
| \- | name | 必选 | 输入名称，固定"input0"。 | 字符串长度小于或等于256。 |
| \- | shape | 必选 | 参数维度，一维时代表data长度，二维时代表1行n列，n为data长度。 | data长度范围为(0, min(1024\*1024, maxInputTokenLen, maxSeqLen\-1, max\_position\_embeddings)]。其中max\_position\_embeddings从权重文件config.json中获取，其他相关参数从配置文件中获取。 |
| \- | datatype | 必选 | data数据类型，目前场景仅支持UINT32，传递tokenid。 | “UINT32”。 |
| \- | data | 必选 | 数组，代表输入的tokenId值。 | data长度和shape中传入的data长度一致。 tokenId的值需要在模型词表范围内。 |
| outputs | outputs | 必选 | 推理结果输出结构。 | outputs长度需要和inputs的长度保持一致。 |
| \- | name | 必选 | 推理结果输出名。 | 字符串。 |
| parameters | parameters | 可选 | 模型推理后处理相关参数。 | \- |
| \- | temperature | 可选 | 控制生成的随机性，较高的值会产生更多样化的输出。 | float类型，大于1e\-6，默认值1.0。 取值越大，结果的随机性越大。推荐使用大于或等于0.001的值，小于0.001可能会导致文本质量不佳。 建议最大值取2.0，同时视模型而定。 |
| \- | top\_k | 可选 | 控制模型生成过程中考虑的词汇范围，只从概率最高的k个候选词中选择。 | int类型，取值范围(0, 2147483647]。 字段未设置时，默认值由后端模型确定： atb（ATB Models）：配置文件为generation\_config.json文件与config.json文件，其中generation\_config.json的优先级更高。若用户与模型权重均未指定“top\_k”参数，为平衡性能与推理效果，“top\_k”参数将会被设定为1000。 ms（MindSpore）：配置文件为“.yaml”结尾的文件。若用户与模型权重均未指定“top\_k”参数，“top\_k”参数将会被设定为0。 字段设置的取值大于或等于vocabSize时，默认值为vocabSize。vocabSize是从modelWeightPath路径下的config.json文件中读取的vocab\_size或者padded\_vocab\_size的值，若不存在则vocabSize取默认值0。建议用户在config.json文件中添加vocab\_size或者padded\_vocab\_size参数，否则可能导致推理失败。 |
| \- | top\_p | 可选 | 控制模型生成过程中考虑的词汇范围，使用累计概率选择候选词，直到累积概率超过给定的阈值。该参数也可以控制生成结果的多样性，它基于累积概率选择候选词，直到累积概率超过给定的阈值为止。 | float类型，取值范围(1e\-6, 1.0]，默认值1.0。 |
| \- | do\_sample | 可选 | 是否做sampling。 | bool类型，不传递该参数时，将由其他后处理参数决定是否做sampling。 true：做sampling。 false：不做sampling。 |
| \- | seed | 可选 | 用于指定推理过程的随机种子，相同的seed值可以确保推理结果的可重现性，不同的seed值会提升推理结果的随机性。 | uint64\_t类型，取值范围(0, 18446744073709551615]，不传递该参数，系统会产生一个随机seed值。 当seed取到临近最大值时，会有WARNING，但并不会影响使用。若想去掉WARNING，可以减小seed取值。 |
| \- | repetition\_penalty | 可选 | 重复惩罚用于减少在文本生成过程中出现重复片段的概率。它对之前已经生成的文本进行惩罚，使得模型更倾向于选择新的、不重复的内容。 | float类型，大于0.0，默认值1.0。 小于1.0表示对重复进行奖励。 1.0表示不进行重复度惩罚。 大于1.0表示对重复进行惩罚。 建议最大值取2.0，同时视模型而定。 |
| \- | max\_new\_tokens | 可选 | 允许推理生成的最大token个数。实际产生的token数量同时受到配置文件maxIterTimes参数影响，推理token个数小于或等于Min(maxIterTimes, max\_new\_tokens)。 | int类型，取值范围(0，2147483647]，默认值20。 |
| \- | watermark | 可选 | 是否带模型水印。 当前后处理不支持。 | bool类型，默认值false。 true：带模型水印。 false：不带模型水印。 |
| \- | details | 可选 | 是否返回推理详细输出结果。 此配置项为Triton文本推理所使用参数，在Triton Token推理无效，不建议传输。 | bool类型，默认值false。 |
| \- | batch\_size | 可选 | 推理请求batch\_size。 此配置项为Triton文本推理所使用参数，在Triton Token推理无效，不建议传输。 | int类型，取值范围(0，2147483647]，默认值1。 |
| \- | priority | 可选 | 设置请求优先级。 | uint64\_t类型，取值范围[1, 5]，默认值5。 值越低优先级越高，最高优先级为1。 |
| \- | timeout | 可选 | 设置等待时间，超时则断开请求。 | uint64\_t类型，取值范围(0, 3600]，默认值600，单位：秒。 |


#### 使用样例

请求样例：

```
POST https://
{ip}:{port}
/v2/models/llama3-70b/infer
```

请求消息体：

```
{
"id": "42",
"inputs": [{
"name": "input0",
"shape": [
1,
10
],
"datatype": "UINT32",
"data": [
396, 319, 13996, 29877, 29901, 29907, 3333, 20718, 316, 23924
]
}],
"outputs": [{
"name": "output0"
}],
"parameters": {
"temperature": 0.5,
"top_k": 10,
"top_p": 0.95,
"do_sample": true,
"seed": null,
"repetition_penalty": 1.03,
"max_new_tokens": 20,
"watermark": true,
"priority": 5,
"timeout": 10
}
}
```

响应样例：

```
{
"id": "42",
"outputs": [
{
"name": "output0",
"shape": [
1,
20
],
"datatype": "UINT32",
"data": [
1,
396,
319,
13996,
29877,
29901,
29907,
3333,
20718,
316,
23924,
562,
2142,
1702,
425,
14015,
16060,
316,
383,
19498
]
}
]
}
```


#### 输出说明

| 返回值 | 返回值 | 类型 | 说明 |
| --- | --- | --- | --- |
| id | id | string | 请求ID。 |
| outputs | outputs | list | 推理结果列表。 |
| \- | name | string | 默认"output0"。 |
| \- | shape | list | 结构为[1, n]，1表示1维数组，n表示data字段中token结果长度。 |
| \- | datatype | string | "UINT32"。 |
| \- | data | list | 推理后生成的token id集合。 |
