Skip to content

Transformers 总览

pkgs/genx/transformers 将一个 genx.Stream 转换为另一个 Stream。Provider Adapters 负责外部 speech/realtime 协议;Stream Processing 负责 provider-neutral 的生命周期、buffer、audio byte stream filtering、TTS segmentation 和组合。

Go API References

Adapter 结构

Adapter能力
Doubao SpeechASR、TTS、Realtime、Realtime Duplex 与 speech translation。
DashScopeRealtime multimodal conversation。
MiniMaxStreaming TTS。
Stream ProcessingProvider-neutral 的 mux、Stream lifecycle、audio byte stream filtering 和文本分段。

Provider 实现与共享的内部 Stream lifecycle 使用独立 package:

text
pkgs/genx/transformers/
├── audiostream/
├── internal/streamkit/
├── doubaoasr/
├── doubaotts/
├── minimaxtts/
├── doubaoast/
├── doubaorealtime/
├── doubaorealtimeduplex/
└── dashscoperealtime/

每个 provider package 都提供 typed constructor,例如 doubaoasr.Newdoubaotts.NewSeedV2minimaxtts.New。Constructor 只解析不可变配置,不建立连接;每次 Transform(ctx, input) 单独建立并管理 provider session。Provider adapter 不再通过 flat transformers.New* constructor 暴露。

ASR、TTS、AST 和 Doubao Realtime Dialogue 都只是 Stream-to-Stream Transformer,不属于 agent-capable runtime。当前 provider 协议能够支持 Toolkit continuation 的 package 是 Doubao Realtime Duplex 与 DashScope Realtime。StreamKit 与该分类无关,也不拥有 Tool 或 Toolkit。

核心结构与主函数

符号作用
Mux通用 Transformer registry。
Transform通过默认 mux 选择并执行 Transformer。
Handle注册通用 Transformer。

ASR、TTS、Realtime 和其他能力都实现同一个 genx.Transformer,并通过同一个 Mux 注册。Mux 实现 genx.TransformerMux,pattern 不会传入具体 Transformer。Guide 不为能力类别定义额外的 facade、session factory 或 registry API。