请求参数参考:
参数 | 参考值 | 备注 |
---|---|---|
ResourceType | bot | |
ResourceIds | ["bot-xxx"] | 智能体的 bot id |
DurationSeconds | 21600 | apikey有效时间;单位s,最大30day |
POST /api/v2/bots/${bot_id}/chat
一级字段 | 子字段 | 类型 | 描述 | 是否必填 |
---|---|---|---|---|
messages | list | 消息是列表形式,依次记录了消息聊天上下文(第一个是最早的对话,最后一个是最新的对话)。
| 是 | |
role | string | 消息角色,目前支持system /user /assistant | 是 | |
content | string | 消息内容。 | 是 | |
stream | boolean | 是否流式返回。默认false,如果为 true,则按 SSE (Server-Sent Events) 协议返回数据 | 否 | |
parameters | object | 模型调用的可选参数。
| 否 | |
max_new_tokens/max_tokens | integer | 用于限制生成文本中新添加的 token 数量。可以控制生成回答的长度以避免生成过长的文本。 | 否 | |
temperature | number | 采样温度,(0, 1]。控制采样的随机性。较高的温度值会增加采样的随机性,使生成的回答更加多样化。较低的温度值会减少采样的随机性,使生成的回答更加确定性。 | 否 | |
top_p | number | 控制采样的选择范围。指定一个介于 0 到 1 之间的值 | 否 | |
top_k | integer | 控制采样的选择范围。指定一个值 k ,模型将只从概率分布的前 k 个最高概率的标记中进行采样。 | 否 | |
repetition_penalty/frequency_penalty | number | 控制生成回答时对重复内容进行惩罚的参数。值更大时,模型在生成回答时会更倾向于避免重复使用之前已经生成过的内容,从而鼓励模型生成更多新颖和多样化的内容。 | 否 | |
logprobs | integer | 用于指示是否返回生成回答的对数概率值。返回对数概率值可以用于分析和评估模型生成的回答。返回概率最高的 | 否 | |
logit_bias | map<string,number> | 修改在chat中出现指定标记的可能性,token id使用tokenization接口获取 | 否 | |
extra | map<string,string> | 额外参数
| 否 |
一级字段 | 子字段 | 类型 | 描述 |
---|---|---|---|
req_id | string | 请求 id | |
choices | list | 模型输出的选项列表,目前固定长度为 1。 | |
message.role | string | 模型输出的消息 role 固定为 assistant 。 | |
message.content | string | 模型输出的内容。 | |
message.references | list | 联网/知识库返回的引用列表信息
| |
finish_reason | string | 结束原因:
| |
logprobs.token_logprobs | list | 选中的 token 概率列表 | |
logprobs.tokens | list | 选中的 token 列表 | |
logprobs.top_logprobs | list | 每个一个 token 的候选集,候选集必定包含选中的 token,因此可能是 logprobs+1。也可能小于logprobs,因为模型差异,不同的 token_id 可能解析成相同的字符。 | |
usage(Opitonal) | object | 该请求的用量统计信息。在 stream 模式下,只有最后一个输出片段才会记录 usage 内容。 | |
model_usage[].prompt_tokens | integer | 输入 prompt 的 token 数量。 | |
model_usage[].completion_tokens | integer | 模型输出的 token 数量。 | |
model_usage[].total_tokens | integer | 输入和输出的总的 token 数量。 | |
model_usage[].name | string(optional) | ep名 | |
action_usage[].search_count | integer | 搜索次数 | |
action_usage[].name | str | 内容源名称 | |
action_usage[].prompt_tokens | integer | 输入 prompt 的 token 数量。 | |
action_usage[].completion_tokens | integer | 插件输出的 token 数量。 | |
action_usage[].total_tokens | integer | 输入和输出的总的 token 数量。 | |
error(optional) | object | 如果没有错误,error 这个条目为空。 | |
code | string | 错误的代码 | |
message | string | 错误的信息 |
在 stream 模式下,基于 SSE (Server-Sent Events) 协议返回生成内容,每次返回结果为生成的部分内容片段:
内容片段按照生成的先后顺序返回,完整的结果需要调用者拼接才能得到;
如果流式请求开始时就出现错误(如参数错误),HTTP返回非200,方法调用也会直接返回错误;
如果流式过程中出现错误,HTTP 依然会返回 200, 错误信息会在一个片段返回。