论文
通过检索增强生成和约束解码减少 LLM 生成的 Web API 调用中的错误
Mitigating Errors in LLM-Generated Web API Invocations via Retrieval-Augmented Generation and Constrained Decoding
摘要
Web API 的集成是现代软件系统的基石,但由于复杂且不断发展的 API 规范,编写正确的 Web API 调用代码仍然具有挑战性。尽管 LLM 越来越多地用于代码生成,但之前的工作根据经验表明,它们生成正确的 Web API 集成的能力是有限的。与此同时,缓解技术及其在这种情况下的有效性仍然没有得到充分的了解。在本文中,我们提出并系统地评估了检索增强生成(RAG)和约束解码(CD)作为改进 LLM 生成的 Web API 调用代码的两种补充方法。对于 RAG,我们设计了一个 检索器,它处理 OpenAPI 规范并检索紧凑的端点表示以注入模型提示中。对于 CD,我们引入了从 OpenAPI 规范到生成期间强制执行的基于正则表达式的约束的自动转换。我们在 WAPIIBench 现有的合成数据集和源自 GitHub 存储库的新现实数据集上评估了这两种方法。我们的结果表明,RAG 在生成完整 API 调用时减少了幻觉并提高了正确性,但在已提供端点时减少了幻觉,因为它鼓励生成不必要的参数。相比之下,CD 可靠地防止非法 URL、HTTP 方法和参数,并显着提高了两个起始代码的整体正确性。