文档首页/ 应用平台 AppStage/ API参考/ API/ 模型调用/ 调用文本对话模型服务
更新时间:2025-08-08 GMT+08:00
分享

调用文本对话模型服务

功能介绍

调用大语言模型推理服务,根据用户问题,获取大语言模型的回答。

调用方法

请参见如何调用API

URI

POST https://aiae.appstage.myhuaweicloud.com/v1/chat/completions

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

Authorization

String

参数解释:

鉴权信息。获取平台API Key,并为API Key添加前缀Bearer,得到标准鉴权信息,例如Bearer sk-74e4157***。API Key获取方法请参见创建API Key

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

messages

Array of ChatCompletionRequestMessage objects

参数解释:

文本对话消息体类。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

model

String

参数解释:

模型服务调用唯一id字段。平台定义了3种模型服务:

1.平台预置模型服务

登录AI原生应用引擎,在左侧导航栏选择”资产中心“,选择“大模型”页签,单击模型卡片进入模型详情页面,查看模型服务调用ID。

2.租户部署模型服务

登录AI原生应用引擎,在左侧导航栏选择“模型中心 > 我的模型服务”,选择“我部署的”页签,在模型服务列表中复制模型服务调用ID。

3.租户接入模型服务

登录AI原生应用引擎,在左侧导航栏选择“模型中心 > 我的模型服务”,选择“我接入的”页签,在模型服务列表中复制模型服务调用ID。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

frequency_penalty

Number

参数解释:

正值会根据文本中新Token的现有频率对其进行惩罚,从而降低模型重复相同行的可能性。

约束限制:

不涉及。

取值范围:

介于-2.0和2.0之间。

默认取值:

0。

logit_bias

Map<String,Integer>

参数解释:

该参数接受一个JSON对象,将标记映射到从-100(禁止)到100(独占选择标记)的关联偏差值。

像-1和1这样的适度值将以较小的程度改变选择标记的概率。

使用logit_bias参数时,偏差被添加到模型生成的logits之前进行抽样。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

max_tokens

Integer

参数解释:

返回体允许的最大token数。

约束限制:

不涉及。

取值范围:

介于1和4096之间。

默认取值:

4096。

n

Integer

参数解释:

返回体中包含的chatCompletionChoice数量,建议默认设置为1,最大限度地降低成本。

约束限制:

不涉及。

取值范围:

介于1和128之间。

默认取值:

1。

presence_penalty

Number

参数解释:

正值会根据它们是否出现在文本中来惩罚得到新的Token,从而增加模型谈论新主题的可能性。

约束限制:

不涉及。

取值范围:

介于-2.0和2.0之间。

默认取值:

0。

stream

Boolean

参数解释:

是否流式返回。

设为true时,返回结果为流式;

设为false时,返回结果为JSON格式结构化数据。

约束限制:

不涉及。

取值范围:

true或者false。

默认取值:

false。

temperature

Number

参数解释:

较高的数值会使输出更加随机,而较低的数值会使其更加集中和确定。建议该参数设置为1。

约束限制:

不涉及。

取值范围:

介于0.0和2.0之间。

默认取值:

1。

top_p

Number

参数解释:

影响输出文本的多样性,取值越大,生成文本的多样性越强。

约束限制:

不涉及。

取值范围:

介于0.0和1.0之间。

默认取值:

0.5。

tools

FunctionCallTool object

参数解释:

可供模型调用的工具。

约束限制:

目前仅如下模型支持此功能:

glm-4

glm-3-turbo

moonshot-v1-8k

moonshot-v1-32k

moonshot-v1-128k

取值范围:

参考约束限制。

默认取值:

不涉及。

tool_choice

String

参数解释:

用于控制模型是如何选择要调用的函数,仅当工具类型为function时补充。

约束限制:

不涉及。

取值范围:

当前仅支持auto。

默认取值:

auto。

content_security_verify

ContentSecurityVerify object

参数解释:

控制是否开启内容审核。如果开启内容审核,AI原生应用引擎会对模型返回结果进行审查。

约束限制:

不涉及。

取值范围:

true或者false。

默认取值:

false。

表3 ChatCompletionRequestMessage

参数

是否必选

参数类型

描述

content

String

参数解释:

消息具体内容。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

role

String

参数解释:

消息体对应的角色。

约束限制:

不涉及。

取值范围:

如果是系统则为system。

如果是用户则为user。

默认取值:

不涉及。

name

String

参数解释:

对话参与者的可选名称,提供给模型信息以区分相同角色的不同对话参与者。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表4 FunctionCallTool

参数

是否必选

参数类型

描述

type

String

参数解释:

调用工具类型。

约束限制:

目前仅支持function。

取值范围:

不涉及。

默认取值:

function。

function

function object

参数解释:

仅当工具类型为function时补充。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表5 function

参数

是否必选

参数类型

描述

name

String

参数解释:

函数名称。

约束限制:

只能包含a-z,A-Z,0-9,下划线和中横线,最大长度限制为64。

取值范围:

不涉及。

默认取值:

不涉及。

description

String

参数解释:

用于描述函数功能。

模型会根据这段描述决定函数调用方式。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

parameters

Object

参数解释:

Json Schema对象,用于定义函数所接受的参数。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

表6 ContentSecurityVerify

参数

是否必选

参数类型

描述

is_response_verify

Boolean

参数解释:

是否开启返回体内容审核(默认不开启)。

有文本内容,则对文本进行内容审核;

有图片内容,则会对图片进行内容审核。

约束限制:

不涉及。

取值范围:

true或false

默认取值:

false。

响应参数

状态码:200

表7 响应Body参数

参数

参数类型

描述

id

String

参数解释:

文本对话唯一标识符。

取值范围:

不涉及。

choices

Array of choices objects

参数解释:

返回体列表。

如果‘n’大于1,则结果为多个。

取值范围:

不涉及。

created

Integer

参数解释:

问答发生的时间(格式为时间戳)。

取值范围:

不涉及。

model

String

参数解释:

实际转发后调用的模型名称,与请求体中model可能不同。

取值范围:

不涉及。异常详情

object

String

参数解释:

固定值。

取值范围:

‘chat.completion’。

usage

CompletionUsage object

参数解释:

每次请求的用量统计。

取值范围:

不涉及。

表8 choices

参数

参数类型

描述

finish_reason

String

参数解释:

返回结束的原因。

1.stop:模型达到自然停止点或提供的停止序列;

2.length:达到请求中指定的最大令牌数;

3.content_filter:由于内容过滤器的标志而省略了内容。

取值范围:

不涉及。

index

Integer

参数解释:

返回多个choices时,每个choice对应的顺序。

取值范围:

不涉及。

message

ChatCompletionResponseMessage object

参数解释:

模型服务返回的具体消息体内容。

取值范围:

不涉及。

表9 ChatCompletionResponseMessage

参数

参数类型

描述

content

String

参数解释:

返回消息体的内容。

取值范围:

不涉及。

role

String

参数解释:

返回消息体的角色。

取值范围:

不涉及。

表10 CompletionUsage

参数

参数类型

描述

completion_tokens

Integer

参数解释:

回答包含的token数。

取值范围:

不涉及。

prompt_tokens

Integer

参数解释:

提问包含的token数。

取值范围:

不涉及。

total_tokens

Integer

参数解释:

提问+回答token总数。

取值范围:

不涉及。

状态码:500

表11 响应Body参数

参数

参数类型

描述

error

Error object

参数解释:

异常详情。

取值范围:

不涉及。

error_code

String

参数解释:

平台异常错误码。

取值范围:

不涉及。

error_msg

String

参数解释:

异常信息。

取值范围:

不涉及。

表12 Error

参数

参数类型

描述

code

String

参数解释:

异常码。

取值范围:

不涉及。

message

String

参数解释:

异常信息。

取值范围:

不涉及。

param

String

参数解释:

异常参数,暂未使用。

取值范围:

不涉及。

type

String

参数解释:

异常类型,同code。

取值范围:

不涉及。

请求示例

{
  "model" : "publisher:baichuan:Baichuan2-Turbo",
  "messages" : [ {
    "role" : "system",
    "content" : "You are a helpful assistant."
  }, {
    "role" : "user",
    "content" : "你好!"
  } ]
}

响应示例

状态码:200

OK

{
  "created" : 1718772336,
  "usage" : {
    "completion_tokens" : 23,
    "prompt_tokens" : 45,
    "total_tokens" : 68
  },
  "model" : "Baichuan2-Turbo",
  "id" : "chatcmpl-xxx",
  "choices" : [ {
    "finish_reason" : "stop",
    "index" : 0,
    "message" : {
      "role" : "assistant",
      "content" : "你好,有什么我可以帮助你的吗?"
    },
    "logprobs" : null
  } ],
  "object" : "chat.completion"
}

状态码:500

服务器内部错误或三方服务器内部错误。

{
  "error" : {
    "message" : "Internal server error, please try again later!",
    "type" : "internal_error",
    "param" : null,
    "code" : "internal_error"
  },
  "error_code" : "AIAE.31001001",
  "error_msg" : "Internal server error, please try again later!"
}

状态码

状态码

描述

200

OK

500

服务器内部错误或三方服务器内部错误。

错误码

请参见错误码

相关文档