feat: 实现 AI Orchestrator(核心编排)
- 实现 Orchestrator 接口(4.1) - 实现 Sender 接口(4.2) - 实现 STT → LLM → TTS 流式并行管道(4.3) - 实现句子切分器(4.4) - 实现错误降级处理(4.5) - 实现 Interrupt 支持(4.6) - 编写完整的单元测试(4.7)
This commit is contained in:
33
backend/internal/orchestrator/orchestrator.go
Normal file
33
backend/internal/orchestrator/orchestrator.go
Normal file
@@ -0,0 +1,33 @@
|
||||
// Package orchestrator 实现 STT → LLM → TTS 流式并行管道。
|
||||
package orchestrator
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/hhs/camtalk/internal/models"
|
||||
)
|
||||
|
||||
// Orchestrator AI 编排器接口。
|
||||
// 接收查询并执行完整的 STT → LLM → TTS 管道。
|
||||
type Orchestrator interface {
|
||||
// ProcessQuery 处理一次用户查询。
|
||||
// ctx 用于整体超时和中断控制。
|
||||
// sessionID 用于会话管理和历史获取。
|
||||
// req 包含图像和音频数据。
|
||||
// history 是最近的对话历史。
|
||||
// sender 用于向客户端推送消息。
|
||||
ProcessQuery(
|
||||
ctx context.Context,
|
||||
sessionID string,
|
||||
req models.WsQuery,
|
||||
history []models.Message,
|
||||
sender Sender,
|
||||
) error
|
||||
}
|
||||
|
||||
// QueryRequest 查询请求(内部使用)。
|
||||
type QueryRequest struct {
|
||||
Image []byte // JPEG 图片(已从 Base64 解码)
|
||||
Audio []byte // 音频数据(已从 Base64 解码)
|
||||
Language string // 语言,如 "zh-CN"
|
||||
}
|
||||
Reference in New Issue
Block a user