如何调用API
更新时间 2025-09-08 17:09:14
最近更新时间: 2025-09-08 17:09:14
本文为您详细介绍推理服务API调用流程。
终端节点
● 主要作用:用户信息的发送和接收,信令信息的控制处理、安全保护等作用。
● 终端节点:https://wishub-x1.ctyun.cn
构造请求
请求地址
模型接口请求地址:https://wishub-x1.ctyun.cn/v1/chat/completions
通信协议
接口通过 HTTPS 进行通信,保护用户数据的机密性和完整性,确保网络通信的安全性。
请求方法
● 支持的HTTP请求方法:POST。
● POST请求支持的Content-Type类型:application/json。
认证鉴权
登录慧聚平台门户,慧聚一站式智算服务平台->模型服务->服务接入->创建服务组->绑定服务->获取appKey
请求参数
请求头header参数
参数 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
Content-Type | String | 是 | application/json | json格式。 |
Authorization | String | 是 | Bearer APP_KEY | 请求鉴权的 AppKey,由慧聚平台提供。Bearer 开头。 |
请求体body参数
名称 | 类型 | 必选 | 示例值 | 描述 |
---|---|---|---|---|
model | String | 是 | MODEL_ID | 模型ID。 |
messages | Array | 是 | [ { "role": "user", "content": "你是谁?"} ] | 用户当前输入的期望模型执行指令。一个列表内多个字典,支持多轮对话。每个字典由 role 和 content 两部分组成。role 的可选值为 user、assistant、system。仅messages[0]中支持role为system;role为 user 时说明是用户提问,role为 assistant 时说明是模型回答。content 中为实际的文本内容。单轮 / 多轮对话中,获取最后一个 role=user 时的 content 的输入作为模型的提问(即最后一个角色必须为user),其余结果除system角色外都为历史信息拼接送入。 |
messages(qwen-VL模型使用) | Array | 是 | [ { "role": "user", "content": "你是谁?"} ]或[{"role": "user","content" : [{"type":"image_url","image_url": {"url": img_url}},{"type": "text","text": "这是什么"}]}] | 用户当前输入的期望模型执行指令。一个列表内多个字典,支持多轮对话。每个字典由 role 和 content 两部分组成。role 的可选值为 user、assistant、system;content是输入内容,当为string时,直接是输入的文本;当为Array Object 类型输入时,根据content里的type判断输入类型。仅messages[0]中支持role为system;role为 user 时说明是用户提问,role为 assistant 时说明是模型回答。content 中为实际的文本内容。单轮 / 多轮对话中,获取最后一个 role=user 时的 content 的输入作为模型的提问(即最后一个角色必须为user),其余结果除system角色外都为历史信息拼接送入。 |
temperature | Float | 否 | 0.8 | 超参:温度采样。取值范围(0, 2),默认值为 0.8。该值越高生成文本的多样性越高,该值越低生成文本的确定性越高。百川模型此参数取值范围:[0, 1],默认0.3。 |
top_p | Float | 否 | 0.8 | 超参:top-p 采样。取值范围 (0, 1],默认值为 0.8。该值越高生成文本的多样性越高,该值越低生成文本的确定性越高。该值为 0 时没有随机性。百川模型此参数取值范围:[0, 1],默认值0.85。 |
top_k | Int | 否 | 1 | 超参:top_k 采样。预置大模型取值范围 [1, 100]。默认值为 5 。百川模型此参数取值范围: [0, 20]。取值越大,生成的随机性越高;取值越小,生成的确定性越高。 |
max_tokens | Int | 否 | 2048 | 超参:最大生成长度。取值范围(0, 2048],默认值为 2048。控制最大生成长度,超过该值则截断。为了避免过长的输出会胡言乱语,目前控制最大长度为 2k。 |
frequency_penalty | Float | 否 | 1.0 | 频率惩罚:取值范围[-2.0, 2.0],默认值为 0.0 ,它影响模型如何根据文本中词汇(token)的现有频率惩罚新词汇(token)。值大于 0 ,会根据新标记在文本中的现有频率来惩罚新标记,从而降低模型逐字重复同一行的可能性。百川模型无此参数。 |
presence_penalty | Float | 否 | 1.0 | 存在惩罚:用户控制模型生成时整个序列中的重复度。提高presence_penalty时可以降低模型生成的重复度,取值范围[-2.0, 2.0]。百川模型无此参数。 |
seed | Int | 否 | 1 | 随机种子:取值范围(0, 9223372036854775807]。用于指定推理过程的随机种子,相同的seed值可以确保推理结果的可重现性,不同的seed值会提升推理结果的随机性。百川模型无此参数。 |
stop | Array | 否 | ["你好"] | 生成停止标识。当模型生成结果以 stop 中某个元素结尾时,停止文本生成。百川模型无此参数。 |
stream | Boolean | 否 | true | 选择请求方式,true为流式请求,false为http请求,如果不传入默认为false。 |
stream_options | Object | 否 | None | 该参数用于配置在流式输出时是否展示使用的token数目。只有当stream为True的时候该参数才会激活生效。若您需要统计流式输出模式下的token数目,可将该参数配置为stream_options={"include_usage":True}。 |
请求代码示例
curl --location 'https://wishub-x1.ctyun.cn/v1/chat/completions' \
--header 'Authorization: Bearer APP_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "你是谁"
}
]
}'
返回值说明
请求成功返回响应参数
名称 | 类型 | 描述 | 示例值 | 下级对象 |
---|---|---|---|---|
code | Int | 接口状态码,返回状态,返回 0 表示成功 | 0 | |
choices | Array | 模型返回的结果 | - | choices |
created | Int | 回答的创建时间,由模型侧返回 | 1719904068 | |
object | String | 模型类,由模型侧返回 | chat.completion | |
usage | Object | token计数信息 | - | usage |
表choices
名称 | 类型 | 描述 | 示例值 | 下级对象 |
---|---|---|---|---|
finish_reason | String | 模型生成结果终止原因,由模型侧返回,stop为终止 | stop | |
index | Int | 模型侧返回,标记是第几个choice | 0 | |
message | Object | 模型侧返回的生成结果 | - | message |
表message
名称 | 类型 | 描述 | 示例值 | 下级对象 |
---|---|---|---|---|
content | String | 生成的回答语句 | 我是AI助手 | |
role | String | 设定的角色 | assistant |
表usage
名称 | 类型 | 描述 | 示例值 | 下级对象 |
---|---|---|---|---|
prompt_tokens | Int | 输入token数量 | 10 | |
completion_tokens | Int | 输出token数量 | 10 | |
total_tokens | Int | 总token数量 | 20 |
请求失败返回响应参数
字段名 | 二级字段 | 类型 | 描述 | 示例值 |
---|---|---|---|---|
error | - | Object | 错误信息 | - |
- | code | String | 错误码,返回错误代码参考下面的错误代码列表 | 500002 |
- | type | String | 返回对应的错误码 | PARAM_ERROR |
- | message | String | 返回对应的错误信息 | modelId不正确,请重试 |
错误码
错误状态码 | 错误码 | 错误信息 | 错误描述 |
---|---|---|---|
500001 | INVOKE_MODEL_ERROR | 服务接口异常,请联系管理员 | 推理接口异常 |
500002 | PARAM_ERROR | 参数不正确,请联系管理员 | 参数校验失败 |
500003 | SYSTEM_ERROR | 系统错误, 请联系管理员 | 系统内部错误 |
500004 | INCORRECT_API_KEY_PROVIDED | AppKey不正确,请使用正确的AppKey | 鉴权信息错误 |
600001 | INVOKE_TEXT_AUDIT_ERROR | 调用审查服务接口发生异常,请联系管理员 | 内容审核失败 |
600003 | TEXT_AUDIT_QUESTION_NOT_PASS | 很抱歉,关于这个问题我无法提供相应的信息。如果您有其他问题,我将很愿意为您回答 | 问题未通过内容审核 |
600004 | TEXT_AUDIT_ANSWER_NOT_PASS | 很抱歉,关于这个问题我无法提供相应的信息。如果您有其他问题,我将很愿意为您回答 | 答案未通过内容审核 |
600005 | RESOURCES_TIPS | 达到免费试用上限 | 免费试用限制 |
700001 | AK_RPM_RATELIMITING | 请求RPM超限,请稍后重试 | 每分钟请求数超限 |
700002 | AK_TPM_RATELIMITING | 请求TPM超限,请减少tokens后重试 | 每分钟tokens数超限 |
700003 | AK_BANNED | 您的请求AK已被封禁,请更换AK或联系后台人员解封后重试 | App Key被封禁 |
700004 | MODEL_RPM_RATELIMITING | 请求RPM超限,请稍后重试 | 每分钟请求数超限 |
700005 | MODEL_TPM_RATELIMITING | 请求TPM超限,请减少tokens后重试 | 每分钟tokens数超限 |
返回值示例
请求成功返回值示
{
"code":0,
"choices":[
{
"finish_reason":"stop",
"index":0,
"message":{
"content":"Llama2-13B-Chat",
"role":"assistant"
}
}
],
"created":1720426050,
"object":"chat.completion",
"usage":{
"completion_tokens":46,
"prompt_tokens":10,
"total_tokens":56
}
}
请求失败返回值示例
{
"error":{
"code":"500001",
"message":"算法服务接口异常,请联系管理员",
"type":"INVOKE_MODEL_ERROR"
}
}