Wbot-3 & Wbot-4-Preview
Wbot开放API
最后更新于
Wbot-4:347B已上线,相较于原版Wbot-4,该版本可免费调用 API API调用:
对话应用支持会话持久化,可将之前的聊天记录作为上下进行回答,可适用于聊天/客服 AI 等。
Service API 使用 API-Key
进行鉴权。 强烈建议开发者把 API-Key
放在后端存储,而非分享或者放在客户端存储,以免 API-Key
泄露,导致财产损失。 所有 API 请求都应在 Authorization
HTTP Header 中包含您的 API-Key
,如下所示:
现版本API-Key仅开放给内测人员和专业版用户
POST
创建会话消息。
Namequery
TypestringDescription
用户输入/提问内容。
Nameinputs
TypeobjectDescription
(选填)允许传入 App 定义的各变量值。 inputs 参数包含了多组键值对(Key/Value pairs),每组的键对应一个特定变量,每组的值则是该变量的具体值。
Nameresponse_mode
TypestringDescription
Nameuser
TypestringDescription
用户标识,用于定义终端用户的身份,方便检索、统计。 由开发者定义规则,需保证用户标识在应用内唯一。
Nameconversation_id
TypestringDescription
(选填)会话 ID,需要基于之前的聊天记录继续对话,必须传之前消息的 conversation_id。
Nameauto_generate_name
TypeboolDescription
(选填)自动生成标题,默认 false
。 可通过调用会话重命名接口并设置 auto_generate
为 true
实现异步生成标题。
当 response_mode
为 streaming
时,返回 ChunkChatCompletionResponse object 流式序列。
返回 App 输出的流式块,Content-Type
为 text/event-stream
。 每个流式块均为 data: 开头,块之间以 \n\n 即两个换行符分隔,如下所示:
流式块中根据 event 不同,结构也不同:
event: message
LLM 返回文本块事件,即:完整的文本以分块的方式输出。
task_id
(string) 任务 ID,用于请求跟踪和下方的停止响应接口
message_id
(string) 消息唯一 ID
conversation_id
(string) 会话 ID
answer
(string) LLM 返回文本块内容
created_at
(int) 创建时间戳,如:1705395332
event: agent_message
Agent模式下返回文本块事件,即:在Agent模式下,文章的文本以分块的方式输出(仅Agent模式下使用)
task_id
(string) 任务 ID,用于请求跟踪和下方的停止响应接口
message_id
(string) 消息唯一 ID
conversation_id
(string) 会话 ID
answer
(string) LLM 返回文本块内容
created_at
(int) 创建时间戳,如:1705395332
event: agent_thought
Agent模式下有关Agent思考步骤的相关内容,涉及到工具调用(仅Agent模式下使用)
id
(string) agent_thought ID,每一轮Agent迭代都会有一个唯一的id
task_id
(string) 任务ID,用于请求跟踪下方的停止响应接口
message_id
(string) 消息唯一ID
position
(int) agent_thought在消息中的位置,如第一轮迭代position为1
thought
(string) agent的思考内容
observation
(string) 工具调用的返回结果
tool
(string) 使用的工具列表,以 ; 分割多个工具
tool_input
(string) 工具的输入,JSON格式的字符串(object)。如:{"dalle3": {"prompt": "a cute cat"}}
created_at
(int) 创建时间戳,如:1705395332
message_files
(array[string]) 当前 agent_thought
关联的文件ID
file_id
(string) 文件ID
conversation_id
(string) 会话ID
event: message_file
文件事件,表示有新文件需要展示
id
(string) 文件唯一ID
type
(string) 文件类型,目前仅为image
belongs_to
(string) 文件归属,user或assistant,该接口返回仅为 assistant
url
(string) 文件访问地址
conversation_id
(string) 会话ID
event: message_end
消息结束事件,收到此事件则代表流式返回结束。
task_id
(string) 任务 ID,用于请求跟踪和下方的停止响应接口
message_id
(string) 消息唯一 ID
conversation_id
(string) 会话 ID
metadata
(object) 元数据
usage
(Usage) 模型用量信息
retriever_resources
(array[RetrieverResource]) 引用和归属分段列表
event: message_replace
消息内容替换事件。 开启内容审查和审查输出内容时,若命中了审查条件,则会通过此事件替换消息内容为预设回复。
task_id
(string) 任务 ID,用于请求跟踪和下方的停止响应接口
message_id
(string) 消息唯一 ID
conversation_id
(string) 会话 ID
answer
(string) 替换内容(直接替换 LLM 所有回复文本)
created_at
(int) 创建时间戳,如:1705395332
event: error
流式输出过程中出现的异常会以 stream event 形式输出,收到异常事件后即结束。
task_id
(string) 任务 ID,用于请求跟踪和下方的停止响应接口
message_id
(string) 消息唯一 ID
status
(int) HTTP 状态码
code
(string) 错误码
message
(string) 错误消息
event: ping
每 10s 一次的 ping 事件,保持连接存活。
404,对话不存在
400,invalid_param
,传入参数异常
400,app_unavailable
,App 配置不可用
400,provider_not_initialize
,无可用模型凭据配置
400,provider_quota_exceeded
,模型调用额度不足
400,model_currently_not_support
,当前模型不可用
400,completion_request_error
,文本生成失败
500,服务内部异常
streaming
流式模式(推荐)。基于 SSE()实现类似打字机输出方式的流式返回。