聊天机器人开发框架是什么?帮开发者快速搭建对话机器人
聊天机器人开发框架(Bot Framework)是用来创建聊天机器人并定义其行为的软件框架。对于聊天机器人开发者来说,面对众多的交流平台和各种各样的聊天机器人开发工具包,常常会感到无所适从。机器人开发框架这类软件,能把开发聊天机器人过程中大量重复、通用的工作抽象和封装起来,让开发者专注于机器人本身的业务逻辑。
开发一个聊天机器人要做哪些事
一个能实际使用的聊天机器人,背后涉及很多环节:理解用户的话,也就是识别用户的意图(比如“查询订单”还是“申请退款”)和关键信息(比如订单号、日期);管理对话的流程,记住对话进行到了哪一步,在信息不全时追问用户;调用后端的业务系统,比如查询数据库、调用接口;生成回复;以及把机器人接入各种渠道,比如企业网站上的客服窗口、微信、短信、即时通讯软件、语音助手。每个渠道都有自己的接入方式和消息格式,如果每个都单独开发,工作量很大。
框架提供了什么
机器人开发框架通常提供:对话管理,用状态、流程图或代码来定义对话的走向;自然语言理解的集成,接入意图识别和实体提取的服务;多渠道连接器,开发一次,就能把机器人发布到多个不同的平台,框架负责处理各个平台消息格式的差异;对话状态和用户数据的存储;测试和调试工具,比如模拟器;以及部署和监控能力。
代表性的框架包括:微软的 Bot Framework,提供了开发工具包和连接多个渠道的服务;开源的 Rasa,可以私有化部署,开发者能完全掌控数据和模型;谷歌的 Dialogflow、亚马逊的 Lex 等云服务,提供了可视化的对话设计和托管的自然语言理解。
大模型带来的变化
在大语言模型出现之前,聊天机器人主要依赖“意图识别加对话流程”的方式:开发者需要预先定义好各种意图,为每个意图准备大量的训练例句,再一步步地设计对话流程。机器人只能处理预先设计好的情况,用户的问题稍微超出范围,就会回答“抱歉,我不明白”。大语言模型极大地改变了这一点:它能理解各种自然的表达方式,进行开放式的对话,通过函数调用直接操作业务系统,通过检索增强生成回答基于企业知识库的问题。如今的机器人开发框架大多已经集成了大模型的能力,新一代的智能体开发框架,比如 LangChain、各家的智能体开发平台,在很大程度上取代或升级了传统的聊天机器人框架。不过,在需要严格控制对话流程的场景,比如银行业务、医疗预约,传统的流程设计与大模型相结合的方式依然很常用。