5 种策略控制 ChatGPT 的输出长度
自从人类有了 AI 之后,文本创作的效率大幅上升,带来的问题就是,我们不得不花更多时间去消化信息。现在哪怕是 ChatGPT 3.5,随便问它一个问题,它都能给你一个非常详细的答案。但很多时候,我们只是需要一些关键信息,长篇大论反而会浪费我们的时间。还有一些情况下,我们需要 ChatGPT 能够按照我们要求的长度输出文本。本文针对这两个问题给出了 5 个解决方案,相信总有一个适合你。
使用修饰语
最简单的方法就是添加修饰语。这些词可以影响 ChatGPT 生成的回复的长度和深度。如果想让 ChatGPT 生成更长,更全面的响应,可以使用 “detailed (详细的)”, “in-depth (深入的)”, 或者 “comprehensive (全面的)” 这样的词。例如:
Prompt: Provide a detailed analysis of the impact of climate change on polar bear populations.
提示词: 详细分析气候变化对北极熊种群的影响。
如果想要 ChatGPT 生成简短的响应,可以使用 “brief (简短)”, “short (短)”, 或者 “concise (简明)” 这样的词。例如:
Prompt: Provide a brief overview of the French Revolution.
提示词: 简要概述法国大革命。
你甚至还可以在这些词的前面添加 “very (非常)”, “extremely (及其)” 等副词增强效果。
Prompt: Give me a very detailed explanation of the process of photosynthesis.
提示词: 请向我非常详细地解释光合作用的过程。
通过指定此类修饰语,你可以指定 ChatGPT 回复的详细程度。不过,回答的实际长度会因主题和上下文而异。
限定回答的范围
为了引导 ChatGPT 从特定的角度进行回答并限制回答的长度,我们可以这样做:
1️⃣明确问题的角度,例如:“Considering only emissions reduction… (只考虑减排)”
2️⃣明确要求答复简明扼要,例如:“In a few sentences… (用几句话)”
3️⃣设计一个重点突出的问题,例如:“Explain the environmental impact of electric vehicles… (解释电动汽车对环境的影响)”
综合以上几个要点,我们可以这样组织提示词:
Prompt: In a few sentences, explain the environmental impact of electric vehicles, considering only emissions reduction.
提示词:用几句话解释电动汽车对环境的影响,只考虑减排。
或者,你可以在提示词里限定一个时间范围,例如:
Prompt: Describe the technological advancements of the last 5 years.
提示词: 描述过去 5 年的技术进步。
通过上下文限定
你可以指明自己的身份和时间的紧迫度,让 ChatGPT 给出一个快速的答案。这样不仅可以限定 ChatGPT 输出的长度,还可以让 ChatGPT 根据自己的身份回答问题,可谓一举两得。
例如:
Prompt: I’m a busy CEO with 10 seconds to spare. Explain the SMART principle quickly.
我是一个繁忙的首席执行官,只有 10 秒钟的时间。请快速解释 SMART 原则。
或者你可以给 ChatGPT 指定一个角色,例如:
Prompt: Imaging you’re a busy CEO with 10 seconds to spare. Explain the SMART principle quickly.
提示词: 想象你是一位繁忙的首席执行官,只有 10 秒钟的时间。快速解释 SMART 原则。
限定数量
某些情况下,我们需要精确指定文本的长度。这时候需要在提示词中指明具体的数字并包含一些关键词。
💠 段落
Prompt: Explain the process of photosynthesis in 2 paragraphs.
提示词:用 2 个段落解释光合作用的过程。
💠 句子
Prompt: Summarize the plot of “Romeo and Juliet” in 3 sentences.
提示词:用三句话概括《罗密欧与朱丽叶》的情节。
💠 要点
Prompt: List three bullet points summarizing the benefits of renewable energy.
提示词:列出三个要点,概括可再生能源的好处。
💠 示例
Prompt: Provide two examples of symbiotic relationships in nature.
提示词:提供两个自然界中共生关系的示例。
💠 对话
Prompt: Write a 3-line dialogue between a cat and a dog.
提示词:写一段猫和狗之间的三行对话。
💠 单词数
Prompt: Describe the concept of democracy in 10 words.
提示词:用 10 个字描述民主的概念。
💠 字符数
Prompt: Explain the theory of relativity in under 50 characters.
提示词:在 50 个字符以内解释相对论。
Prompt: Create a 100-character dialogue between a cat and a dog.
提示词: 创作一段一只猫和一只狗之间 100 字的对话。
需要说明的是,ChatGPT 和人类不同,它是通过 令牌 (Token) 来理解文本的,本质上就是基于概率的向量计算。而且它本身并没有内置执行精确的计数运算或字符串操作的机制。它甚至连计算 Token 都常常出错。比如:
Prompt: Write a dialogue between a cat and a dog. The
token_count
must be 20. Let’s think step by step.提示词: 写一段猫和狗之间的对话。令牌数必须是 20。让我们逐步思考。
如果我们把它生成的对话放在 OpenAI 的 Token 计算器,会发现实际只有 17 个令牌。
所以当你遇到到它无法生成指定的单词数或字符数,请不要生气。你可以在后续的对话中进行矫正。
使用组合策略
通过使用组合策略,我们可以更好地避免过于宽泛或偏离主题的回答。通过添加上下文可使回答适合特定受众或情景。
比如说:修饰词 + 上下文 + 数量。
Prompt: Imagine you’re a historian. Provide a brief overview of World War II in 5 sentences.
提示词:想象你是一名历史学家。用5句话简要概述第二次世界大战。
另外,ChatGPT 出于成本控制,有时候不按照要求生成详细的回复。比如下面这个提示词:
Prompt: Create 10 highly detailed text prompts for large language models that generate images from text. Each prompt should consist of two sentences.
提示词: 为根据文生图模型创建 30 个高度详细的文本提示词。每个提示词应由两句话组成。
它生成的每个提示词仅仅是一个句子。
这时候我们可以改变下策略,比如修改成下面这个提示词,指定一个很高的单词数,就可以迫使 ChatGPT 输出更长的文本,达到我们 “非常详细” 和 “两个句子” 的标准。
Prompt: Create 10 highly detailed text prompts for large language models that generate images from text. Ensure that each prompt consists of more than 400 words.
提示词: 为根据文本生成图像的大型语言模型创建 10 个高度详细的文本提示词。确保每个提示词由 400 多个单词组成。
结论
本文主要介绍的是如何限制 ChatGPT 输出的长度。有时候我们需要 ChatGPT 输出长文本,超过 Token 规定的数量。对这个问题感兴趣的话,可以参考我的另外一篇文章:如何让 ChatGPT 接收或输出万字长文,突破 Token 限制