A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications

828 篇文章

已下架不支持订阅

本文翻译了《A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications》,介绍如何利用提示工程提升大型语言模型在不更新参数情况下的任务表现,涉及问答、常识推理等多个应用领域。论文分析了各种方法的优势和局限,为未来研究提供了方向。

本文是LLM系列文章,针对《A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications》的翻译。

大型语言模型中提示工程的系统综述:技术与应用

摘要

提示工程已经成为扩展大型语言模型(LLM)和视觉语言模型(VLM)功能的一种不可或缺的技术。这种方法利用特定任务的指令,即提示,在不修改核心模型参数的情况下提高模型功效。提示不是更新模型参数,而是通过仅基于给定提示引发所需的模型行为,将预先训练的模型无缝集成到下游任务中。提示可以是提供上下文以指导模型的自然语言指令,也可以是激活相关知识的学习向量表示。这一新兴领域已经在从问答到常识推理的各种应用程序中取得了成功。然而,对各种快速工程方法和技术仍然缺乏系统的组织和理解。这篇调查论文通过按应用领域分类,对提示工程的最新进展进行结构化概述,来解决这一差距。对于每种提示方法,我们都会提供一份摘要,详细说明提示方法、应用程序、所涉及的模型和所使用的数据集。我们还深入研究了每种方法的优势和局限性,并提供了一个分类图和表格,总结了每种提示技术的数据集、模型和关键点。这种系统的分析能够更好地理解这一快速发展的领域,并通过揭示提示工程的公开挑战和机遇,促进未来的研究。

1 引言

2 提示工程

3 结论

在人工智能领域,提示工程已经成为一股变革力量,释放了LLM的巨大潜力。这篇调查论文旨在作为一个基础资源,根据29种不同的提示工程技术的目标功能对其进行系统分类,以激励进一步的研究,并在不断发展的提示工程领域赋予创新者权力。该分析涵盖了应用程序、模型和数据集,揭示了每种方法的优势和局限性。此外,我们还添加了一个图表和一个表格来强调要点。尽管取得了显著的成功,但挑战依然存在,包括偏见、事实不准确和可解释性差距,需要进一步的调查和缓解策略。提

### 关于提示工程的系统性调查 近年来,随着生成式人工智能(GenAI)系统的广泛应用,提示工程已成为研究和实践中的重要领域。尽管提示的概念已被广泛研究,但由于其新兴特性,术语冲突以及缺乏对提示构成的本体论理解仍然存在[^2]。 一份全面的系统性调查应涵盖以下几个方面: #### 提示工程的核心概念 提示工程涉及开发者与最终用户如何通过设计特定的输入结构来引导模型的行为。这种交互方式不仅影响模型的表现,还决定了应用场景的成功与否。由于提示工程仍处于发展阶段,建立统一的定义和分类至关重要[^3]。 #### 提示技术的分类 一项重要的研究成果提出了针对文本模态的58种提示技术和适用于其他模态的40种技术的分类体系。这些技术被进一步细分为前缀提示、角色扮演、链式思维等多种类别,每一种都有独特的应用价值和局限性[^2]。 #### 自动化提示技术的发展 鉴于手动构建提示的复杂性和挑战,自动化提示技术逐渐受到关注。研究人员正在探索能够自动生成高效提示的技术方案,从而降低人工干预的成本并提升模型性能[^1]。 #### 安全性问题 在实际部署过程中,安全性是一个不可忽视的因素。特别是Prompt Injection等攻击手段的存在提醒我们,在设计提示时需考虑潜在的安全隐患及其缓解措施[^4]。 以下是基于以上分析的一个简单代码实现案例,展示如何利用Python调用API完成基本的提示处理任务: ```python import requests def generate_prompt(api_key, model_name, input_text): url = f"https://api.example.com/{model_name}/generate" headers = {"Authorization": f"Bearer {api_key}"} payload = { "input": input_text, "parameters": { "max_length": 50, "temperature": 0.7 } } response = requests.post(url, json=payload, headers=headers) if response.status_code == 200: return response.json()["output"] else: raise Exception(f"Error generating prompt: {response.text}") if __name__ == "__main__": api_key = "your_api_key_here" model_name = "text-davinci-003" user_input = "Write a short story about space exploration." result = generate_prompt(api_key, model_name, user_input) print(result) ``` 此脚本展示了向远程服务发送请求以获取由指定模型生成的内容的过程。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值