本文是LLM系列文章,针对《AskIt: Unified Programming Interface for Programming with Large Language Models》的翻译。
摘要
在不断发展的软件开发环境中,大型语言模型(LLM)表现出一种被称为涌现能力的独特现象,在从文本摘要到代码生成的众多任务中表现出娴熟的能力。虽然这些能力为软件设计和制作开辟了新的途径,但它们的结合带来了巨大的挑战。开发人员努力解决在应用程序中直接嵌入LLM的决策,而不是将其用于代码生成。此外,考虑到从自然语言输出中提取数据的必要性,有效的提示设计成为一个关键问题。为了解决这些复杂问题,本文介绍了AskIt,这是一种专门为LLM设计的领域专用语言(DSL)。AskIt简化了LLM集成,提供了类型导向的输出控制、基于模板的函数定义和统一接口,从而减少了基于LLM的代码生成和应用程序集成之间的区别。此外,通过示例编程(PBE),AskIt在编程语言层面利用了少小样本学习的力量。我们的评估强调了AskIt的效力。在50个任务中,AskIt为给定的任务生成了简洁的提示,相对于基准,提示长度减少了16.14%。此外,通过实现从直接LLM应用程序使用到函数生成的过渡,AskIt实现了显著的加速,正如我们在GSM8K基准测试实验中观察到的那样