Liking cljdoc? Tell your friends :D

im.ttalk.agent.provider.stream.anthropic

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)

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)
raw docstring

im.ttalk.agent.provider.stream.dashscope

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)。
raw docstring

im.ttalk.agent.provider.stream.openai

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")
raw docstring

im.ttalk.agent.provider.stream.openai-responses

OpenAI Responses SSE 流式处理。

流式只负责实时发射 delta;最终响应优先使用 response.completed 携带的完整 对象,避免自行重建 reasoning/tool call 的不透明字段。

OpenAI Responses SSE 流式处理。

流式只负责实时发射 delta;最终响应优先使用 response.completed 携带的完整
对象,避免自行重建 reasoning/tool call 的不透明字段。
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close