Completion API文档(旧版)
功能描述
阿里云百炼支持原生HTTP方式来调用客户在阿里云百炼平台左侧应用中心创建的应用,目前提供 HTTP和HTTP SSE两种协议,分别对应着同步返回应用结果,和流式返回应用结果,您可以根据自己的要求自行选择。
HTTP:同步返回,等待大模型生成所有的文本后返回结果。
HTTP SSE:流式返回,大模型生成部分结果后立即返回结果,适合对响应延迟要求低的场景,如对话场景。
首先,请参考文档AccessKey、AppID及AgentKey获取方式获取AK/SK、AgentKey和AppID。如果是RAM账号,请参考文档如何使用业务空间中的RAM账号使用方式。其次,调用API或SDK获取到临时Token,请参照创建Token。
协议:HTTP
请求方式:POST
携带参数(json格式)
请求参数:
参数名 | 参数类型 | 是否必填 | 说明 |
Request Heders | |||
Content-Type | string | 是 | 请求类型:application/json; charset=utf-8。 |
Accept | string | 否 | 流式响应时,需要携带此请求头text/event-stream,非流式响应不需要携带。 |
Authorization | string | 是 | API临时Token,例如:Bearer cc**m3。 |
Request Body | |||
RequestId | string | 是 | 请求唯一标识,如30****869。 |
SessionId | string | 否 | 上下文唯一标识, 传入sessionId后,文本生成将具备记忆功能, 请确保sessionId不重复。 |
AppId | string | 是 | 阿里云百炼应用唯一标识, 如ea*****541。 |
Prompt | string | 是 | 提示词,如"今天的天气如何?" |
TopP | float | 否 | 生成过程中核采样方法概率阈值,例如,取值为0.8时,仅保留概率加起来大于等于0.8的最可能token的最小集合作为候选集。取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的确定性越高。 |
Stream | boolean | 否 | 是否流式输出,默认为否。 |
HasThoughts | boolean | 否 | 是否输出大模型的推理过程。 |
BizParams | object | 否 | 业务API使用的参数,可以直接进行透传。 |
DocReferenceType | string | 否 | 启用文档检索后,文档引用类型, 取值包括: simple | indexed。 simple:返回文档引用信息,但文本中不包含文档角标的索引位置。 indexed:返回文档引用信息,文本中包含文档角标的索引位置。 |
History | list[ChatQaPair] | 否 | 调用侧的上下文对话历史。 |
Parameters | Parameter | 否 | 模型参数设置。 |
DocTagIds | long[] | 否 | 文档标签id。 |
ChatQaPair | |||
User | string | 是 | 对话历史的用户消息。 |
Bot | string | 是 | 对话历史大的模型消息。 |
Parameter | |||
TopK | int | 否 | 排名最高的K个结果。 |
Seed | int | 否 | 初始化值。 |
UseRawPrompt | boolean | 否 | 原始提示字符串 |
Temperature | float | 否 | 采样温度在0到2之间。较高的值(如0.8)将使输出更加随机,而较低的值(如0.2)将使输出更加集中和确定。我们通常建议修改temperature或top_p,但不建议两者都修改。 |
MaxTokens | int | 否 | 模型生成的token的最大数量。输入token数量和生成token数量的总长度受模型上下文长度的限制。 |
响应参数:
字段名 | 字段类型 | 说明 | |
Success | boolean | 是否成功(true:成功,false:失败)。 | |
Code | string | 错误代码。 | |
Message | string | 错误消息。 | |
RequestId | string | 请求唯一标识。 | |
Data | object | 文本生成结果。 | |
Data | |||
ResponseId | string | 大模型的responseId。 | |
SessionId | string | 上下文会话唯一标识。 | |
Text | string | 最终输出结果。 | |
Thoughts | List[Thought] | 推理过程信息。 | |
DocReferences | List[DocReference] | 文档引用信息。 | |
Usage | List[Usage] | 应用级别的token消耗 |
Thought:推理过程数据格式定义
参数 | 类型 | 描述 |
Thought | string | LLM思考结果。 |
ActionType | string | LLM返回的执行步骤类型,api:执行API插件,response:返回最终结果。 |
ActionName | string | 执行的action名称,如文档检索。 |
Action | string | 执行的步骤。 |
ActionInputStream | string | 入参的流式结果。 |
ActionInput | string | 插件的输入参数。 |
Response | string | LLM返回的结果。 |
Observation | string | 插件的返回结果。 |
DocReference:文档引用数据格式定义
参数 | 类型 | 描述 | |
IndexId | string | 引用的角标索引 | |
Title | string | 引用的文档标题 | |
DocId | string | 引用的文档ID | |
DocName | string | 引用的文档名 | |
DocUrl | string | 文档下载地址 | |
Text | string | 引用的文档内容 | |
BizId | string | 业务关联标识 |
Usage:token用量数据格式定义
参数 | 类型 | 描述 | |
InputTokens | int | 输出文本消耗的token | |
OutputTokens | int | 输出文本消耗的token |
CURL请求示例
以下示例通过CURL命令调用生成文本。
curl -X "POST" "https://bailian.aliyuncs.com/v2/app/completions" \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Authorization: Bearer <token>' \
-d '{"RequestId": "<uuid>", "Prompt":"帮我生成一份HTTP API的文档","AppId":"<app id>"}' --verbose
通过CURL命令调用阿里云百炼文本生成接口(流式响应结果)。
curl -X "POST" "https://bailian.aliyuncs.com/v2/app/completions" \
-H 'Content-Type: application/json; charset=utf-8' \
-H 'Accept: text/event-stream' \
-H 'Authorization: Bearer <token>' \
-d '{"RequestId": "<uuid>", "Prompt":"帮我生成一份HTTP API的文档","AppId":"<app id>", "Stream": true}' --verbose