Liking cljdoc? Tell your friends :D

im.ttalk.agent.streaming

流式取消令牌(cancel token)。

用途:让应用层在需要时(如 web handler 客户端断连)中止正在进行的 chat-stream—— 取消上游 HTTP(停止烧 token)并让 ReAct 循环停在当前回合。

用法(应用层): (require '[im.ttalk.agent.streaming :as st] '[im.ttalk.agent.simple-agent :as agent]) (def token (st/make-cancel-token)) (future (agent/chat-stream a "消息" on-token {:cancel-token token})) ;; 客户端断连时: (st/request-cancel! token)

设计:令牌穿过 chat-stream → react 循环(回合间据它停止);react 在调 provider 流式前 把动态 var register-cancel 绑成「登记当前令牌的在途 cancel-fn」。provider 拿到 stream_client 的 cancel 后登记之——无需改协议 / config 签名。整条同步调用链同线程, 动态 var 可见;request-cancel! 直接操作令牌(可跨线程)。

流式取消令牌(cancel token)。

用途:让应用层在需要时(如 web handler 客户端断连)中止正在进行的 chat-stream——
取消上游 HTTP(停止烧 token)并让 ReAct 循环停在当前回合。

用法(应用层):
  (require '[im.ttalk.agent.streaming :as st]
           '[im.ttalk.agent.simple-agent :as agent])
  (def token (st/make-cancel-token))
  (future (agent/chat-stream a "消息" on-token {:cancel-token token}))
  ;; 客户端断连时:
  (st/request-cancel! token)

设计:令牌穿过 chat-stream → react 循环(回合间据它停止);react 在调 provider 流式前
把动态 var *register-cancel* 绑成「登记当前令牌的在途 cancel-fn」。provider 拿到
stream_client 的 cancel 后登记之——**无需改协议 / config 签名**。整条同步调用链同线程,
动态 var 可见;request-cancel! 直接操作令牌(可跨线程)。
raw docstring

*register-cancel*clj

react 在调 provider 流式前绑定为「登记当前令牌 cancel-fn」的函数;缺省 nil。

react 在调 provider 流式前绑定为「登记当前令牌 cancel-fn」的函数;缺省 nil。
sourceraw docstring

binding-registerclj

(binding-register token)

react 用:返回登记函数,绑到 register-cancel。登记时若令牌已取消则立即调 cancel-fn (消除「检查-登记」竞态:取消请求若发生在登记前,登记时补调)。

react 用:返回登记函数,绑到 *register-cancel*。登记时若令牌已取消则立即调 cancel-fn
(消除「检查-登记」竞态:取消请求若发生在登记前,登记时补调)。
sourceraw docstring

cancel-token?clj

(cancel-token? x)
source

cancelled?clj

(cancelled? token)

令牌是否已被请求取消(nil 令牌返回 false)。

令牌是否已被请求取消(nil 令牌返回 false)。
sourceraw docstring

make-cancel-tokenclj

(make-cancel-token)

创建取消令牌。

创建取消令牌。
sourceraw docstring

register-cancel!clj

(register-cancel! cancel-fn)

provider 调用:把 stream_client 的 cancel-fn 登记给当前令牌 (仅当 react 绑定了 register-cancel 且 cancel-fn 非 nil)。

provider 调用:把 stream_client 的 cancel-fn 登记给当前令牌
(仅当 react 绑定了 *register-cancel* 且 cancel-fn 非 nil)。
sourceraw docstring

request-cancel!clj

(request-cancel! token)

请求取消:标记令牌 + 调用当前在途流的 cancel-fn(取消上游 HTTP)。幂等、可跨线程。

请求取消:标记令牌 + 调用当前在途流的 cancel-fn(取消上游 HTTP)。幂等、可跨线程。
sourceraw 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