Skip to main content

调用智能体

POST /v1/agent/invoke 从你自己的应用或服务向智能体发送一条消息。

身份验证

Authorization 请求头中发送工作区 API 密钥。
智能体 webhook 触发器使用智能体 webhook 密钥,而非 API 密钥。请参阅 Webhook 触发器

请求体

在编辑器中打开智能体并点击 Code Snippet,可以在 Fetch Hive 中查看当前的公开请求结构。

Webhook 触发器

POST /v1/agent/webhooks/{agent_id} 当外部服务需要在不使用工作区 API 密钥的情况下启动智能体运行时,使用智能体 webhook 触发器。请求必须在 X-Fetch-Hive-Webhook-Secret 中包含智能体 webhook 密钥。如果第三方工具无法设置自定义请求头,可以退而使用 ?secret=YOUR_WEBHOOK_SECRET 智能体 webhook 触发器始终使用回调投递。包含 async.callback_url;Fetch Hive 返回 202,带有 request_idrun_status: "running",随后向回调 URL 投递 agent.completedagent.failed
message 是必填项。thread_id 可选,可以重复使用以恢复由调用方管理的线程。metadata 遵循与普通智能体调用相同的扁平且仅含标量的规则,并会出现在日志筛选中。 Fetch Hive 使用与入站触发器认证相同的 webhook 密钥对出站回调进行签名。 回调 dataagent.completed 时包含 response,在 agent.failed 时包含 error;使用顶层的 event_typerequest_id 来表示终态和关联。 metadata 必须是扁平对象。键必须是非空字符串,值必须是字符串、数字、布尔值或 null。数组和嵌套对象会在运行启动前被拒绝。 attachments 项可以是简单的 URL 字符串:
当你想提供元数据时,也可以使用如下对象结构:
仅接受 https:// URL。每条消息最多允许五个附件。文档附件通过系统 read_file 工具以 <available_files> 清单的形式暴露给智能体;智能体在依赖文档内容前会先调用 read_file。如果附件 URL 或类型无效,Fetch Hive 会返回 422 Unprocessable Entity,而不会打开流。 受支持的文档附件:
  • CSV: text/csv, .csv
  • XLSX: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, .xlsx
  • PDF: application/pdf, .pdf
  • DOCX: application/vnd.openxmlformats-officedocument.wordprocessingml.document, .docx
  • 按扩展名识别的文本和 Markdown: .txt, .md, .markdown
对于没有扩展名的 URL(例如 Fetch Hive 媒体库 URL),请直接传入该 URL。Fetch Hive 会将该 URL 加入 read_file 的允许名单,文件工具在抓取文件时会检测真实类型。 有效示例:
无效示例:
代码片段对话框使用以下请求体结构:
使用 thread_id 进行持久会话时:
使用 messages 进行由调用方管理的(无状态)历史时:
如果之前的 assistant 轮次生成了文件,请通过 messages[].attachments 在相应的历史消息中将该文件传回。Fetch Hive 使用当前消息和历史消息中结构化的附件 URL 来为后续轮次授权 read_file 访问;仅在纯文本中提到的 URL 不会被视为文件工具附件。

响应

如果 streamingtrue,Fetch Hive 返回事件流。如果在流打开后提供商失败,Fetch Hive 会在关闭流前发送一个最终的 error 事件。如果客户端先断开连接,Fetch Hive 会将其视为静默取消,不会创建失败的智能体运行、计费用量或报告提供商错误事件,除非提供商已经完成并提交了用量。 推理事件示例:
响应事件示例:
工具事件示例:
最终 usage 事件示例:
错误事件示例:
如果 streamingfalse,Fetch Hive 返回一条 JSON 响应。提供商执行失败时返回 502 Bad Gateway,带有 error 消息。

示例

相关内容