本技术公开了一种知识引导的基于大语言模型的可信API推荐方法,所述方法的核心思想是利用API知识提升LLM在API推荐任务中的可信性。具体地,针对LLM在API推荐中的不可信问题,本发明提出知识引导的数据增强以提升LLM建立用户指定类型与API序列之间的关联性的能力;提出知识引导的束搜索以引导LLM去生成真实存在且调用条件可以被满足的API;提出知识引导的重排序优化API序列推荐列表,使与接口参数类型匹配的API序列在推荐结果中的排名更靠前。本发明的优势在于能够在接口参数类型约束下实现API推荐,并且能够通过API知识图谱中的高质量先验知识提高大模型在API推荐任务中的可信性。
背景技术
随着我国社会信息化程度不断加深,如何提高软件的开发与更新效率成为了软件工程领域的一个热门研究方向。为了加快软件开发效率,避免重复造轮子,开发者往往会利用库或框架中提供的API编写代码。具体地,开发者通常会在编码中按特定顺序调用一组API来实现某个特定功能,这种按特定顺序调用的一组API也被称为API序列。近年来,API的数量爆炸式增长,即便是开发经验丰富的开发者也难以掌握所有的API的使用方法。因此,研究API推荐方法,即针对开发者的特定功能需求推荐能够满足该功能需求的API序列,能够弥补开发者在API知识掌握方面的不足。
在团队式的软件开发过程中,不同的单元或模块往往需要不同的开发者同步开发以提高效率。为了在各单元或模块开发完成后能够顺利集成,不同单元或模块之间往往需要提前约定好接口的参数形式。因此,开发者往往需要在预定义的接口参数类型的约束下实现特定功能。在针对该场景的API推荐任务中,推荐的API序列不仅需要满足开发者的功能需求,还需要与预定义的接口参数类型相匹配。本发明将这种形式的API推荐任务称作接口参数类型约束下的API推荐(API recommendation under specific interfaceparameter types,APIRIP)。图1展示了APIRIP的实例。
近年来,大语言模型(Large Language Model,LLM)在代码生成与推荐任务中展现出了惊人的能力。因此,基于LLM实现APIRIP任务是一种可行的方式。然而,LLM的“幻觉”导致其在API推荐任务中出现不可信问题。如图2所示,LLM在API推荐任务中的不可信问题可以分为三类:推荐虚构的API,推荐调用条件无法被满足的API,以及推荐的API序列所依赖的外部参数类型与预定义的接口参数类型不一致。
目前,尚未检索到有关于在接口参数类型约束下进行API推荐的研究工作,也未检索到有文献使用API知识提升LLM在API推荐任务中的可信性。
实现思路