Files
CamTalk/docs/09-技术名词解释.md
cfy666 3dc2015a91 docs: 更新技术文档,同步 Eino 重构和默认 provider 变更
- 架构设计:更新为 Eino Graph 声明式编排,增加三级存储架构说明
- 接口文档:AI 编排器章节重写为 Eino Graph,更新 LLM 服务接口
- 技术选型:新增 Eino 框架选型章节,修正 STT/LLM/TTS 默认方案
- 语音交互:Pipeline 描述改为 Eino Graph
- 成本控制:模型引用修正为 qwen3-vl-plus
- 技术名词解释:新增 Eino 框架相关术语
- README:增加 10/11/12 Eino 文档索引
- 10-Eino重构方案:状态更新为已实施
- CLAUDE.md:同步所有变更
2026-06-20 13:24:53 +08:00

50 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 技术名词解释
对架构文档中技术选型表里出现的所有关键名词的简明解释。
---
## 前端相关
| 名词 | 一句话 | 展开 |
|------|--------|------|
| **React 18** | 组件化 UI 框架 | Facebook 开源把页面拆成组件搭积木拼装。18 版本支持并发渲染。 |
| **TypeScript** | 带类型的 JavaScript | 在 JS 基础上增加类型声明,编译阶段就能发现类型错误。 |
| **Vite** | 前端构建工具 | 利用浏览器原生 ES Module开发时毫秒级热更新HMR构建产物小。 |
| **WebSocket** | 浏览器与服务器的双向通道 | HTTP 是"一问一答"WebSocket 像打电话——接通后双方随时互发消息,适合实时对话场景。 |
| **ONNX Runtime Web** | 浏览器端 AI 推理引擎 | 微软定义的通用模型格式 ONNX 的运行引擎,可在浏览器中用 WASM 加速跑轻量模型(如 VAD、关键帧检测零延迟、不耗服务器资源。 |
| **VAD** | 语音活动检测 | Voice Activity Detection检测"人有没有在说话"。WebRTC 内置了高效的 VAD 算法,本项目用 @ricky0123/vad-web 包装。 |
| **MediaDevices API** | 浏览器摄像头/麦克风接口 | `navigator.mediaDevices.getUserMedia()` 是浏览器音视频采集的唯一标准入口,无需插件。 |
## 后端相关
| 名词 | 一句话 | 展开 |
|------|--------|------|
| **Go (Golang)** | 高并发后端语言 | Google 开发,杀手锏是 goroutine——极轻量协程一个程序可轻松开几万个每个只占几 KB 内存,适合管理大量 WebSocket 长连接。 |
| **gorilla/websocket** | Go WebSocket 库 | Go 标准库无内置 WebSocket 支持,此库是社区最成熟的选择,处理了协议握手、帧解析等底层细节。 |
| **Redis** | 内存 KV 数据库 | 数据放在内存里,读写微秒级。本项目用于会话状态和对话上下文缓存,支持 TTL 过期自动清理。多 Gateway 实例通过 Redis 共享状态。 |
| **Viper** | Go 配置管理 | 读取 JSON/YAML/TOML 配置,支持环境变量覆盖,方便开发/测试/生产环境用不同配置。 |
| **Zap** | Go 结构化日志 | Uber 开源,输出 JSON 格式日志,方便工具搜索分析,性能远超标准库 log。 |
## AI 服务相关
| 名词 | 一句话 | 展开 |
|------|--------|------|
| **多模态 LLM** | 能读文字又能看图片的大语言模型 | GPT-4oOpenAI/ Claude SonnetAnthropic给照片+问题能"看懂"照片再回答。 |
| **STT** | 语音转文字 | Speech-to-Text。Deepgram 流式识别延迟 <500ms。备选 FunASR阿里开源可自部署。 |
| **TTS** | 文字转语音 | Text-to-Speech。OpenAI TTS 音质接近真人。Edge TTS 免费。支持流式——边生成边读,不必等全部生成完。 |
| **GPT-4o-mini** | 轻量分类模型 | 又快又便宜的小模型,用于模型路由——先用小模型判断问题复杂度,简单问题走小模型省 API 费用。 |
## AI 编排框架相关
| 名词 | 一句话 | 展开 |
|------|--------|------|
| **Eino** | 字节跳动开源的 Go AI 应用开发框架 | CloudWeGo Eino提供 Graph DAG 编排、组件抽象ChatModel/Tool 等、流式处理StreamReader和 Callback AOP 机制。CamTalk 用它替代手写 goroutine 管道。 |
| **compose.Graph** | Eino 的 DAG 编排器 | 声明式有向无环图,节点可以是 Lambda、ChatModel、ToolsNode 等边定义数据流向。支持分支AddBranch、并行和循环。 |
| **Lambda** | Graph 中的可组合函数单元 | 四种模式InvokableLambda同步、StreamableLambda流式输出、CollectableLambda流式输入、TransformableLambda双向流式。 |
| **StreamReader** | Eino 的流式数据抽象 | `schema.StreamReader[T]`,类似 io.Reader 的语义,`Recv()` 读取一帧,`io.EOF` 表示流结束。`schema.Pipe[T]()` 创建 StreamReader + StreamWriter 对。 |
| **Callback** | Eino 的 AOP 机制 | 类似中间件的钩子支持节点生命周期回调OnStart/OnEnd/OnError/OnEndWithStreamOutput。CamTalk 用它实现 LLM token 实时推送到客户端。 |
| **ChatModel** | Eino 的 LLM 组件抽象 | 统一接口 `Generate()``Stream()`eino-ext 提供 OpenAI 兼容实现,通过 BaseURL 可对接 DashScope 等兼容接口。 |
| **eino-ext** | Eino 的组件扩展库 | 提供具体组件实现OpenAI ChatModel、各种 Tool Backend 等。CamTalk 使用 `eino-ext/components/model/openai`。 |
| **PipelineState** | Graph 级别的共享状态 | 通过 `compose.WithGenLocalState` 注册每请求独立实例线程安全sync.Mutex跨节点共享数据如 LLM 完整回复、Token 用量)。 |