本文是 GPT4 发问技巧系列的第二篇,悉数系列文章:

  1. GPT4 发问技巧一:写明晰的阐明;
  2. GPT4 发问技巧二:供给参阅文本;
  3. GPT4 发问技巧三:复杂使命拆分;

OpenAI 能够了解和生成人类言语,协助咱们解答问题,写文章,甚至编程。然而,即便是 GPT-4,也有其局限性,其中之一便是上下文长度的约束。GPT-4 的上下文长度约束是由其内部架构决议的,简略来说,GPT-4 在处理输入时,会将输入的文本转化为一系列的“令牌”(tokens)。然而,GPT-4 只能处理一定数量的令牌,这便是所谓的“上下文长度”。超过这个长度,GPT-4 就无法全面了解输入的内容,这或许会影响其生成的输出的质量。

现在 OpenAI 的 GPT4 有两个模型,最多分别支撑 8K 长度和 32K 长度的Token。其中 32K 长度 Token 之对少数人敞开,大部分用的都是 4K 长度,因为 GPU 算力不够。好在跟着 AI 的开展,应该会支撑越来越长的 Token。OpenAI 也把支撑更长的 token 作为 2023 年的主要方针了,参阅 OpenAI’s plans according to Sam Altman。

Longer context windows — Context windows as high as 1 million tokens are plausible in the near future.

引证文本的长处

为了更好运用 GPT4 这些有 token 约束的模型,咱们能够供给引证文本(reference text)。这是因为引证文本能够协助模型更好地了解你的问题,并供给更精确的答案。这里有几个原因:

  1. 明确性:引证文本能够协助明确你的问题,例如,假如你在问一个关于特定法令条款的问题,供给该法令条款的文本能够协助模型更精确地了解你的问题。
  2. 上下文:即便模型的上下文长度约束增加,它依然需求了解你的问题的上下文,引证文本能够供给这种上下文。
  3. 精确性:引证文本能够协助模型供给更精确的答案,模型或许会根据引证文本中的信息来生成答案,而不是只是依赖于它的练习数据。
  4. 效率:即便模型能够处理更长的上下文,供给引证文本依然能够进步效率,这是因为模型不需求处理不相关的信息,而能够直接关注到你的问题和相关的上下文。

所以,即便 OpenAI 的上下文长度约束增加,供给引证文本依然是一个有用的战略。其实现在像 Claude 的模型,已经最大支撑 100K 长度,大概是 7.6 万个英语单词,能够一次输入整本书本让它分析了。

GPT4 提问技巧二:提供参考文本

短文本直接引证

关于文本比较短的引证,能够直接贴到发问里边即可,比方:

  • 假如你有一段关于气候变化的文章,并期望模型运用这篇文章的信息来答复问题,你能够这样发问:“根据以下关于气候变化的文章,全球变暖的主要原因是什么?”然后附上文章的内容。
  • 假如你有一份陈述,并期望模型运用陈述中的数据来答复问题,你能够这样发问:“根据以下的年度销售陈述,咱们的最畅销产品是什么?”然后附上陈述的内容。
  • 假如你有一段法令条款,并期望模型运用这段条款来解说某个概念,你能够这样发问:“根据以下的法令条款,什么是知识产权?”然后附上法令条款的内容。

现在运用 GPT4 的插件,也能够直接将网页链接里边的内容供给给 GPT 来作为引证文本。比方我能够直接让它总结咱们第一篇GPT4 发问技巧一:写明晰的阐明的内容,如下

GPT4 提问技巧二:提供参考文本

长文本引证相关部分

关于文本较长的引证,咱们需求采取不同的战略。比方想让模型参阅一本书或一篇长篇文章,或许需求挑选最相关的部分,或许将关键信息提炼出来作为引证文本。如何从给定长文本找到和发问内容最相关的部分,最直观的办法便是关键词查找。它通过在文本中查找与查询关键词完全匹配的词或短语来工作。这种办法的长处是简略易用,但缺陷是它无法了解语义类似性。例如,假如你查找”猫”,它不会回来包含”某种猫粮”或”宠物用品”的文档,除非这些切当的词在文档中出现。

Embedding-based search

现在 OpenAI 推荐的是另一种办法,叫做语义查找(Embedding-based Search)。在这种办法中,查询和文档都被转换为高维空间中的向量(也称为 Embedding,本质是一串数字)。这些 embedding 捕获了文本的语义信息,使得语义上类似但字面上不同的词能够被匹配。例如,”猫”和某种”宠物用品”或许会有类似的 embedding,因此即便文档没有明确提到”猫”,也或许被回来为查找成果。

在进行语义查找时,咱们的方针是找到与咱们的查找查询在语义上最接近的文本。为了做到这一点,咱们需求先将咱们的文本和查询转换成一种能够比较的方法,这便是所谓的”嵌入(Embedding)”。

  1. 预核算阶段:首先,咱们需求处理咱们的文本语料库。这或许是一本书、一组文章,或许任何其他方法的文本。咱们将这个大的文本分割成更小的块,每个块的长度都在咱们的模型的处理能力范围内。然后,运用模型将每个文本块转换成一个嵌入,这是一个数字向量,能够捕捉文本的语义信息。最终,咱们将这些嵌入存储在一个向量数据库中,以便今后运用。
  2. 实时核算阶段:查找查询时,先将查找内容转换成一个嵌入(Embedding),然后,在向量数据库中查找最接近查询嵌入的文本嵌入,这些最接近的嵌入对应的文本块便是咱们的查找成果。

这便是语义查找的基本进程。虽然这个进程或许涉及到一些复杂的技能,但其中心思维其实很简略:咱们只是在测验找到与咱们的查询在语义上最接近的文本。

GPT4 提问技巧二:提供参考文本
关于 Embedding-based search 的更多内容,能够参阅下面的文章:

  • Question answering using embeddings-based search
  • The Beginner’s Guide to Text Embeddings
  • Semantic Search With HuggingFace and Elasticsearch

丰厚的东西箱

好在大多时分普通人不需求了解这些技能背景,能够直接运用市面上的现成东西,比方 ChatGPT 的 “Ask Your PDF” 插件,就能够针对自己上传的 PDF 文件进行发问。这个插件将文档的内容转化为一个知识丰厚的对话伙伴,能够根据文档内的信息供给具体的答复。不过这个插件现在还是有不少缺陷,包括上传的文件巨细约束,没法给出具体从 PDF 哪部分内容得出的定论,以及有时分会给出古怪的答复。

除了免费的 ChatGPT 插件,还有一些付费东西,用起来体验更好些。比方 chatdoc,能够供给文件发问,一起在解答中会给出根据,还能方便跳转。随意找了一个法令裁判文书的 PDF ,然后问了几个问题,全体感觉比插件稍微好些。

GPT4 提问技巧二:提供参考文本
除了插件,专业东西,微软也供给了带有 browsing 功用的 GPT4,也便是 New bing。它不只是是查找和回来成果,还能凭借 GPT 了解你的问题,根据查找到的网页,重新组织言语,供给完整的答案。

总的来说,尽或许的供给引证文本是一个很好的 Prompt 习气,能够协助咱们在处理长篇文本的时分,更好地利用 GPT 的能力。

本文由selfboot发表于个人博客,采用署名-非商业性运用-相同方法同享 3.0 中国大陆答应协议。
非商业转载请注明作者及出处。商业转载请联络作者自己
本文标题为:GPT4 发问技巧二:供给参阅文本
本文链接为:selfboot.cn/2023/06/12/…