让 Hermes Agent 跑通语音情感分析
【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent
Hermes Agent 的语音情感分析链路:客户在 Telegram、Discord 发来语音,它先做语音转文本,再让大模型判断语气情绪,最后用 TTS 合成带情感的语音回复。整套能力只需在 config.yaml 里配stt和tts两个块。
它到底能干什么
- 本地 faster-whisper 免 key 识别
- Groq、OpenAI 等云端语音转文本
- Edge 到 ElevenLabs 共 11 种 TTS
- 情感标签随语音回复下发
- Telegram、Discord 等平台语音气泡
一句话:语音进、情感出,中间不用你自己写情感分类模型。
从 clone 到第一条语音响应
1. 装依赖并拉模型
git clone https://gitcode.com/GitHub_Trending/he/hermes-agent cd hermes-agent python -m venv .venv && . .venv/bin/activate pip install -e .此时终端应输出Successfully installed hermes-agent...。
2. 填最小 config.yaml
stt: provider: local # faster-whisper,本地跑 language: zh tts: provider: edge # 免费的 TTS 后端 voice: zh-CN-XiaoxiaoNeural改完保存即可,hermes config get stt能回显这段配置。
3. 起服务、发一段 10 秒语音
hermes setup hermes gateway在绑定的 Telegram 或 Discord 会话里发一条 10 秒语音,你会看到转写文本先出现,接着是带情感判断的回复,最后回传一段语音气泡。
一条语音在内部走了哪几步
一条语音从进来到出去,完整走四个环节:音频输入 → ASR → LLM 情感判断 → TTS 输出。
音频输入:网关收到平台上的语音消息,先落盘成标准格式。mp3、wav、ogg、opus 都支持,TTS 侧的输出格式也收敛到这几种,tts_provider.py 里定义了合法格式集合,所以两端格式是通的。
ASR:内置后端按"本地优先"设计——local跑 faster-whisper 免 API key,openai、groq、mistral、xai走云端,接口统一在 transcription_provider.py。想换方案只改stt.provider,language参数透传给后端当语言提示。插件自定义后端注册在 transcription_registry.py,但内置名优先、插件顶不掉。
情感判断:这一步没有独立的情感模型,而是主 LLM 直接基于上下文判断语气和意图,并允许在回复里写<sigh>、<laughs>这类情感标签。换更擅长语气理解的模型,判断质量随之变化,改hermes model即可。
TTS 输出:tts.provider在 edge、openai、elevenlabs、minimax、piper 等 11 个内置引擎之间切换,stream()接口支持 opus 流式输出,正好满足 Telegram 语音气泡的格式要求。
三个我实际会这么用的姿势
客服录音质检:批量拿一段客服录音,用本地 faster-whisper 做语音转文本,让主模型逐段标注客户情绪走向,挑出高压力片段再人工复核。最容易踩的点是长录音:base 模型内存友好,但超过 5 分钟的音频建议先切片,不然单条转写又慢又占内存。
语音陪伴机器人:TTS 侧在回复文本里直接写<sigh>、<laughs>情感标签,网关合成语音气泡推给用户,比纯文字有温度。落地时注意voice_compatible开关——只有标记为 voice-compatible 的引擎输出会走 opus 转换链路,选错引擎语音气泡会变成普通附件。
中英双语识别:ASR 的language参数传 BCP-47 语言码,中英混说时显式指定zh或en,比自动检测稳得多。踩过的坑是留空让它猜——背景噪声大时英文里夹杂中文词,整段会被判成英文,专名全错。
上线前你会被问到的 4 个问题
资源要多少?本地 faster-whisper base 模型约 2 GB 内存,加一条 LLM API 请求的开销。全走云端 ASR 的话,本地基本只剩网关进程。
延迟能接受吗?10 秒语音端到端约 1–3 秒:本地 ASR 占大头,TTS 走 edge 流式 opus 时首包能压进 2 秒内。
语言支持到什么程度?Whisper 系后端支持几十种语言,中文、英文是主力。小语种一定要显式设language,自动检测在多口音下不可靠。
准确性怎么评估?拿 100 条人工标注的录音做基线,情感判断错误率高于 10% 就换更大的主模型或调提示词,别指望只换 TTS 引擎解决。
下一步
先拿一段 30 秒客服录音跑通"识别 → 情感判断 → 语音回复"全链路,跑完用hermes doctor自检一遍环境。仓库入口和完整命令见 README.md 的 Getting Started 一节。
语音数据属于隐私敏感数据:本地部署时控制好录音文件的磁盘留存与访问权限;走云端 ASR 前先确认服务商的数据保留策略。
【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考