文本补全
接口描述(Description)
基于给定的输入提示词,生成文本内容。
请求地址(Request URL)
[POST] https://api.sensenova.cn/v1/llm/completions
请求头(Request Header)
无特殊Header,请参考接口鉴权
请求体(Request Body)
请注意,单次请求,用户输入的token总数(即
prompt的token数) + 用户期望模型生成的最大token数(即max_new_tokens的值),必须 <= 模型最大上下文长度
| 名称 | 类型 | 必须 | 默认值 | 可选值 | 描述 |
|---|---|---|---|---|---|
| prompt | string | 是 | - | - | 输入文本 |
| model | string | 是 | - | 参考查询模型列表 | 模型ID |
| n | int | 否 | 1 | [1,4] | 生成结果数量 |
| max_new_tokens | int | 否 | 1024 | [1,2048] | 期望模型生成的最大token数(不同模型支持的上下文长度不同,因此最大值也不同) |
| repetition_penalty | float | 否 | 1.05 | (0,2] | 重复惩罚系数,1代表不惩罚,大于1倾向于生成不重复token,小于1倾向于生成重复token,推荐使用范围为[1,1.2] |
| stop | string | 否 | - | - | 停止生成的语句(用户可自定义让模型什么情况下停止生成) |
| stream | boolean | 否 | false | 开启:true 关闭: false | 是否使用流式传输,如果开启,数据将按照data-only SSE(server-sent events)返回中间结果,并以 data: [DONE] 结束 |
| temperature | float | 否 | 0.8 | (0,2] | 温度采样参数,大于1的值倾向于生成更加多样的回复,小于1倾向于生成更加稳定的回复 |
| top_p | float | 否 | 0.7 | (0,1) | 核采样参数,解码生成token时,在概率和大于等于top_p的最小token集合中进行采样 |
请求示例(Request Example)
curl --request POST "https://api.sensenova.cn/v1/llm/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $API_TOKEN" \
-d '{
"max_new_tokens": 1024,
"model": "string",
"n": 1,
"prompt": "string",
"repetition_penalty": 1.05,
"stop": "string",
"stream": false,
"temperature": 1,
"top_p": 0.7
}'
响应(Response)
| 名称 | 类型 | 描述 |
|---|---|---|
| data | object | 生成内容 |
data部分参数如下:
| 名称 | 类型 | 描述 |
|---|---|---|
| id | string | 消息ID |
| choices | object[] | 生成的回复列表 |
| usage | object | token使用量 |
choices部分参数如下:
| 名称 | 类型 | 描述 |
|---|---|---|
| text | string | 非流式请求时,生成的回复内容 |
| index | int | 生成的回复序号 |
| finish_reason | string | 停止生成的原因,枚举值 因结束符停止生成: stop 因达到最大生成长度停止生成: length 因触发敏感词停止生成: sensitive 因触发模型上下文长度限制: context |
| delta | string | 流式请求时,生成的回复内容 |
usage部分参数如下:
| 名称 | 类型 | 描述 |
|---|---|---|
| prompt_tokens | int | 用户输入内容的token数 |
| completion_tokens | int | 生成文本对应的token数 |
| total_tokens | int | 总token数 |
响应示例(Response Example)
- 流式
data:{"data":{"id":"123456789012345","choices":[{"index":0,"delta":"This"}],"usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}},"status":{"code":0, "message": "ok"}}
data:{"data":{"id":"123456789012345","choices":[{"index":0,"delta":"is","finish_reason":""}],"usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}},"status":{"code":0, "message": "ok"}}
data:{"data":{"id":"123456789012345","choices":[{"index":0,"delta":"a","finish_reason":""}],"usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}},"status":{"code":0, "message": "ok"}}
data:{"data":{"id":"123456789012345","choices":[{"index":0,"delta":"test","finish_reason":""}],"usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}},"status":{"code":0, "message": "ok"}}
data:{"data":{"id":"123456789012345","choices":[{"index":0,"delta":"!","finish_reason":""}],"usage":{"prompt_tokens":0,"completion_tokens":0,"total_tokens":0}},"status":{"code":0, "message": "ok"}}
data:{"data":{"id":"123456789012345","choices":[{"index":0,"delta":"","finish_reason":"stop"}],"usage":{"prompt_tokens":6,"completion_tokens":6,"total_tokens":12}},"status":{"code":0, "message": "ok"}}
data:[DONE]
- 非流式
{
"data": {
"choices": [
{
"finish_reason": "string",
"index": 0,
"text": "string"
}
],
"id": "string",
"usage": {
"completion_tokens": 0,
"prompt_tokens": 0,
"total_tokens": 0
}
}
}
错误信息
参考错误码