开发者 Nipun Goel 在 VoiceForBharat 挑战赛的 10 天里构建了 FinSaathi,一个面向金融服务的语音优先 AI 助手。它支持自然印地语/印度英语对话,能理解金融与政府计划相关查询、记忆用户信息、调用工具,并在必要时转接人工或专家。
系统基于 LiveKit Agents 构建,前端使用 Next.js/React,后端为 FastAPI,数据库采用 SQLite,语音合成使用 Murf Falcon,通话走 SIP/LiveKit。核心能力包括政府计划资格检查、外呼、人工升级、通话分析与专家代理交接。
关键特性:语音交互采用 Murf Falcon,支持印地语/印度英语自然对话;安全护栏会在用户报告未授权交易时警告不要分享 OTP、PIN、密码、CVV 和卡号;用户信息存入 SQLite 供后续对话复用;资格检查工具可判断用户是否符合政府计划条件;系统可主动外呼符合条件的用户;检测到欺诈等场景时可创建人工升级请求并生成唯一参考 ID(如 FS-A5323F);通话分析记录成功/失败/总通话数;政府计划相关对话可转交给专门的专家代理处理。
开发中遇到的主要挑战是实时通话与 LiveKit/SIP 集成,测试时出现 WinError 64、ConnectionResetError、DuplexClosed 等错误,以及外呼时 AI 开始说话但通话提前终止的问题。调试涉及 LiveKit worker 生命周期、SIP 配置、网络连接、代理进程与通话状态。另一个经验是分离代理、数据库、API 与前端的职责,使系统更易扩展和调试。
作者总结,一个可用的语音代理不只是「语音→AI→语音」,而是语音、LLM、记忆、工具、安全、实时通信、数据库、人工升级、分析与专家交接的组合系统。
#开发者 #工具 #FinSaathi #VoiceForBharat #LiveKit #语音助手 #FastAPI #SQLite #印度
@DevToolboxHub
