在过去的10天里,我为VoiceForBharat挑战赛的金融服务赛道建造了FinSaathi,一个语音第一AI助理.
目标很简单:建立一个能够与用户自然交谈的助手,理解财政和政府计划相关询问,记住相关信息,使用工具,以及知道人或专家何时应接任.
作为基本语音代言人开始的逐渐成为一个完整的系统,包含记忆,工具,外出调用,人气升级,调用分析,以及专家代理的交接. 💡 问题财务和政府计划程序可能涉及资格要求、文件、最后期限和复杂的术语。
对于说话比打字更自在的用户来说,语音可以让这些互动更加自然.
例如,用户可以简单地问:"PMJJBY ke liye 主合格hoon?" FinSaathi没有通过多种表格进行导航,而是能够理解请求,收集所需信息,进行资格检查,并以对话方式解释结果.
目标不是取而代之的是银行或人力支持,而是提供对话的第一层援助,并在需要人力帮助时使局势升级.
SQLite DB ┌──────┴──────┐ ▼ ▼ ▼ ▼ ▼ Human Human Human Human Human Human Human Architecture SQLite SQLite DB ▼ ▼ ▼ ▼ ▼ ▼ Human Human Human Human Human Human Human Human Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture Architecture ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ 目的是让互动感觉更像是与助手交谈,而不是与传统的聊天员互动.
金融对话需要严格的安全界限。
例如,当用户报告未经授权的交易时,FinSaathi警告他们不要共享:OTP PIN密码 CVV卡的细节 代理商在无法直接进入用户的银行账户或交易系统时,也明确解释.
用户内存 FinSaathi 将相关用户信息存储在 SQLite 数据库中,以便在未来的对话中重新使用.
数据库逻辑被分离成自己的层: Agent QQ数据库. py QQLite 用户表 这使得在不将数据库操作混入整个代理代码的情况下,项目更容易被扩展.
政府计划资格FinSaathi可以使用工具进行政府计划资格检查。
用户询问计划 QQ 收集所需信息 QQ 资格工具 QQ 合格 / 不合格 QQ 数据库 用户收到结果 资格结果还可以用来确定用户的预定任务是否成功完成.
出站呼叫FinSaathi可以主动通过出站呼叫联系符合条件的用户.
数据库 QQ 检查最后期限 / 合格用户 QQ Outbound 调用逻辑 QQ SIP / LiveKit / AI Agent QQ 用户设置和调试 SIP 和 LiveKit 调用流量是项目中最具挑战性的部分之一.
人类升级(Human Escelation FinSaathi)可以识别人类支持更适合的情况.
例如,对于未经授权的交易,代理商可以问:"Agar aap chahein, toh main aapki situation ke liye ek 人类支持请求创建kar sakti Hoon".
在用户表示同意后,系统会形成升级并产生出独特的参考ID.
示例:FS-A5323F 请求中包含以下信息: 原因:可能 欺诈 紧急:高地位:OPEN首选后续:电话 人类支持仪表板允许请求通过: OPEN IN PROGRESS RESOLVED Call Analytics FinSaathi也记录了对话的结果.
对于这个项目来说,成功的互动意味着: