AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LangGPT: 面向大模型的自然语言编程框架
发布日期:2024-03-06 18:03:08 浏览次数: 319


以 ChatGPT 为代表的大型语言模型(Large Language Models, LLMs)[Achiam 等人,2023;Schulman 等人,2023] 可以基于强大的语言理解能力、推理能力和生成能力执行各种各样的任务[Sun 等人, 2023b;Sun 等人,2023c;Yu 等人,2023]。此外,注入领域知识还能让 LLM 执行与领域相关的特定 任务 [Wang 等人,2023a;Li 等人,2023b;Zhang 等人,2023;Ren 等人,2023]。要充分发挥 LLM 的这些能力,就需要构造高质量的提示[Eric,2022;Chen 等人,2023;Gajula,2023]。因此,提示 工程 (Prompt Engineering) 吸引了许多研究人员的关注[Varshney 和 Surla,2023;Mesk´o,2023; Wang,2023]。 提示工程是典型的经验科学,主要涉及提示设计和提示优化。由于 LLM 具备自然语言理解能力,可以通 过非结构化的自然语言指令直接要求 LLM 执行任务。在此基础上,研究人员首先探索并总结出了一些优 化提示的技巧。[Bsharat等人,2023年]介绍了26条指导原则,旨在让 LLMs 表现得更好。除了这些直 接作用于提示的优化技巧外,一些研究人员还基于历史数据的提出了提示优化方法。[Sun 等人,2023a] 引导 LLM 从不正确的推理中得出特定实例的新提示,然后总结每个实例的对应提示,作为优化原始提示 的参考。[Pryzant等人,2023年]定义了自然语言"梯度",利用小批量数据求解该"梯度"并利用波束搜索 和 Bandit 选择程序,按照梯度的相反语义方向编辑当前提示。[Fan 等人,2023 年]对一个大型提示数 据库进行分析,并提出了一个自动提示优化框架。 基于历史数据的直接提示优化原则和方法需要丰富的经验。因此,这些方法通常只在特定任务或领域中 表现良好。为了提高通用性,一些研究人员提出了自适应提示优化方法。[Guo 等人,2023 年] 将 LLM 与进化算法联系起来,提出了一种新的离散提示优化框架,称为 EvoPrompt。[Li等人,2023a]设计了 一种多轮对话对齐策略,并利用GPT-4[Achiam等人,2023]生成易读的提示集。同时,他们还提出了一 种高效的提示筛选指标,能以线性复杂度筛选出高质量的提示。[Wang等人,2023b]引入了 PromptAgent,它可以反思模型错误并产生建设性的错误反馈,以诱导精确的专家级见解和深入的指 导。[Hao等人,2022] 和 [Cheng等人,2023] 还从协调人类和 LLM 偏好风格的角度优化了提示。 提示优化可以大大提高 LLM 的性能,但由于缺乏系统性设计,高质量提示的可复用性很差。因此,一些 研究人员设计了构建提示的规则。[Nigh, 2023]收集了大量高质量提示,并总结了用于提示设计的 CRISPE 规则。[ZamfirescuPereira等人,2023年]以基于LLM的聊天机器人设计工具原型为设计探针, 支持非人工智能专家参与"终端用户提示工程"。此外,一些研究人员为不同领域的应用设计了提示构建 规则。[Cao 等人,2023 年]为 ChatGPT 提出了各种利用深度学习执行程序修复任务的提示模板。[Yeh 等人,2022年]将生物医学关系提取任务重新表述为简单提示表述下的 cloze 测试任务,从而系统地生成 全面的提示语。[Liu和Chilton,2022年]在文生图任务的五个实验中评估了涵盖51个主题和51种风格的 5493个生成提示,并总结了提示设计指南。 这些方法以AI专家大量的使用经验为基础,主要依赖列出的设计规则,缺乏系统性。此外,这些规则具 有较强的领域相关性和模型相关性,但通用性、灵活性和可复用性较低。为了进一步释放 LLM 的性能, 一些研究人员定义了 Agent。Agent 赋予 LLMs 使用工具、获取领域知识、保留长期或短期记忆以及制 定计划的能力[Xu 等人,2023;Xi 等人,2023;Park 等人,2023]。虽然Agent [Chase,2022;Hong 等人,2023;Wu 等人,2023]系统地设计了提示的关键组件并预留了灵活的自定义接口,但学习成本 非常高。此外,非 AI 专家很难修改 Agent 设计,可复用性较差。 为了推广基于 LLM 的应用,进一步激发 LLM 的潜力,我们希望设计一个高质量、可复用的提示模板。 该模板应具有通用性和可扩展性。此外,该模板还应该易学易用。受 prompt 是 LLM 时代的编程语言这 一观点的启发 [Alouani, 2023; Mund, 2023],我们设计了一种面向 LLM 的编程语言,即一种 prompt 设计框架 Language for GPT-like LLMs (LangGPT)。LangGPT 具有编程语言的系统性、规范性和可复 用性的特点,并保留了自然语言的灵活性和可扩展性。我们首先分析了自然语言和编程语言之间的差 异,以确定提示模板应具备的属性。LangGPT 设计为双层结构,由模块和内部元素组成。LangGPT 中 的模块可分为两类:内置模块和扩展模块。对于内置模块,我们详细设计了每个模块的必要内部元素, 并给出了示例模板。此外,对于扩展模块,我们统一了基本内部元素的设计。实验证明,在引导 LLM 方 面,LangGPT 比基线提示更好。此外,LLM 可以利用这一框架自动生成提示,就像生成代码一样。 这项工作的主要贡献为: 我们提出了双层结构的提示设计框架 LangGPT,以提高提示的通用性和可复用性。我们还在 LangGPT 的基础上编写了详细的提示设计规则,从而降低了提示设计的学习成本,使 LLM 能够自 动生成高质量的提示语。此外,我们提供了基于 LangGPT 的常见场景的通用提示模板,进一步简 化了提示设计成本。 我们通过实验证明,基于 LangGPT 设计的提示可以更好地引导 LLM 执行任务。同时,我们举例说 明了 LangGPT 可以帮助 LLM 生成高质量的提示。 我们建立了一个基于 LangGPT 的在线社区,提供使用文档和提示设计界面。此外,收集和分享优 秀的提示案例也促进了 LLM 应用的交流。我们在社区中进行了用户体验调查,验证了 LangGPT 的 易用性和可复用性。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询