助手本体:会话引擎、LLM 路由、记忆、身份、语音适配
从 Obsidian 笔记库剥离为独立仓库。规划文档与 P0 报告留在笔记库, 代码(助手本体、TTS 服务、P0 基准脚本、ESP32 固件)在此。 架构:服务器是助手,本地是客户端 - 助手本体跑在 cadadmin-server,N5095 只做 USB 外设桥与网络桥接 - 起因:实测 N5095 无 AVX2,跑不动可用的语音模型 当前技术栈 - LLM:DeepSeek deepseek-flash(云端,必须关思考) - TTS:Qwen3-TTS 1.7B(服务器 3090,独立 HTTP 服务) - STT:Zipformer 中英双语 int8(CPU,中文识别率未测) 实测:端到端 16/16 通过,首音延迟 1545ms (对比:本地 LLM + vits-zh-ll 是 179ms,但音色不满意——音质与延迟 在此硬件上此消彼长) 设计要点 - MemoryStore 接口按"可能远程"设计(全 async、可超时、可失败) - user_id / session_id / track_id 三者分开,人脸只作候选不自动切身份 - 记忆查询强制带 owner_user_id,无按 id 单独取的口子 - 自动抽取的记忆是"候选",默认不参与检索 - 异步写记忆绑定创建时的身份,不读"当前用户" - 引擎与传输解耦,只用文件音频即可端到端测试 模型与音频产物不进版本管理(1.1GB),由 download_models.sh 恢复
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# 助手本体依赖。按方案 §10 要求固定版本。
|
||||
# 实测可用组合:Python 3.12(服务器)/ 3.13(N5095),两台机器都验证过。
|
||||
|
||||
pipecat-ai==1.10.0 # 会话管线框架(服务器侧用其传输/打断能力)
|
||||
sherpa-onnx==1.13.8 # 本地 STT/TTS 运行时(自带 onnxruntime,不依赖 pip 的)
|
||||
numpy==2.5.3
|
||||
aiohttp==3.14.3 # LLM 流式请求
|
||||
|
||||
# 说明:
|
||||
# - 不装 pipecat-ai[local]:本地声卡传输只在 N5095(客户端)需要,
|
||||
# 服务器侧走 WebRTC,不需要 PyAudio。
|
||||
# - pipecat 会把 onnxruntime 钉到 1.24.x。实测不影响 sherpa-onnx,
|
||||
# 后者自带运行时不读 pip 的那个。若要单独用 onnxruntime,注意版本。
|
||||
Reference in New Issue
Block a user