#AI #ChatGPT #提示工程
在使用免费版的ChatGPT过程中,如果我们想要针对一个主题让ChatGPT写一篇长文的话,经常会发现几轮问答下来它的连贯性就不好了。好像ChatGPT对上下文的“记忆力”不太好。本文就来讲讲如何让ChatGPT写长文。
为什么ChatGPT写不好长文
ChatGPT有最大token数量的限制,token是什么呢?我问了一下ChatGPT,他告诉我:
免费版API中,最大token上限是2048。也就是说一个API账号,能够“记住”的最大上下文信息是2048个token。对于记忆顺序,我猜大致是记新忘旧的。
那么,如果需要让ChatGPT写长文,我们需要做的就是保障在2048个token内,有我们需要的所有必要信息。
注意:在对话过程中,用户的输入+ChatGPT的回答内容都会计算token。
方法1:迭代法
就是在每轮提问时,把上次他的回答带上。
这样做适合文章整体长度不太长,但单次回答又没有完成的情况。如下图所示:
上图中,文章结尾处并没有写完。此时,可以将问题和上次的答案放到一起,再问一遍:
然后,ChatGPT就可以继续写了:
迭代法适合整体长度不太长的文章,但如果文章长度过长就不行了(需要迭代的前文长度都超过2048个token)
方法2:总分法
此时,可以将文章分为几段,且将段落提纲、必要的上下文信息放在每次提问中。然后在每次提问时让他写其中一段内容,如下图:
如果总分法使用的token也不够了,可以再拆分一下conversation(理论上,只要整体框架完整,且各个章节间相对独立的话,是可以无限拆分的)。
比如,对于“环境问题概述”这部分单独拆分一个conversation出来(注意提问的内容变化):
以上,主要讨论了如何让ChatGPT写长文,具体使用了“迭代法”和“总分法”两种方法来实现。
备注:
1. ChatGPT Plus的text-davinci-003模型,支持的上限是4096个token,是免费版的一倍。
2. 估算token数量的网站:
https://gpttools.com/estimator
3.中文能够容纳的token数量比英文要少,我实验大概在800个汉字左右对应2000个token(不绝对,还包括各种标点符号等)
领取专属 10元无门槛券
私享最新 技术干货