接口详情
鉴权
字段 | 传参方式 | 类型 | 必传 | 描述 | 示例值 |
Authorization | header | String | 是 | API-Key | Bearer d1**2a |
路由配置
备注:SDK已封装好路由关系,通过SDK调用接口,无需设置接口路由配置。
字段 | 传参方式 | 类型 | 必传 | 描述 | 示例值 |
x-fag-appcode | header | String | 是 | 应用表示,固定为 | |
x-fag-servicename | header | String | 是 | 请求路由标识,不同接口值不一样,映射管理参考 | aca-character-create |
x-fag-servicename 与接口映射关系
接口 | 路径 | x-fag-appcode |
对话(流式) | /v2/api/chat/send | aca-chat-send-sse |
对话(非流式) | /v2/api/chat/send | aca-chat-send |
对话
非固定角色对话
接口
POST /v2/api/chat/send
入参
请求头参数
字段 | 传参方式 | 类型 | 必传 | 描述 |
X-AcA-SSE | header | String | 否 | 是否开启流式对话- 开启 - |
请求体参数
参数 | 类型 | 必传 | 说明 |
model | string | 否 | 模型,默认为空,若角色有配置则按照配置路由,若无配置则按照平台默认(xingchen-plus-v2)路由 |
parameters | object | 否 | 模型设置 |
parameters.topP | float | 否 | topP生成时,核采样方法的概率阈值。例如,取值为0.8时,仅保留累计概率之和大于等于0.8的概率分布中的token,作为随机采样的候选集。取值范围为(0,1.0),取值越大,生成的随机性越高;取值越低,生成的随机性越低。默认值 0.95。注意,取值不要大于等于1 |
parameters.seed | long | 否 | seed生成时,随机数的种子,用于控制模型生成的随机性。如果使用相同的种子,每次运行生成的结果都将相同;当需要复现模型的生成结果时,可以使用相同的种子。seed参数支持无符号64位整数类型。默认值 1683806810, 范围 [0, 9223372036854775807] |
parameters.temperature | float | 否 | 较高的值将使输出更加随机,而较低的值将使输出更加集中和确定。可选,默认取值0.92 |
parameters.incrementalOutput | boolean | 否 | 是否增量输出,若为true,每次流式输出不包含已输出内容,只对流式接口的输出有效 |
input.messages | array | 是 | 对话历史(时间正序),固定角色可通过角色配置最大对话轮数。list中的每个元素形式为{"role":角色, "content": 内容}。角色当前可选值:system、user、assistant,function,其中,仅messages[0]中支持role为system,user、assistant需要交替出现,最后一条为用户提问。 |
input.aca.botProfile | object | 是 | 角色设置。 |
input.aca.botProfile.name | string | 是 | 角色名称 |
input.aca.botProfile.content | string | 是 | 角色配置 |
input.aca.botProfile.traits | string | 否 | 强制要求 |
input.aca.sampleMessages | array | 否 | 对话示例 |
input.aca.userProfile | object | 是 | 用户设置 |
input.aca.userProfile.userId | string | 是 | 业务系统用户唯一标识,非固定角色接口支持并行对话,连续调用对话请求。 |
input.aca.userProfile.userName | string | 否 | 对话用户名称 |
input.aca.userProfile.basicInfo | string | 否 | 对话用户基本信息 |
input.aca.scenario | object | 否 | 角色场景设置,默认为当前对话时间 |
input.aca.scenario.description | string | 否 | 场景描述,可以为当前对话时间 |
input.aca.scenario.isRealTime | Booleam | 否 | 真实时间 |
input.aca.memory | object | 否 | 长期记忆 |
input.aca.memory.summaries | array | 否 | 抽取记忆 |
input.aca.memory.originals | array | 否 | 原文记忆 |
input.aca.memory.tags | array | 否 | kv记忆 |
input.aca.advancedSettings | object | 否 | 高级设置 |
input.aca.advancedSettings.enableWebSearch | boolean | 否 | 是否开启网络搜索 |
input.aca.advancedSettings.searchEnhancedKeyword | string | 否 | 网络搜索关键字 |
input.aca.advancedSettings.enableCharacterKbSearch | boolean | 否 | 是否开启知识库搜索 |
input.aca.advancedSettings.knowledgeBases | array[string] | 否 | 知识库id列表 |
input.aca.platformPlugins | array | 否 | 平台插件,如拒识插件,可看平台拒识插件参数详情 |
input.aca.functionList | array | 否 | 函数列表 |
function.name | string | 是 | 函数名称,如weather |
function.description | string | 是 | 函数描述,如通过调用天气预报API获取当地天气预报信息 |
function.parameters | object | 是 | 函数参数描述,如 |
注意:模型参数 |
平台拒识插件参数详情
参数 | 类型 | 必传 | 说明 |
platformPlugins.[i] | objcet | 否 | 平台插件 |
platformPlugins.[i].enabled | boolean | 是 | 是否启用 |
platformPlugins.[i].name | string | 是 | 插件名称,目前支持"reject_answer_plugin"拒识插件 |
platformPlugins.[i].rejectConditions | array | 是 | 拒识类型 |
platformPlugins.[i].rejectConditions[i].enabled | boolean | 是 | 是否启动 |
platformPlugins.[i].rejectConditions[i].conditionType | string | 是 | 拒识具体类型,支持"reject_rule","passive_rule"和"knowledge_domain_rule" |
platformPlugins.[i].rejectConditions[i].keywords | array[string] | 是 | 关键字集合,当conditionType等于"reject_rule"和"passive_rule"时必填 |
platformPlugins.[i].rejectConditions[i].subRejectCondition | object | 是 | 子拒绝类型,只有当当conditionType等于knowledge_domain_rule时必填 |
platformPlugins.[i].rejectConditions[i].subRejectCondition.conditionType | string | 是 | 子拒识具体类型,支持"ancient"和"real_world" |
platformPlugins.[i].rejectConditions[i].subRejectCondition.keywords | array[string] | 是 | 关键字集合,当conditionType="ancient",必须且只能填写一个关键字,real_world时不填 |
返回参数
流式调用返回
参数 | 类型 | 说明 |
requestId | string | 系统生成的标志本次调用的id。 |
success | boolean | 是否成功返回 |
errorCode | int | 错误码 |
errorName | string | 错误名称 |
httpStatusCode | int | http错误码 |
errorMessage | string | 错误消息 |
usage | object | |
usage.userTokens | int | 用户输入的token数 |
usage.inputTokens | int | 本次请求输入内容的 token 数目。在打开了搜索的情况下,输入的 token 数目因为还需要添加搜索相关内容支持,所以会超出客户在请求中的输入。 |
usage.outputTokens | int | 模型生成回复转换为Token后的长度。 |
choices | array | 消息体 |
choices[i].stopReason | string | 完成标识符,已完成为 stop,未完成为 “null” |
choices[i].messages | array | |
message.role | string | 模型role,固定为assistant |
message.content | string | 模型生成消息输出 |
message.meta | object | 消息属性 |
messages.meta.hasRisk | boolean | 是否存在安全风险, |
非流式调用返回
参数 | 类型 | 说明 |
requestId | string | 系统生成的标志本次调用的id。 |
success | boolean | 是否成功返回 |
errorCode | int | 错误码 |
errorName | string | 错误名称 |
httpStatusCode | int | http错误码 |
errorMessage | string | 错误消息 |
data | object | |
data.usage | object | |
usage.userTokens | int | 用户输入的token数 |
usage.inputTokens | int | 本次请求输入内容的 token 数目。在打开了搜索的情况下,输入的 token 数目因为还需要添加搜索相关内容支持,所以会超出客户在请求中的输入。 |
usage.outputTokens | int | 模型生成回复转换为Token后的长度。 |
data.choices | array | 消息体 |
choices[i].stopReason | string | 完成标识符,已完成为 stop,未完成为 null |
choices[i].messages | array | |
message.role | string | 模型role,固定为assistant |
message.content | string | 模型生成消息输出 |
message.meta | object | 消息属性 |
messages.meta.hasRisk | boolean | 是否存在安全风险,true/false |