From 3de62e5bd36049d8453954c12a4c74b7785fa723 Mon Sep 17 00:00:00 2001 From: RealTong Date: Sat, 2 Mar 2024 18:47:57 +0800 Subject: [PATCH] Update: Chinese translation - Update Chinese translation of the techniques section - For a better reading experience on the Chinese internet, modify the spacing between Chinese and English characters. --- pages/techniques.zh.mdx | 2 +- pages/techniques/activeprompt.zh.mdx | 4 ++-- pages/techniques/ape.zh.mdx | 10 ++++++---- pages/techniques/consistency.zh.mdx | 10 +++++----- pages/techniques/cot.zh.mdx | 26 +++++++++++++++++++++---- pages/techniques/dsp.zh.mdx | 8 ++++---- pages/techniques/fewshot.zh.mdx | 2 ++ pages/techniques/knowledge.zh.mdx | 16 +++++++-------- pages/techniques/pal.zh.mdx | 20 +++++++++++++++---- pages/techniques/prompt_chaining.zh.mdx | 22 ++++++++++----------- pages/techniques/react.zh.mdx | 4 ++-- 11 files changed, 79 insertions(+), 45 deletions(-) diff --git a/pages/techniques.zh.mdx b/pages/techniques.zh.mdx index f64d161..5277c8a 100644 --- a/pages/techniques.zh.mdx +++ b/pages/techniques.zh.mdx @@ -2,7 +2,7 @@ import ContentFileNames from 'components/ContentFileNames' -时至今日,改进提示显然有助于在不同任务上获得更好的结果。这就是提示工程背后的整个理念。 +时至今日,改进提示词显然有助于在不同任务上获得更好的结果。这就是提示工程背后的整个理念。 尽管基础示例很有趣,但在本节中,我们将介绍更高级的提示工程技术,使我们能够完成更复杂和有趣的任务。 diff --git a/pages/techniques/activeprompt.zh.mdx b/pages/techniques/activeprompt.zh.mdx index 0af6346..fb9b2f4 100644 --- a/pages/techniques/activeprompt.zh.mdx +++ b/pages/techniques/activeprompt.zh.mdx @@ -4,9 +4,9 @@ import { Callout, FileTree } from 'nextra-theme-docs' import {Screenshot} from 'components/screenshot' import ACTIVE from '../../img/active-prompt.png' -思维链(CoT)方法依赖于一组固定的人工注释范例。问题在于,这些范例可能不是不同任务的最有效示例。为了解决这个问题,[Diao等人(2023)](https://arxiv.org/pdf/2302.12246.pdf)最近提出了一种新的提示方法,称为Active-Prompt,以适应LLMs到不同的任务特定示例提示(用人类设计的CoT推理进行注释)。 +思维链(CoT)方法依赖于一组固定的人工注释范例。问题在于,这些范例可能不是不同任务的最有效示例。为了解决这个问题,[Diao 等人(2023)](https://arxiv.org/pdf/2302.12246.pdf)最近提出了一种新的提示方法,称为 Active-Prompt,以适应 LLMs 到不同的任务特定示例提示(用人类设计的 CoT 推理进行注释)。 -下面是该方法的说明。第一步是使用或不使用少量CoT示例查询LLM。对一组训练问题生成*k*个可能的答案。基于*k*个答案计算不确定度度量(使用不一致性)。选择最不确定的问题由人类进行注释。然后使用新的注释范例来推断每个问题。 +下面是该方法的说明。第一步是使用或不使用少量 CoT 示例查询 LLM。对一组训练问题生成 *k* 个可能的答案。基于 *k* 个答案计算不确定度度量(使用不一致性)。选择最不确定的问题由人类进行注释。然后使用新的注释范例来推断每个问题。 图片来源:[Diao等人(2023)](https://arxiv.org/pdf/2302.12246.pdf) \ No newline at end of file diff --git a/pages/techniques/ape.zh.mdx b/pages/techniques/ape.zh.mdx index 89b400c..64b958f 100644 --- a/pages/techniques/ape.zh.mdx +++ b/pages/techniques/ape.zh.mdx @@ -8,19 +8,21 @@ import APECOT from '../../img/ape-zero-shot-cot.png' 图片来源:[Zhou等人,(2022)](https://arxiv.org/abs/2211.01910) -[Zhou等人,(2022)](https://arxiv.org/abs/2211.01910) 提出了自动提示工程师(APE),这是一个用于自动指令生成和选择的框架。指令生成问题被构建为自然语言合成问题,使用LLMs作为黑盒优化问题的解决方案来生成和搜索候选解。 +[Zhou等人,(2022)](https://arxiv.org/abs/2211.01910) 提出了自动提示工程师 (APE),这是一个用于自动指令生成和选择的框架。指令生成问题被构建为自然语言合成问题,使用 LLMs 作为黑盒优化问题的解决方案来生成和搜索候选解。 第一步涉及一个大型语言模型(作为推理模型),该模型接收输出演示以生成任务的指令候选项。这些候选解将指导搜索过程。使用目标模型执行指令,然后根据计算的评估分数选择最合适的指令。 -APE发现了一个比人工设计的“让我们一步一步地思考”提示更好的零样本CoT提示([Kojima等人,2022](https://arxiv.org/abs/2205.11916))。 +APE 发现了一个比人工设计的“让我们一步一步地思考”提示更好的零样本 CoT 提示 ([Kojima 等人,2022](https://arxiv.org/abs/2205.11916))。 -提示“让我们一步一步地解决这个问题,以确保我们有正确的答案。”引发了思维链的推理,并提高了MultiArith和GSM8K基准测试的性能: +提示“让我们一步一步地解决这个问题,以确保我们有正确的答案。”引发了思维链的推理,并提高了 MultiArith 和 GSM8K 基准测试的性能: 图片来源:[Zhou等人,(2022)](https://arxiv.org/abs/2211.01910) 本文涉及与提示工程相关的重要主题,即自动优化提示的想法。虽然我们在本指南中没有深入探讨这个主题,但如果您对此主题感兴趣,以下是一些关键论文: +- [Prompt-OIRL](https://arxiv.org/abs/2309.06553) - 使用离线逆强化学习来生成与查询相关的提示。 +- [OPRO](https://arxiv.org/abs/2309.03409) - 引入使用 LLMs 优化提示的思想:让 LLMs “深呼吸”提高数学问题的表现。 - [AutoPrompt](https://arxiv.org/abs/2010.15980) - 提出了一种基于梯度引导搜索的方法,用于自动创建各种任务的提示。 -- [Prefix Tuning](https://arxiv.org/abs/2101.00190) - 是一种轻量级的fine-tuning替代方案,为NLG任务添加可训练的连续前缀。 +- [Prefix Tuning](https://arxiv.org/abs/2101.00190) - 是一种轻量级的 fine-tuning 替代方案,为 NLG 任务添加可训练的连续前缀。 - [Prompt Tuning](https://arxiv.org/abs/2104.08691) - 提出了一种通过反向传播学习软提示的机制。 \ No newline at end of file diff --git a/pages/techniques/consistency.zh.mdx b/pages/techniques/consistency.zh.mdx index 67417a2..bc7325a 100644 --- a/pages/techniques/consistency.zh.mdx +++ b/pages/techniques/consistency.zh.mdx @@ -1,6 +1,6 @@ # 自我一致性 -也许在提示工程中更高级的技术之一是自我一致性。由[Wang等人(2022)](https://arxiv.org/pdf/2203.11171.pdf)提出,自我一致性旨在“替换链式思维提示中使用的天真贪婪解码方法”。其想法是通过少样本CoT采样多个不同的推理路径,并使用生成结果选择最一致的答案。这有助于提高CoT提示在涉及算术和常识推理的任务中的性能。 +也许在提示工程中更高级的技术之一是自我一致性。由 [Wang等人(2022)](https://arxiv.org/pdf/2203.11171.pdf) 提出,自我一致性旨在“替换链式思维提示中使用的天真贪婪解码方法”。其想法是通过少样本 CoT 采样多个不同的推理路径,并使用生成结果选择最一致的答案。这有助于提高 CoT 提示在涉及算术和常识推理的任务中的性能。 让我们尝试以下算术推理示例: @@ -14,7 +14,7 @@ 35 ``` -输出是错误的!我们如何通过自我一致性来改进这个问题?让我们试试。我们将使用Wang等人2022年的少量样本范例(表17): +输出是错误的!我们如何通过自我一致性来改进这个问题?让我们试试。我们将使用 Wang 等人 2022 年的少量样本范例(表 17 ): *提示:* ``` @@ -47,17 +47,17 @@ Q:当我6岁时,我的妹妹是我的一半年龄。现在我70岁了,我 A: ``` -*输出1:* +*输出 1:* ``` 当我6岁时,我的妹妹是我的一半年龄,也就是3岁。现在我70岁了,所以她是70-3 = 67岁。答案是67。 ``` -*输出2:* +*输出 2:* ``` 当叙述者6岁时,他的妹妹是他年龄的一半,也就是3岁。现在叙述者70岁了,他的妹妹应该是70-3 = 67岁。答案是67。 ``` -*输出3:* +*输出 3:* ``` 当我6岁时,我的妹妹是我的一半年龄,也就是3岁。现在我70岁了,所以她是70/2 = 35岁。答案是35。 ``` diff --git a/pages/techniques/cot.zh.mdx b/pages/techniques/cot.zh.mdx index 491895f..ab688a2 100644 --- a/pages/techniques/cot.zh.mdx +++ b/pages/techniques/cot.zh.mdx @@ -3,6 +3,7 @@ import {Screenshot} from 'components/screenshot' import COT from '../../img/cot.png' import ZEROCOT from '../../img/zero-cot.png' +import AUTOCOT from '../../img/auto-cot.png' ## 链式思考(CoT)提示 @@ -11,7 +12,7 @@ import ZEROCOT from '../../img/zero-cot.png' 图片来源:[Wei等人(2022)](https://arxiv.org/abs/2201.11903) -在[Wei等人(2022)](https://arxiv.org/abs/2201.11903)中引入的链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。您可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。 +在 [Wei等人(2022)](https://arxiv.org/abs/2201.11903) 中引入的链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。您可以将其与少样本提示相结合,以获得更好的结果,以便在回答之前进行推理的更复杂的任务。 *提示:* ``` @@ -54,13 +55,13 @@ A: 请记住,作者声称这是足够大的语言模型才会出现的新兴能力。 -## 零样本COT提示 +## 零样本 COT 提示 图片来源:[Kojima等人(2022)](https://arxiv.org/abs/2205.11916) -最近提出的一个新想法是[零样本CoT](https://arxiv.org/abs/2205.11916)(Kojima等人,2022年),它基本上涉及将“让我们逐步思考”添加到原始提示中。让我们尝试一个简单的问题,看看模型的表现如何: +最近提出的一个新想法是 [零样本CoT](https://arxiv.org/abs/2205.11916)( Kojima 等人,2022年),它基本上涉及将“让我们逐步思考”添加到原始提示中。让我们尝试一个简单的问题,看看模型的表现如何: *提示:* ``` @@ -89,4 +90,21 @@ A: 最后,您吃了1个苹果,所以您还剩下10个苹果。 ``` -令人印象深刻的是,这个简单的提示在这个任务中非常有效。这在您没有太多示例可用于提示时特别有用。 \ No newline at end of file +令人印象深刻的是,这个简单的提示在这个任务中非常有效。这在您没有太多示例可用于提示时特别有用。 + +## 自动思维链(Auto-CoT) +当使用思维链提示时,这个过程需要手工制作有效且多样化的例子。这种手动工作可能会导致次优解决方案。[Zhang et al. (2022)](https://arxiv.org/abs/2210.03493) 提出了一种消除人工的方法,即利用 LLMs “让我们一步一步地思考” 提示来生成一个接一个的推理链。这种自动过程仍然可能在生成的链中出现错误。为了减轻错误的影响,演示的多样性很重要。这项工作提出了Auto-CoT,它对具有多样性的问题进行采样,并生成推理链来构建演示。 + +Auto-CoT 主要由两个阶段组成: +- 阶段1:**问题聚类**:将给定问题划分为几个聚类 +- 阶段2:**演示抽样**:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链 + +简单的启发式方法可以是问题的长度(例如,60 个 tokens)和理由的步骤数(例如,5 个推理步骤)。这鼓励模型使用简单而准确的演示。 + +该过程如下图所示: + + + +图片来源:[Zhang等人(2022)](https://arxiv.org/abs/2210.03493) + +Auto-CoT 的代码可在这里找到:[Github](https://github.com/amazon-science/auto-cot)。 \ No newline at end of file diff --git a/pages/techniques/dsp.zh.mdx b/pages/techniques/dsp.zh.mdx index 3645aec..66ef9dd 100644 --- a/pages/techniques/dsp.zh.mdx +++ b/pages/techniques/dsp.zh.mdx @@ -4,13 +4,13 @@ import { Callout, FileTree } from 'nextra-theme-docs' import {Screenshot} from 'components/screenshot' import DSP from '../../img/dsp.jpeg' -[Li等人,(2023)](https://arxiv.org/abs/2302.11520)提出了一种新的提示技术,以更好地指导LLM生成所需的摘要。 +[Li 等人,(2023)](https://arxiv.org/abs/2302.11520)提出了一种新的提示技术,以更好地指导 LLM 生成所需的摘要。 -训练了一个可调节的策略LM来生成刺激/提示。越来越多地使用RL来优化LLM。 +训练了一个可调节的策略 LM 来生成刺激/提示。越来越多地使用RL来优化 LLM。 -下图显示了方向性刺激提示与标准提示的比较。策略LM可以很小,并且可以优化以生成指导黑盒冻结LLM的提示。 +下图显示了方向性刺激提示与标准提示的比较。策略 LM 可以很小,并且可以优化以生成指导黑盒冻结 LLM 的提示。 -图片来源:[Li等人,(2023)](https://arxiv.org/abs/2302.11520) +图片来源:[Li 等人,(2023)](https://arxiv.org/abs/2302.11520) 完整示例即将推出! \ No newline at end of file diff --git a/pages/techniques/fewshot.zh.mdx b/pages/techniques/fewshot.zh.mdx index dfe75ef..bdbeb69 100644 --- a/pages/techniques/fewshot.zh.mdx +++ b/pages/techniques/fewshot.zh.mdx @@ -2,6 +2,8 @@ 虽然大型语言模型展示了惊人的零样本能力,但在使用零样本设置时,它们在更复杂的任务上仍然表现不佳。少样本提示可以作为一种技术,以启用上下文学习,我们在提示中提供演示以引导模型实现更好的性能。演示作为后续示例的条件,我们希望模型生成响应。 +根据 [Touvron et al. 2023](https://arxiv.org/pdf/2302.13971.pdf) 等人的在 2023 年的论文,当模型规模足够大时,小样本提示特性开始出现 [(Kaplan et al., 2020)](https://arxiv.org/abs/2001.08361)。 + 让我们通过[Brown等人2020年](https://arxiv.org/abs/2005.14165)提出的一个例子来演示少样本提示。在这个例子中,任务是在句子中正确使用一个新词。 *提示:* diff --git a/pages/techniques/knowledge.zh.mdx b/pages/techniques/knowledge.zh.mdx index d398281..59da8ef 100644 --- a/pages/techniques/knowledge.zh.mdx +++ b/pages/techniques/knowledge.zh.mdx @@ -5,11 +5,11 @@ import GENKNOW from '../../img/gen-knowledge.png' -图片来源:[Liu等人2022](https://arxiv.org/pdf/2110.08387.pdf) +图片来源:[Liu 等人 2022](https://arxiv.org/pdf/2110.08387.pdf) -LLM继续得到改进,其中一种流行的技术是能够融合知识或信息,以帮助模型做出更准确的预测。 +LLM 继续得到改进,其中一种流行的技术是能够融合知识或信息,以帮助模型做出更准确的预测。 -使用类似的思路,模型是否也可以在做出预测之前用于生成知识呢?这就是[Liu等人2022](https://arxiv.org/pdf/2110.08387.pdf)的论文所尝试的——生成知识以作为提示的一部分。特别是,这对于常识推理等任务有多大帮助? +使用类似的思路,模型是否也可以在做出预测之前用于生成知识呢?这就是 [Liu 等人 2022](https://arxiv.org/pdf/2110.08387.pdf) 的论文所尝试的——生成知识以作为提示的一部分。特别是,这对于常识推理等任务有多大帮助? 让我们尝试一个简单的提示: @@ -23,7 +23,7 @@ LLM继续得到改进,其中一种流行的技术是能够融合知识或信 是。 ``` -这种错误揭示了LLM在执行需要更多关于世界的知识的任务时的局限性。我们如何通过生成知识来改进呢? +这种错误揭示了 LLM 在执行需要更多关于世界的知识的任务时的局限性。我们如何通过生成知识来改进呢? 首先,我们生成一些“知识”: @@ -58,9 +58,9 @@ LLM继续得到改进,其中一种流行的技术是能够融合知识或信 高尔夫球是一项精密的球杆运动,竞争选手(或高尔夫球手)使用许多类型的球杆,用最少的杆数将球打入球场上一系列洞中。目标是以最低的分数完成比赛,该分数是通过将每个洞上所用的杆数相加计算出来的。得分最低的选手赢得比赛。 ``` -我们使用[Liu等人2022](https://arxiv.org/pdf/2110.08387.pdf)的论文中提供的提示。 +我们使用 [Liu等人2022](https://arxiv.org/pdf/2110.08387.pdf) 的论文中提供的提示。 -下一步是将知识整合并得出预测。我将问题重新格式化为QA格式,以指导答案格式。 +下一步是将知识整合并得出预测。我将问题重新格式化为 QA 格式,以指导答案格式。 *提示:* ``` @@ -71,7 +71,7 @@ LLM继续得到改进,其中一种流行的技术是能够融合知识或信 解释和答案: ``` -*答案1(置信度非常高):* +*答案 1(置信度非常高):* ``` 不是,高尔夫球的目标不是获得比其他人更高的得分。相反,目标是以最少的杆数打完一组洞。总杆数用于确定比赛的获胜者,而不是总得分。 ``` @@ -84,7 +84,7 @@ LLM继续得到改进,其中一种流行的技术是能够融合知识或信 解释和答案: ``` -*答案2(置信度要低得多):* +*答案 2(置信度要低得多):* ``` 是的,高尔夫球的一部分是试图获得比其他人更高的得分。每个选手都试图以最少的杆数打完一组洞。总杆数用于确定比赛的获胜者,而不是总得分。得分最低的选手赢得比赛。 ``` diff --git a/pages/techniques/pal.zh.mdx b/pages/techniques/pal.zh.mdx index c56cd4e..ff53b9e 100644 --- a/pages/techniques/pal.zh.mdx +++ b/pages/techniques/pal.zh.mdx @@ -4,14 +4,14 @@ import { Callout, FileTree } from 'nextra-theme-docs' import {Screenshot} from 'components/screenshot' import PAL from '../../img/pal.png' -[Gao等人(2022)](https://arxiv.org/abs/2211.10435)提出了一种使用LLMs读取自然语言问题并生成程序作为中间推理步骤的方法。被称为程序辅助语言模型(PAL),它与思维链提示不同,因为它不是使用自由形式文本来获得解决方案,而是将解决步骤卸载到类似Python解释器的编程运行时中。 +[Gao 等人(2022)](https://arxiv.org/abs/2211.10435)提出了一种使用 LLMs 读取自然语言问题并生成程序作为中间推理步骤的方法。被称为程序辅助语言模型(PAL),它与思维链提示不同,因为它不是使用自由形式文本来获得解决方案,而是将解决步骤卸载到类似 Python 解释器的编程运行时中。 -图片来源:[Gao等人(2022)](https://arxiv.org/abs/2211.10435) +图片来源:[Gao 等人(2022)](https://arxiv.org/abs/2211.10435) -让我们以LangChain和OpenAI GPT-3为例。我们有兴趣开发一个简单的应用程序,它能够解释所提出的问题,并利用Python解释器提供答案。 +让我们以 LangChain 和 OpenAI GPT-3 为例。我们有兴趣开发一个简单的应用程序,它能够解释所提出的问题,并利用 Python 解释器提供答案。 -具体来说,我们有兴趣创建一个功能,允许使用LLM回答需要日期理解的问题。我们将为LLM提供一个提示,其中包括一些示例,这些示例是从[这里](https://github.com/reasoning-machines/pal/blob/main/pal/prompt/date_understanding_prompt.py)采用的。 +具体来说,我们有兴趣创建一个功能,允许使用 LLM 回答需要日期理解的问题。我们将为 LLM 提供一个提示,其中包括一些示例,这些示例是从[这里](https://github.com/reasoning-machines/pal/blob/main/pal/prompt/date_understanding_prompt.py)采用的。 这是我们需要导入的包: @@ -97,6 +97,18 @@ llm_out = llm(DATE_UNDERSTANDING_PROMPT.format(question=question)) print(llm_out) ``` +这将输出以下内容: +``` +# If today is 27 February 2023 and I was born exactly 25 years ago, then I was born 25 years before. +today = datetime(2023, 2, 27) +# I was born 25 years before, +born = today - relativedelta(years=25) +# The answer formatted with %m/%d/%Y is +born.strftime('%m/%d/%Y') +``` + +`llm_out` 是一段 `python` 代码,我们可以使用 `exec` 执行它: + ```python exec(llm_out) print(born) diff --git a/pages/techniques/prompt_chaining.zh.mdx b/pages/techniques/prompt_chaining.zh.mdx index 29d9f4d..7f42898 100644 --- a/pages/techniques/prompt_chaining.zh.mdx +++ b/pages/techniques/prompt_chaining.zh.mdx @@ -7,21 +7,21 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' 为了提高大语言模型的性能使其更可靠,一个重要的提示工程技术是将任务分解为许多子任务。 确定子任务后,将子任务的提示词提供给语言模型,得到的结果作为新的提示词的一部分。 这就是所谓的链式提示(prompt chaining),一个任务被分解为多个子任务,根据子任务创建一系列提示操作。 -链式提示可以完成很复杂的任务。LLM可能无法仅用一个非常详细的提示完成这些任务。在链式提示中,提示链对生成的回应执行转换或其他处理,直到达到期望结果。 +链式提示可以完成很复杂的任务。LLM 可能无法仅用一个非常详细的提示完成这些任务。在链式提示中,提示链对生成的回应执行转换或其他处理,直到达到期望结果。 -除了提高性能,链式提示还有助于提高LLM应用的透明度,增加控制性和可靠性。这意味着您可以更容易地定位模型中的问题,分析并改进需要提高的不同阶段的性能。 +除了提高性能,链式提示还有助于提高 LLM 应用的透明度,增加控制性和可靠性。这意味着您可以更容易地定位模型中的问题,分析并改进需要提高的不同阶段的性能。 -链式提示在构建LLM驱动的对话助手和提高应用程序的个性化用户体验方面非常有用。 +链式提示在构建 LLM 驱动的对话助手和提高应用程序的个性化用户体验方面非常有用。 ## 链式提示使用示例 ### 文档问答中的链式提示 -提示链可以用于不同的场景,这些场景可能涉及多个操作或转换。例如,LLM的一个常见用途是根据大型文本文档回答问题。想要更好阅读大文本文档,可以设计两个不同的提示,第一个提示负责提取相关引文以回答问题,第二个提示则以引文和原始文档为输入来回答给定的问题。换句话说,可以创建两个不同的提示来执行根据文档回答问题的任务。 +提示链可以用于不同的场景,这些场景可能涉及多个操作或转换。例如,LLM 的一个常见用途是根据大型文本文档回答问题。想要更好阅读大文本文档,可以设计两个不同的提示,第一个提示负责提取相关引文以回答问题,第二个提示则以引文和原始文档为输入来回答给定的问题。换句话说,可以创建两个不同的提示来执行根据文档回答问题的任务。 -下面的第一个提示根据问题从文档中提取相关引文。请注意,为了简化,我们为文档添加了一个占位符`{{文档}}`。要测试此提示,您可以从维基百科复制并粘贴一篇文章,例如这个关于[提示工程](https://zh.wikipedia.org/wiki/提示工程)的页面。由于此任务使用了较长的上下文,我们使用了OpenAI的`gpt-4-1106-preview`模型。您也可以将此提示与其他长上下文LLM(如Claude)一起使用。 +下面的第一个提示根据问题从文档中提取相关引文。请注意,为了简化,我们为文档添加了一个占位符`{{文档}}`。要测试此提示,您可以从维基百科复制并粘贴一篇文章,例如这个关于[提示工程](https://zh.wikipedia.org/wiki/提示工程)的页面。由于此任务使用了较长的上下文,我们使用了 OpenAI 的 `gpt-4-1106-preview` 模型。您也可以将此提示与其他长上下文 LLM(如 Claude)一起使用。 -提示1: +提示 1: ``` 你是一个很有帮助的助手。你的任务是根据文档回答问题。第一步是从文档中提取与问题相关的引文,由####分隔。请使用输出引文列表。如果没有找到相关引文,请回应“未找到相关引文!”。 @@ -30,11 +30,11 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' #### ``` -这是整个提示的截图,包括通过`user`角色传递的问题。 +这是整个提示的截图,包括通过 `user` 角色传递的问题。 -提示1的输出: +提示 1 的输出: ``` - Chain-of-thought (CoT) prompting[27] @@ -54,7 +54,7 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' 在第一个提示中返回的引文现在可以用作下面第二个提示的输入。您可以对这些引文进行清理,比如移除引用标志。可以在提示链中新建另一个提示来移除或使用这些引用标志,但现在您可以忽略这些。然后,第二个提示接收由第一个提示提取的相关引文,并根据文档和这些提取的引文生成一个有帮助的回答。第二个提示可以是以下内容: -提示2: +提示 2: ``` 根据从文档中提取的相关引文(由分隔)和原始文档(由####分隔),请构建对问题的回答。请确保答案准确、语气友好且有帮助。 @@ -78,7 +78,7 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' ``` -提示2的输出: +提示 2 的输出: ``` 文档中提到的提示技术包括: @@ -100,4 +100,4 @@ import PC1 from '../../img/prompt_chaining/prompt-chaining-1.png' 如您所见,简化并创建提示链是一种有用的提示方法,其中响应需要经过多个操作或转换。作为练习,您可以自由设计一个提示,它会在将响应作为最终回应发送给应用程序用户之前,移除响应中的引用标志(例如,`[27]`)。 -您还可以在这份[文档](https://docs.anthropic.com/claude/docs/prompt-chaining)中找到更多关于提示链的示例,这些示例利用了Claude LLM。我们的示例灵感来源于他们,并采用了他们的示例。 +您还可以在这份[文档](https://docs.anthropic.com/claude/docs/prompt-chaining)中找到更多关于提示链的示例,这些示例利用了 Claude LLM。我们的示例灵感来源于他们,并采用了他们的示例。 diff --git a/pages/techniques/react.zh.mdx b/pages/techniques/react.zh.mdx index f49ab6d..2ba715e 100644 --- a/pages/techniques/react.zh.mdx +++ b/pages/techniques/react.zh.mdx @@ -6,7 +6,7 @@ import REACT from '../../img/react.png' import REACT1 from '../../img/react/table1.png' import REACT2 from '../../img/react/alfworld.png' -从 [Yao等人,2022](https://arxiv.org/abs/2210.03629) 引入了一个框架,其中 LLMs 以交错的方式生成 *推理轨迹* 和 *任务特定操作* 。 +从 [Yao 等人,2022](https://arxiv.org/abs/2210.03629) 引入了一个框架,其中 LLMs 以交错的方式生成 *推理轨迹* 和 *任务特定操作* 。 生成推理轨迹使模型能够诱导、跟踪和更新操作计划,甚至处理异常情况。操作步骤允许与外部源(如知识库或环境)进行交互并且收集信息。 @@ -18,7 +18,7 @@ ReAct 框架允许 LLMs 与外部工具交互来获取额外信息,从而给 ReAct 的灵感来自于 “行为” 和 “推理” 之间的协同作用,正是这种协同作用使得人类能够学习新任务并做出决策或推理。 -链式思考 (CoT) 提示显示了 LLMs 执行推理轨迹以生成涉及算术和常识推理的问题的答案的能力,以及其他任务 [(Wei等人,2022)](https://arxiv.org/abs/2201.11903)。但它因缺乏和外部世界的接触或无法更新自己的知识,而导致事实幻觉和错误传播等问题。 +链式思考 (CoT) 提示显示了 LLMs 执行推理轨迹以生成涉及算术和常识推理的问题的答案的能力,以及其他任务 [(Wei 等人,2022)](https://arxiv.org/abs/2201.11903)。但它因缺乏和外部世界的接触或无法更新自己的知识,而导致事实幻觉和错误传播等问题。 ReAct 是一个将推理和行为与 LLMs 相结合通用的范例。ReAct 提示 LLMs 为任务生成口头推理轨迹和操作。这使得系统执行动态推理来创建、维护和调整操作计划,同时还支持与外部环境(例如,Wikipedia)的交互,以将额外信息合并到推理中。下图展示了 ReAct 的一个示例以及执行问题回答所涉及的不同步骤。