Files
CamTalk/backend/internal/orchestrator/orchestrator.go
hhs c9c697fe64 feat: 实现 AI Orchestrator(核心编排)
- 实现 Orchestrator 接口(4.1)
- 实现 Sender 接口(4.2)
- 实现 STT → LLM → TTS 流式并行管道(4.3)
- 实现句子切分器(4.4)
- 实现错误降级处理(4.5)
- 实现 Interrupt 支持(4.6)
- 编写完整的单元测试(4.7)
2026-06-13 16:05:18 +08:00

34 lines
932 B
Go

// 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"
}