RAG赋予大模型访问私有知识库的能力,而Function Calling则使其能够读取和写入数据库。这两种能力的协同作用,将使智能客服变得更加智能、高效和个性化。
1.Function Calling可以解决什么问题?
RAG虽然解决了知识覆盖问题,但对于动态且针对用户的业务数据(如订单状态、产品库存、账户余额)仍然无能为力。Function Calling机制通过调用数据库查询接口,实现查询用户的实时数据,弥补了RAG的短板,将检索增强系统升级成为智能客服。
2.智能客服系统的实现流程
-
训练小模型进行用户意图识别(是否启用function calling函数调用、调用哪一组函数);
-
使用大模型的function calling功能,对函数调用的参数自动填充,也可以根据用户登录信息自动填充用户名等基础信息
-
将函数的调用结果反馈给大模型,并调用大模型后端API流式输出内容给用户。

核心模块:
-
知识库管理(文档、FAQ、SOP、制度等);
-
数据库接入(查询预编写好的业务数据函数);
-
Function定义与统一管理(支持动态扩展);
-
流式输出大模型结果到客服界面
金融客服场景中的应用:
在金融客服场景中,Function Calling 技术与 RAG 技术可以形成互补,例如,当用户咨询“我的账户余额是多少”时,系统首先通过意图识别判断这是一个涉及用户私人数据的请求。此时,RAG 技术无法提供实时答案,系统便触发 Function Calling,调用银行核心账户系统接口,返回该用户的最新余额信息。
而在理财产品推荐场景中,RAG 技术可以从企业内部知识库中召回不同类型的理财产品介绍、风险说明、历史收益表现等文本内容,为用户提供全面的产品背景信息。随后,系统通过 Function Calling 结合用户的风险承受能力、账户余额、历史购买记录等实时数据,筛选出最适合该用户的具体理财产品,并给出个性化推荐建议。RAG 解决“产品有哪些”的问题,Function Calling 解决“推荐给这个用户什么”这一实时问题。
这种 RAG 与 Function Calling 的协作模式,两者结合能提升服务的智能化、个性化与合规性,适用范围较广。