Anthropic 流式响应处理
处理 Anthropic API 的 SSE 流式响应。 构建的响应格式与非流式调用兼容,并支持统一响应转换。
Anthropic 的流式事件类型:
使用示例:
(require '[im.ttalk.agent.provider.stream.anthropic :as stream])
;; 处理流式响应块 (let [[new-state token-data] (stream/process-event event state)] (when token-data (print (:token token-data))))
;; 构建统一格式响应 (stream/normalize-response final-state)
Anthropic 流式响应处理
处理 Anthropic API 的 SSE 流式响应。
构建的响应格式与非流式调用兼容,并支持统一响应转换。
Anthropic 的流式事件类型:
- message_start: 消息开始
- content_block_start: 内容块开始
- content_block_delta: 内容块增量(文本或工具输入)
- content_block_stop: 内容块结束
- message_delta: 消息增量
- message_stop: 消息结束
使用示例:
(require '[im.ttalk.agent.provider.stream.anthropic :as stream])
;; 处理流式响应块
(let [[new-state token-data] (stream/process-event event state)]
(when token-data
(print (:token token-data))))
;; 构建统一格式响应
(stream/normalize-response final-state)DashScope 原生流式响应处理(SSE)。
DashScope 流式:请求头 X-DashScope-SSE: enable + parameters.incremental_output true。 响应是 SSE,每个事件含 id:/event:result/:HTTP_STATUS/data: 几行,data 为 JSON: {:output {:choices [{:finish_reason fr :message {:role :content delta}}]} :usage {...} :request_id ...} incremental_output=true 时 content 是增量(delta)。finish_reason 生成中为 "null"/null, 结束为 "stop"/"length" 等。
产出与同步 parse-response 同形的 OpenAI 兼容响应(extract-text 读 choices[0].message.content)。
DashScope 原生流式响应处理(SSE)。
DashScope 流式:请求头 X-DashScope-SSE: enable + parameters.incremental_output true。
响应是 SSE,每个事件含 id:/event:result/:HTTP_STATUS/data: 几行,data 为 JSON:
{:output {:choices [{:finish_reason fr :message {:role :content delta}}]}
:usage {...} :request_id ...}
incremental_output=true 时 content 是增量(delta)。finish_reason 生成中为 "null"/null,
结束为 "stop"/"length" 等。
产出与同步 parse-response 同形的 OpenAI 兼容响应(extract-text 读 choices[0].message.content)。OpenAI 流式响应处理
处理 OpenAI API 的 SSE 流式响应,累积文本和工具调用。 构建的响应格式与非流式调用兼容,并支持统一响应转换。
使用示例:
(require '[im.ttalk.agent.provider.stream.openai :as stream])
;; 处理流式响应块 (let [[new-state token-data] (stream/process-chunk chunk state)] (when token-data (print (:token token-data))))
;; 构建最终响应(支持统一格式) (stream/build-response final-state :id "xxx" :model "gpt-4")
OpenAI 流式响应处理
处理 OpenAI API 的 SSE 流式响应,累积文本和工具调用。
构建的响应格式与非流式调用兼容,并支持统一响应转换。
使用示例:
(require '[im.ttalk.agent.provider.stream.openai :as stream])
;; 处理流式响应块
(let [[new-state token-data] (stream/process-chunk chunk state)]
(when token-data
(print (:token token-data))))
;; 构建最终响应(支持统一格式)
(stream/build-response final-state :id "xxx" :model "gpt-4")OpenAI Responses SSE 流式处理。
流式只负责实时发射 delta;最终响应优先使用 response.completed 携带的完整 对象,避免自行重建 reasoning/tool call 的不透明字段。
OpenAI Responses SSE 流式处理。 流式只负责实时发射 delta;最终响应优先使用 response.completed 携带的完整 对象,避免自行重建 reasoning/tool call 的不透明字段。
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |