历史文档仅适用于百炼1.0版本的API和SDK调用,鉴于旧版功能已停止迭代更新,强烈建议您升级至最新版API和SDK,具体详情请参考新版本升级说明。
功能描述
本文主要介绍如何使用API调用阿里云百炼模型应用,包括从模型广场中创建的官方大模型应用(如通义千问-Plus、通义千问等)、自训练模型应用和官方预置应用 (如营销标题生成、营销文案生成、摘要抽取、文案续写和商品评论等)。
首先,请参考文档Access Key、Access Secret Key、Agent Key、AppId获取方式获取AK/SK、Agent Key和AppId。如果是RAM账号,请参考文档RAM子账号使用方式和授权操作进行授权操作。
其次, 调用API需要获取到临时Token,请参照创建Token。
通义千问-摘要增强版应用请参考三方模型应用调用方式。
API详情
请求地址: https://bailian.aliyuncs.com/v2/app/completions
请求方式:POST
请求数据格式:JSON
请求参数
参数名 | 参数类型 | 是否必填 | 说明 | 示例值 |
请求头 | ||||
Content-Type | string | 是 | 请求类型 | application/json; charset=utf-8 |
Accept | string | 否 | 流式响应时,需要携带此请求头,非流式响应不需要携带。 | text/event-stream |
Authorization | string | 是 | API临时Token。 | Bearer cc*******m3 |
请求Body | ||||
RequestId | string | 是 | 请求唯一标识,请确保RequestId不重复。 | 30**********869 |
AppId | string | 是 | 阿里云百炼应用唯一标识。 | ea*****541 |
Stream | boolean | 否 | 是否流式输出, 默认为否。 | false |
Messages | list | 否 | 用户与模型的对话历史 | [{"Role": "system", "Content": "你是一名历史学家"}, {"Role": "user", "Content": "中国封建王朝经历多少年?"}] |
Messages.Role | string | 是 | 角色 | system、user或assistant |
Messages.Content | string | 是 | 提示词或模型内容 | 中国封建王朝经历多少年? |
TopP | float | 否 | 生成时,核采样方法的概率阈值。例如,取值为0.8时,仅保留累计概率之和大于等于0.8的概率分布中的token,作为随机采样的候选集。取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的随机性越低。默认值为0.8。注意,取值不要大于等于1 | 0.8 |
Parameters | Parameter | 否 | 模型参数设置。 | |
Parameters.ResultFormat | string | 否 | 输出格式, 默认为"text" "text"表示旧版本的text "message"表示兼容openai的message | "text"或"message" |
Parameters.TopK | int | 否 | 生成时,采样候选集的大小。例如,取值为50时,仅将单次生成中得分最高的50个token组成随机采样的候选集。取值越大,生成的随机性越高;取值越小,生成的确定性越高。注意:如果top_k参数为空或者top_k的值大于100,表示不启用top_k策略,此时仅有top_p策略生效,默认是空。 | 50 |
Parameters.Seed | int | 否 | 生成时使用的随机数种子,用户控制模型生成内容的随机性。seed支持无符号64位整数,默认值为1234。在使用seed时,模型将尽可能生成相同或相似的结果,但目前不保证每次生成的结果完全相同。 | 65535 |
Parameters.Temperature | float | 否 | 用于控制随机性和多样性的程度。具体来说,temperature值控制了生成文本时对每个候选词的概率分布进行平滑的程度。较高的temperature值会降低概率分布的峰值,使得更多的低概率词被选择,生成结果更加多样化;而较低的temperature值则会增强概率分布的峰值,使得高概率词更容易被选择,生成结果更加确定。 取值范围: [0, 2),系统默认值1.0。不建议取值为0,无意义。 | 1.0 |
Parameters.MaxTokens | int | 否 | 用于限制模型生成token的数量,max_tokens设置的是生成上限,并不表示一定会生成这么多的token数量。其中qwen-turbo 最大值和默认值为1500, qwen-max、qwen-max-1201 、qwen-max-longcontext 和 qwen-plus最大值和默认值均为2000。 | 1500 |
Parameters.Stop | list[string] | 否 | stop参数用于实现内容生成过程的精确控制,在生成内容即将包含指定的字符串或token_ids时自动停止,生成内容不包含指定的内容。 例如,如果指定stop为"你好",表示将要生成"你好"时停止;如果指定stop为[37763, 367],表示将要生成"Observation"时停止。 | ["结束", "停止"] |
Parameters.IncrementalOutput | boolean | 否 | 用于控制流式输出模式,默认False,即后面内容会包含已经输出的内容;设置为True,将开启增量输出模式,后面输出不会包含已经输出的内容,您需要自行拼接整体输出,参考流式输出示例代码。 | true或false |
响应参数
字段名 | 字段类型 | 说明 | |
公共响应参数 | |||
Success | boolean | 是否成功(true: 成功,false: 失败)。 | |
Code | string | 错误代码。 | |
Message | string | 错误消息。 | |
RequestId | string | 请求唯一标识。 | |
Data | object | 文本生成结果。 | |
响应数据 | |||
ResponseId | string | 大模型的responseId。 | |
Text | string | 本次模型调用的输出内容。 | |
Choices | list | 本次模型调用的输出为message格式的内容。 | |
Choices[x].FinishReason | string | 有三种情况:正在生成时为null,生成结束时如果由于停止token导致则为stop,生成结束时如果因为生成长度过长导致则为length。 | |
Choices[x].Message.Role | string | 本次模型调用的输出内容的角色,通常为assistant | |
Choices[x].Message.Content | string | 本次模型调用的输出内容 | |
Usage | list | 应用级别的token消耗 | |
Usage[x].InputTokens | int | 本次请求输入内容的token数。 | |
Usage[x].OutputTokens | int | 本次请求输出内容的token数。 |
示例
请求示例
curl -X "POST" "https://bailian.aliyuncs.com/v2/app/completions" \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Authorization: Bearer <token>' \
-H 'Accept-charset: utf-8' \
-d '{
"RequestId": "<RequestId>",
"AppId": "<AppId>",
"Messages": [
{
"Role": "system",
"Content": "你是一名历史学家"
},
{
"Role": "user",
"Content": "帮我生成一篇200字的文章,描述一下春秋战国的经济和文化"
}
],
"Parameters": {
"ResultFormat": "message"
}
}' --verbose
响应示例
{
"Success": true,
"Data": {
"ResponseId": "658a1e2**************fb40842",
"Choices": [
{
"Index": 0,
"Message": {
"Role": "assistant",
"Content": "春秋战国时期,是中国历史上一段充满变革与创新的时代。经济领域,随着铁器和牛耕技术的推广,农业生产效率大幅提升,井田制逐渐瓦解,土地私有化兴起,催生了封建地主经济形态的发展。手工业和商业也空前活跃,出现了一批独立的手工业者和商人阶层,如桔槔等提水工具的发明和水利工程的建设进一步推动了农业文明的进步。\n\n在文化层面,春秋战国时期堪称中国哲学与思想的黄金时代,出现了“百家争鸣”的盛况。传统的“学在官府”局面被打破,私人办学兴起,孔子、墨子、老子等诸多先贤创立学派,著书立说,对人性、道德、国家治理等领域展开深入探讨,极大地丰富了中华文化的内涵,为后世奠定了坚实的思想基础。这一时期的文化繁荣与社会变革相互促进,共同塑造了华夏文明的独特风貌。"
},
"FinishReason": "stop"
}
],
"Usage": [
{
"InputTokens": 21,
"OutputTokens": 193,
"ModelId": "qwen-plus-v1"
}
]
},
"RequestId": "f0a953cc-****************-f32e606985d7"
}
请求示例(流式SSE)
curl -X "POST" "https://bailian.aliyuncs.com/v2/app/completions" \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Authorization: Bearer <token>' \
-H 'Accept: text/event-stream' \
-H 'Accept-charset: utf-8' \
-d '{
"RequestId": "<RequestId>",
"AppId": "<AppId>",
"Stream": true,
"Messages": [
{
"Role": "system",
"Content": "你是一名历史学家"
},
{
"Role": "user",
"Content": "帮我生成一篇200字的文章,描述一下春秋战国的经济和文化"
}
],
"Parameters": {
"ResultFormat": "message",
"IncrementalOutput": true
}
}' --verbose
响应示例(流式SSE)
data: {
"Success": true,
"Data": {
"ResponseId": "cd18068************2eb8c4c413",
"Choices": [
{
"Delta": null,
"FinishReason": "stop",
"Index": 0,
"Message": {
"Content": "",
"Role": "assistant"
}
}
],
"Usage": [
{
"InputTokens": 21,
"OutputTokens": 181,
"ModelId": "qwen-plus-v1"
}
]
},
"RequestId": "f0a953cc-******************-f32e606985d7"
}