LexGuard · ASR + LLM Demo

先录音,再把文字喂给 LLM。

这个页面是一个独立调试用的网页 demo。浏览器只负责采集麦克风、按 200ms 切片、转换成 16kHz WAV, 然后交给本地桥接服务去连豆包流式 ASR。录音结束后,转录文本会自动或手动送入 当前配置的 LLM 生成建议回复。

200ms 切片 16kHz 单声道 WAV 容器 SSE 实时回传 LLM 联动
空闲 检查后端中...
Cloudflare 鉴权
保存内测 API Key 后,页面会换取短期令牌并优先用短期令牌请求云端。
未检查
Gateway:加载中
会话
-
已发送分片
0
输入采样率
-
目标切片
200ms
输入电平 / RMS
这里显示浏览器实际采到的麦克风音量。如果你在说话但它长期接近 0, 问题就在采集设备或浏览器权限这一层。
等待采集
RMS 0.0000
Peak 0.0000
dBFS -∞
Prompt / 系统提示词
先在这里输入提示词,再开始说话。庭审辅助为默认模式;录音或 Mock 回放过程中,新的语义块会持续排队送进 LLM。
这条链路不会直接把浏览器 WebSocket 连到豆包,而是通过本地桥接服务加上认证头后再送出。

会话历史

默认会复用当前会话。点“创建新会话”后,下次录音会直接新建 session,旧历史会保留,方便对比多轮 E2E。
点击后,下次录音将新建 session,不再续接当前这条历史。

实时识别

录音开始后,这里会显示云端最新的识别假设。达到断句阈值时,LLM 会提前给出阶段性提醒。
等待开始
点击“开始录音”后说话,文字会在这里持续刷新,并在断句阈值触发时送入 LLM。
当前还没有会话。

回传诊断

这里会同时显示 SSE 事件和 /chunks HTTP 回包里的关键字段。 如果这里已经有文本,但主识别区没变,问题就在前端渲染;如果这里也一直空,问题就在上游回包。
等待文本
等待事件...
功能二:案件地图
后台 30 秒旁路基于同一批 evidence cards 生成,不阻塞主线。
等待后台
等待后台证据卡形成案件地图。
功能三:阶段陈述
同一轮 RAG + rerank 的证据卡复用到 500-800 字综合陈述。
等待后台
等待后台阶段陈述。
💬 庭审记忆 Agent 就绪
问庭审中说过什么、证据在哪、谁在什么时候说了什么
输入问题开始询问庭审记录

LLM 回复

这里会显示当前 LLM 根据 prompt 和 ASR 文本生成的建议。语义块进入主链时显示阶段性提醒,收尾时再给最终版;下方同时固定显示本会话的 LLM 请求数和总 token。
等待语义批次
LLM Note
主线输出直接由固定卷宗 Prompt、截至当前完整 ASR 和当前 ASR cue 生成;“下一步”就是当事人可念话术。
开始真实录音或 Mock 范本回放后,这里会显示主链生成结果。
当前还没有生成结果。
上下文预算
这里显示本批实际带入 prompt 的组成、估算 token 和是否被截断。
等待生成
等待 LLM 生成后显示本次上下文预算。
上下文来源预览
这里显示本次生成实际带入的 prompt、结构化状态、历史召回和提醒摘要预览。
等待生成
Prompt
等待上下文...
Evidence Cards
功能二和功能三共用这一批短证据卡;不回灌功能一普通版主链。
0 cards
Live 状态
先看当前 live 提醒和 summary 状态,再看整场 session 的真实 token 累计。
当前 Live 模型
-
Live 提醒次数
0
Live 状态
idle
Summary 成功次数
0
Summary 跳过次数
0
Session Benchmark
这里固定显示这轮样本是不是 fresh boot、固定庭审样本的质量指标,以及本会话总 token 和 task breakdown。
Fresh Boot
no
当前 Runtime Boot
-
当前 Live 模型
-
Session Settled
no
Document-Import 命中批次
0
Off-Scenario-Minimal
0
暂无明确风险
0
答辩策略
0
Summary Success Ratio
0/0
Session Total Tokens
0
Task Token Breakdown
live 0 / summary 0 / report 0
Session LLM Usage
这里是本会话累计的真实 provider usage,不是单个 batch 的估算上下文预算。
LLM 请求数
0
Prompt Tokens
0
Completion Tokens
0
Total Tokens
0
最后更新时间
-
Task Breakdown: 把本会话 token 按 live cue、summary、report 三类拆开,方便做稳定性和成本对比。
Live Cue
0 tok / 0 req
Summary
0 tok / 0 req
Report
0 tok / 0 req
Report Delivery Truth
这里直接显示正式报告是否已就绪、用了多少次请求、花了多少 token,以及当前交付状态的诊断。
等待报告
报告状态
idle
报告错误
-
尝试次数
0
超时预算
0ms
失败阶段
-
报告请求数
0
报告 Tokens
0
报告更新时间
-
Terminal Warning
-
Warning Count
0
报告状态预览
报告进入 done 后,这里会显示正式交付正文的简短预览;失败或取消时只显示诊断,不混入正文。

ASR + LLM 时间轴

这里按语义批次持续累积。左侧显示 ASR cue,右侧显示对应 LLM note,默认自动跟随到底部,向上滚动后会暂停跟随。
等待条目
还没有时间轴条目。开始录音并触发 LLM 后,ASR 和回复会按批次累积在这里。

事件日志

每次发送分片、收到结果或完成收尾时,都会记录一条日志。

服务状态

启动后会自动检查本地桥接和豆包配置。
推荐的切片参数来自官方样例:100-200ms 一片,200ms 对双向流式通常最稳。

庭前长材料 / 证据抽屉

长合同、多卷证据、聊天记录汇总等放在这里做只读 RAG。它不会进入固定卷宗 Prompt,只会在当前 ASR 命中时最多召回 1-3 片,低优先级拼入主线。
Scope 等待会话
暂无长材料
上传长材料
第一版只支持 `txt / md / markdown`。导入后会切片写入只读向量索引,实时 ASR 不会写入这里。
粘贴长材料
已导入长材料
还没有导入庭前长材料。
长材料正文预览
这里会显示当前选中长材料的正文。它不会进入固定卷宗 Prompt,只会在当前 ASR 命中时以只读 RAG 片段低优先级进入主线。

资料记忆

这里仅放 2-3 千字左右的简易卷宗,作为固定 Prompt 直接进入主线。长合同、多卷证据和聊天记录汇总不要放这里,请放到上方“庭前长材料 / 证据抽屉”。
Scope 等待会话
暂无资料
上传简易卷宗
这里只接收简短固定 Prompt。超过 12,000 字符会被拦截,长材料应导入证据抽屉并向量化。
粘贴简易卷宗
已导入简易卷宗
还没有导入简易卷宗。
简易卷宗预览
这里会显示当前选中简易卷宗的正文。它会进入固定 Prompt;长材料不要放在这里。
Debug / 文件验证
这个区域是给调试用的,方便后面把已有 WAV 文件走同样的流式桥接流程验证,不影响主界面。
说明:这里不会绕过流式链路,而是把选中的 WAV 按相同的 200ms 逻辑分片后送入同一条桥接服务。