logo
4

ERNIE-Bot-4模型function call实践

我们采用一种高效而灵活的方法,即结合FAQ和函数调用的方式。这种方法可以显著提高精确度,同时还有着极大的功能扩展潜力。
FAQ(常见问题解答)部分是一个包含了已知问题对应答案的库或向量索引数据库。这些问题和答案可以是事先准备好的,也可以通过自动化工具从文本或其他资源中提取和构建。FAQ库的目的是为系统提供一个基本的问题和答案库,以便能够回答一些常见问题。
函数调用则是一种编程技术,它允许我们根据需要调用特定的函数,以执行特定任务或提供特定的信息。在问答系统中,我们可以将FAQ中的问题和答案映射到特定的函数当中。比如涉及到价格方面的场景,价格需要一个精确的值,那么我们可以在FAQ中设定好单价,当用户问到这方面的问题时,模型将调用我们的函数进行一个计算,保证了数据的可靠性,而不是简单地从FAQ中查找匹配。
这种方法的关键之处在于,我们可以根据需要灵活扩展系统的功能。如果需要添加新的问题和答案,我们只需更新FAQ库。如果需要引入新的功能或定制化答案的生成过程,我们可以创建新的函数或修改现有函数,而无需对整个系统进行大规模改动。
总之,结合FAQ和函数调用的方式,不仅可以提高问答系统的准确性,还可以轻松地扩展其功能范围,使系统更加适应不断变化的需求和用户提问的多样性。这种方法使设计和维护问答系统变得更加高效和灵活。

效果(只展示了FAQ函数调用功能)

  • FAQ设定好对应的价格表
  • 问答效果

代码层面的处理逻辑

  • 查询函数满足其条件则调用函数
  • 基于函数的返回值问答
这里为什么需要额外处理另一种回答方式?
模型可能会未命中函数,这个时候就无法调用到对应的函数了,因此才需要这样处理。

后续计划

进一步迭代优化,提高准确度。在现有文生文的基础上增加文生图、文生短视频等等。
评论
用户头像