# 热门搜索 #
搜索
RECURRENTGPT: 交互式生成(任意的)长文本
3479点击    2024-02-06 12:51

原文:RECURRENTGPT: Interactive Generation of (Arbitrarily) Long Text


作者: Wangchunshu Zhou∗* Yuchen Eleanor Jiang* Peng Cui Tiannan Wang Zhenxin Xiao Yifan Hou Ryan Cotterell Mrinmaya Sachan ETH Zürich



一、简介

二、循环经济
---- 2.1 基于语言块
---- 2.2 基于语言的循环计算
---- 2.3 用RECURRENTGPT生成交互式长文本

三、实验

---- 3.1 实验设置
---- 3.2 结果
---- 3.3 作为互动写作助理的RECURRENTGPT
---- 3.4 作为互动小说的RECURRENTGPT

四、相关工作
---- 4.1 超越固定尺寸上下文的transformer
---- 4.2 长文本生成
---- 4.3 人工智能辅助写作系统

五、限制条件

六、结论

一、简介


Transformer的固定尺寸上下文使得GPT模型无法生成任意长的文本。在本文中,我们介绍了RECURRENTGPT,一个基于语言的模拟RNN中的递归机制。RECURRENTGPT建立在大型语言模型(LLM)之上,如ChatGPT,并使用自然语言来模拟LSTM中的长短时记忆机制。在每个时间段,RECURRENTGPT都会生成一段文字,并更新其基于语言的长短时记忆,分别存储在硬盘和提示器上。这种递归机制使RECURRENTGPT能够生成任意长度的文本而不会被遗忘。由于人类用户可以很容易地观察和编辑自然语言记忆,

RECURRENTGPT是可以解释的,并且可以互动地生成长文本。RECURRENTGPT是朝着超越局部编辑建议的下一代计算机辅助写作系统迈出的第一步。除了产生人工智能生成的内容(AIGC),我们还展示了将RECURRENTGPT作为直接与消费者互动的互动小说的可能性。我们称这种生成模型的使用为 "AI as Contents"(AIAC),我们认为这是传统AIGC的下一个形式。我们进一步证明了使用RECURRENTGPT来创建直接与阅读器互动而不是与作者互动的个性化互动小说的可能性。更广泛地说,RECURRENTGPT展示了从认知科学和深度学习中流行的模型设计中借用思想来提示LLM的效用。我们的代码可在https://github.com/aiwaves-cn/RecurrentGPT,在线演示可在https://www.aiwaves.org/recurrentgpt


大型语言模型(LLMs)[1-5],如ChatGPT,已被证明是协助各种常规写作任务的非常有效的工具,包括电子邮件和博客文章。然而,由于Transformer[6]架构中固有的固定大小的上下文设计,仅仅通过提示LLM来生成长篇文本(如小说)是不可行的。相比之下,循环神经网络(RNN)[7, 8]在理论上拥有生成任意长度序列的能力,这要归功于其递归机制:循环神经网络保持一个隐藏状态,在每个时间步中进行更新,将当前时间步的输出作为下一个时间步的输入。然而,在实践中,RNN存在梯度消失和爆炸的问题,而且很难扩大规模。



图1:RECURRENTGPT框架的说明。RECURRENTGPT通过使用自然语言block模拟RNN,并定义带有提示的循环计算图,实现了用LLMs进行循环提示。


为此,许多工作[9-11]试图为transformer配备一个类似RNN的递归机制。虽然在长文本建模和生成方面取得了可喜的成果,但这些递归增强的Transformers需要大量的架构修改,而且还没有被证明可以很好地扩展。目前大多数的LLMs继续采用原始的Transformer架构,并做了最小的改动。


在本文中,我们介绍了RECURRENTGPT,这是一个基于语言的模拟RNN中的递归机制。如图1所示,RECURRENTGPT用自然语言(即文本段落)取代了长短期记忆RNN(LSTM)[8]中的矢量元素(即单元状态、隐藏状态、输入和输出),并通过提示工程模拟了递归机制。在每个时间点t,RECURRENTGPT接收一段文字和下一段的简要计划,这两段文字都是在步骤t-1中产生的。然后,它关注长期记忆,其中包含所有以前生成的段落的摘要,并可以存储在硬盘上,相关段落可以用语义搜索来检索。RECURRENTGPT还维护一个短期记忆,它用自然语言总结最近几个时间段内的关键信息,并在每个时间段内更新。RECURRENTGPT在一个提示中结合了所有上述的输入,并要求主干LLM生成一个新的段落,一个下一个段落的简短计划,并通过改写短期记忆和把输出段落的摘要附加到长期记忆中来更新长短期记忆。然后,这些组件在下一个时间步中被重新使用,从而形成了一个生成过程的递归机制。有了基于语言的递归机制,RECURRENTGPT减轻了对任何架构修改的需要,可以集成到任何强大的LLM中,使其能够生成超出固定大小的上下文窗口的任意长文本。


除了超越固定大小的上下文限制外,RECURRENTGPT与RNN中采用的基于矢量的递归机制相比,增强了递归机制的可解释性。这种改进源于通过简单的检查来观察被关注的长期记忆的具体片段,以及短期记忆的更新方式。更重要的是,采用自然语言作为构建模块使人类能够参与RECURRENTGPT,允许人类操纵它的记忆和对未来生成的计划。人类的互动还可以防止RECURRENTGPT偏离理想的行为,这是最近基于GPT的自主agent(如AutoGPT2)经常遇到的挑战。给定目前最先进的计算机辅助写作系统[12, 13]主要集中在局部化的编辑建议上,并将LLMs视为黑箱,我们认为RECURRENTGPT代表了向下一代计算机辅助写作系统迈出的一步,该系统用于交互式长文本的生成,同时提供可解释性。


然后,我们通过探索RECURRENTGPT与消费者直接互动的潜力,而不仅仅是与内容创作者的互动,来扩展RECURRENTGPT的用途,使其超越其作为生产人工智能内容(AIGC)的工具的作用。具体来说,我们将RECURRENTGPT转换为一个个性化的互动小说,它为后续的动作生成多个前景计划,允许玩家选择和探索一个吸引他们兴趣的计划。此外,除了从模型生成的计划中进行选择外,玩家还拥有设计自己的计划的能力。这种能力在传统的交互式小说中是无法实现的,因为叙事和选择都是预先设定好的。我们把这种新的模式称为 "人工智能作为内容",表示利用生成性人工智能作为与消费者积极互动的媒介,而不是仅仅局限于内容创造者的工具角色。通过RECURRENTGPT,我们看到了一个预备知识的进步,未来人工智能模型将最终成为我们创造性工作的合作者。


在我们的实验中,我们在ChatGPT的基础上建立了RECURRENTGPT,并发现它有能力自主地生成非常广泛的文本,跨越了成千上万的token,同时保持连贯性和参与性。与此形成鲜明对比的是,原始的ChatGPT在遇到内容重复或连贯性下降等问题之前,只能生成几百个token。此外,RECURRENTGPT可以帮助人类写作者轻松地生成任意长的文本,减少写长篇小说等创造性文本所需的大量人力。本文的贡献可以概括为以下几点:


- 我们提出了RECURRENTGPT,这是一个基于语言的模拟RNN中的递归机制,缓解了LLMs(如ChatGPT)的固定大小的上下文限制。


- 我们表明,RECURRENTGPT既可以自己生成很长的文本,也可以作为一个交互式写作助手,帮助人类作家写出任意长的文本。


- 我们介绍了一个生成性人工智能的新用例,即利用生成性模型与文本的消费者直接互动,而不是将其作为内容创作的工具的传统做法,即利用RECURRENTGPT作为内容策划的个性化互动小说。


此外,需要强调的是,RECURRENTGPT说明了从认知科学和深度学习领域成熟的模型设计中汲取灵感的可能性,其目的是通过提示LLMs来生成长篇文本。


二、循环经济


我们在本节中详细描述RECURRENTGPT。RECURRENTGPT是一个基于自然语言的RNN递归机制的对应物。RECURRENTGPT通过以下方式模拟LSTM:(1)用自然语言模拟LSTM中所有基于向量的组件,包括输入向量xt、输出向量yt、隐藏状态ht和单元状态ct;(2)用自然语言提示模拟LSTM中的递归计算图,以及(3)用冻结的LLM替代RNN中的可训练参数。理论上,RECURRENTGPT的主干可以是任何LLM或文本到文本模型,我们选择ChatGPT是因为它的能力和受欢迎程度。


形式上,我们将RECURRENTGPT定义为由参数为θ的LLM和提示模板P参数化的计算函数。回顾一下,LSTM的循环计算图可以总结为::



其中,θ表示模型参数,xt+1等于ot, ht,ct


 分别是时间点t的长/短时记忆。


通过类比,我们的模型中的复发机制可以用以下方式表示:



其中 Ot,Xt,ht,


 和ct分别表示基于自然语言的block,包括内容、计划、短期记忆和长期记忆,在时间步t。这里 xt+1


 不等于 ot


 ,而是单独生成的,这与传统的RNN不同。我们首先描述了RECURRENTGPT中的每个block,然后介绍了我们的提示P如何使RECURRENTGPT经常性地生成任意长的文本。


2.1 基于语言块


输入/输出 RECURRENTGPT在每个时间段的输入和输出包括一段被附加到最终生成的文本中的文字,以及下一段要生成的大纲。我们把这两者分别称为 "内容 "和 "计划"。如图1所示,内容通常由200-400个字组成,应该是大部分可以阅读的。而计划是下一个内容的大纲,通常由3-5句话组成。在每个时间段,前一个时间段产生的内容和计划被用作RECURRENTGPT的输入,允许循环计算。RECURRENTGPT被设计成除了产生内容之外还产生计划,因为允许用户阅读和编辑计划可以增加可解释性并促进人机交互。


长短时记忆 与LSTM类似,RECURRENTGPT在不同的时间段保持长短时记忆。如图1所示,长期记忆总结了所有以前生成的内容,以减少生成长文本时的信息损失。由于生成的内容可以是任意长的,而且无法适应LLM的上下文大小,我们在RECURRENTGPT中用VectorDB的方法实现了长期记忆,将每个时间段生成的内容嵌入到句子transformer中[14]。与之前基于内存的transformer[9, 11]相比,这种方法使RECURRENTGPT能够存储更长的内存,因为它可以在磁盘空间而不是GPU内存中存储内存。这在一些用户的设备中可能没有高端GPU的用例中很重要。


而短期记忆则是一段简短的文字,总结了最近几个时间段的关键信息。短期记忆的长度被控制在10-20个句子,这样它就能适应提示,并能被LLM主干网更新。通过结合长短期记忆,RECURRENTGPT可以保持与最近产生的内容的一致性,也可以回忆起很久以前产生的关键信息。这在普通的LLM中是不可能的,因为它们只能在输入中接受一些以前产生的文本。


RECURRENTGPT可以使用一个简单的提示来初始化,该提示 表明LLM生成上述组件的文本,指明小说的主题和其他背景信息。当使用RECURRENTGPT继续写小说时,用户可以写下(或提示ChatGPT生成)一个短期记忆和一个初始计划。


2.2 基于语言的循环计算


RNNs通过在计算图中实现反馈回路来实现递归计算,而RECURRENTGPT则是依靠提示工程来模拟递归计算方案。如图1所示,RECURRENTGPT通过一个提示模板(见附录中的图1)和一些简单的Python代码3来模拟RNN中的计算图。


在每个时间段,RECURRENTGPT通过用输入内容/计划和其内部的长短期记忆填充提示模板来构建输入提示。特别是,由于长期记忆不能适应上下文的大小,我们使用输入计划作为查询,对基于VectorDB的长期记忆进行语义搜索,并将一些最相关的内容装入提示中。然后,该提示 表明LLM主干生成新的内容、计划和更新的短期记忆。如附录中的图1所示,我们的提示鼓励LLM通过丢弃不再相关的信息和添加有用的新信息来更新短时记忆,同时将其长度保持在一定范围内,以便它能够始终适应上下文的大小。值得注意的是,我们提示LLM生成多个(例如,在我们的实验中为3个)计划。这提高了输出的多样性,并通过允许人类用户选择最合适的计划而使人机交互更加友好。如果生成的计划都不理想,我们还可以让用户选择自己编写计划。为了使RECURRENTGPT能够在没有人类干预的情况下自主地生成长文本,我们增加了一个基于提示的人类模拟器来选择一个好的计划,并在下一个时间步中修改它。


2.3 用RECURRENTGPT生成交互式长文本


虽然RECURRENTGPT可以通过递归机制自行生成长文本,但其基于语言的计算方案具有独特的可解释性和互动性。与传统的计算机辅助写作系统相比,RECURRENTGPT将语言模型作为黑匣子,只给出下一个短语/句子建议,它享有以下优势:


- 它在减少人力劳动方面的效率更高,因为它做出了段落/章节级的进展,而不是局部的写作建议。


- 它是可解释的,因为用户可以直接观察其基于语言的内部状态。


- 它是互动的,因为人类可以用自然语言编辑语言块。


- 它是可定制的,因为用户可以很容易地修改提示,根据自己的兴趣来定制模型(例如,输出文本的风格,每个时间步长的进展程度,等等)。


此外,人与人之间的互动也可以帮助纠正RECURRENTGPT在自主生成长文本时的意外错误,防止错误传播,这是长文本生成的一个主要瓶颈。


三、实验


3.1 实验设置


任务 我们在本节中测试了RECURRENTGPT的经验有效性。特别是,我们在三个不同的环境中对RECURRENTGPT进行了评估,包括:


- 在没有人类互动的情况下自主地生成长文本。- 与人类作家合作生成长篇文本 - 直接与文本消费者互动,作为互动式小说。


在每个任务中,我们都用不同类型的小说进行测试,包括科幻小说、浪漫小说、幻想小说、恐怖小说、神秘小说和惊悚小说。为了测试RECURRENTGPT对不同长度文本的有效性,我们为恐怖、神秘和惊悚小说生成中等长度的小说(3000字以内),为科幻、浪漫和幻想小说生成较长的小说(6000字以内)。


基线 尽管RECURRENTGPT是第一个使用LLMs生成任意长文本的工作,我们仍然可以将其与一些合理的基线和消融的变体进行比较,如下所示:


- Rolling-ChatGPT,一个简单的基线,它提示ChatGPT在给定的文学体裁和一些大纲或背景设置下开始写小说,然后在达到上下文长度限制后迭代提示ChatGPT继续写作。这个基线大致相当于使用滑动上下文窗口的技巧来生成transformer的长文本。


- RE3[15]是一个分层的长篇故事生成基线,它首先提示LLM生成故事的大纲,然后按照大纲生成故事,并有一些重新排序和重写的pipeline。我们用ChatGPT重新实现了它,以确保公平的比较。


- DOC[16]是最先进的长篇小说生成基线,它用大纲控制改进了RE3。我们通过用ChatGPT代替OPT-175B[17]并删除详细控制器来重新实现DOC,因为我们无法获得ChatGPT的权重,所以无法使用。总的来说,我们发现我们的重新实现的结果是质量稍好,因为主干LLM上有改进。


值得注意的是,原则上这两条基线都不能生成任意长的文本而保持连贯性。这是因为Rolling-ChatGPT基线会很快忘记之前生成的内容。另一方面,RE3和DOC在第一阶段固定了大纲,这限制了要生成的故事的总体长度。


评估指标 对于评估,我们遵循Yang等人[15]的做法,通过将RECURRENTGPT与基线在两个维度上进行比较,进行人工评估:- 趣味性:对于普通阅读器来说,生成的小说有多有趣?- 连贯性:段落的组织和相互之间的联系如何?


按照Yang等人[16]的做法,我们省略了 "质量 "或 "类似人类 "的指标,因为所有的基线都是基于ChatGPT的,而ChatGPT在大多数时候都能产生高质量的文本。我们通过成对的比较来评估所比较的模型。具体来说,我们将不同比较方法产生的两篇小说(A和B,顺序随机)交给具有良好英语水平的人工标注者,并 表明他们在趣味性和连贯性方面标注小说A或小说B是否更好,或者它们是不可区分的。按照Yang等人[16]的人类评估设置,我们为每种体裁抽出20本生成的小说,并为每本小说指定3名标注员。


3.2 结果


如表1所示,我们发现RECURRENTGPT在趣味性和连贯性方面都得到了人类阅读器的青睐,与滚动窗口基线和之前的先进技术(如RE3和DOC)相比,RECURRENTGPT有较大的优势。这证实了我们的直觉,即循环计算对于长篇小说的生成非常重要。对于长篇小说来说,差距更大,这证实了RECURRENTGPT在生成超长文本方面的优势。最后,人工标注者在所有的小说体裁中都喜欢RECURRENTGPT。这证实了它在不同类型的长文本上的鲁棒性。



表1: 20部不同体裁的小说,RECURRENTGPT与基线的配对比较。不同的比较结果之间没有可比性。粗体字表示显著性,P<0.05。


为了更好地了解RECURRENTGPT的效果,我们还进行了一项消融研究,将RECURRENTGPT与没有短期或长期记忆的消融变体,以及使用GPT-4作为主干模型的变体进行比较。结果见表2。我们可以看到,长/短时记忆主要对生成的文本的连贯性有贡献,这与我们的直觉很相关。与使用ChatGPT/GPT-3.5-turbo的RECURRENTGPT相比,使用GPT-4作为主干LLM的RECURRENTGPT得到了极大的好处。这证实了RECURRENTGPT在配备更强大的LLM时的潜力。我们在附录中介绍了一些由RECURRENTGPT生成的样本小说,以便进行定性评估。



表2: 对RECURRENTGPT与消融的变体和使用GPT-4作为主干模型的变体进行了配对比较。我们抽取了20本不同类型的小说进行比较。不同的比较结果相互之间没有可比性。粗体表示显著性,P<0.05。


3.3 作为互动写作助理的RECURRENTGPT


然后,我们从人机交互的角度测试RECURRENTGPT作为交互式写作助手的有用性。如图2所示,一个人类作家开始选择他/她想写的主题,并写下一段简短的文字来描述背景和书的大纲。然后RECURRENTGPT自动生成第一段,并为作者提供几个可能的选项来继续写故事。作者可以从中选择一个,并在需要时进行编辑。如果生成的计划都不合适,他或她也可以自己为接下来的几个段落写一个简短的计划,这使得人与人工智能的共同写作过程更加灵活。我们在附录B中展示了一个基于Gradio4的界面,允许人类作家通过与RECURRENTGPT交互来写不同类型的小说。



图2: 使用RECURRENTGPT作为互动写作助手和互动小说的定性分析。突出显示的计划或选择是由人类用户选择的。


根据一项小规模的人类用户研究,RECURRENTGPT极大地提高了人类作家的工作效率,其改进主要来自于:(1)通过编写或选择简短的计划,让RECURRENTGPT生成实际的文本,从而减少了输入长文本的时间;(2)根据用户反馈,从RECURRENTGPT生成的计划中选择计划,从而减少了设计不太重要的情节的时间。此外,用户认为RECURRENTGPT与传统的作为黑箱的人工智能写作助手相比,更具有可解释性和可控性,因为RECURRENTGPT中基于语言的部分对用户来说是透明和可编辑的。最后,与之前分层生成长文本的方法(如DOC和RE3)相比,人类用户更喜欢我们的系统,因为以迭代和交互的方式书写长文本更加灵活和可控。最后,我们的系统与大多数现有的人工智能写作助手有很大的不同,因为它们侧重于在短语或几个句子内提供局部写作建议,而RECURRENTGPT可以一次生成几个段落。


3.4 作为互动小说的RECURRENTGPT


我们还测试了将RECURRENTGPT作为个性化的互动小说的可能性。这个用例与RECURRENTGPT作为AI写作助手非常相似。主要的区别有两点,如图2所示:(1)从第三人称视角转向第一人称视角,目的是培养人类玩家的沉浸感,以及(2)让RECURRENTGPT生成涉及主角重要选择的计划,而不是接下来段落的一般计划。通过略微修改提示语,可以很容易地实现这一调整。


我们的用户研究表明,RECURRENTGPT可以与人类玩家互动,并直接为人类消费者提供质量好的内容。人类玩家还发现,在互动小说中,他们的行为可以写出自由形式的文本,这在很大程度上提高了他们的趣味性。这证实了直接使用生成性人工智能作为内容的潜力,而不是把它们作为生产内容的工具。然而,我们也发现RECURRENTGPT有时会产生不太一致的内容和不太相关或合理的低质量选项。我们认为这可以通过使用更强大的LLM主干,用监督下的微调或从人类反馈中的强化学习来微调LLM主干,或设计更好的提示来改进。我们把这个问题留给未来的工作。


四、相关工作


4.1 超越固定尺寸上下文的transformer


transformer的一个主要限制是上下文大小是固定的,这阻碍了它们处理和产生长文本的能力。以前的工作试图从两种不同的方式来解决这个问题:设计有效的注意力机制来训练和使用具有更大上下文窗口的transformer[18-21],以及在transformer的计算图上添加记忆机制,使其能够处理来自多个上下文窗口的信息[9, 22, 23, 11]。虽然这些方法使Transformer能够处理非常长的文本,但它们都需要对原始Transformer架构进行大量的架构改变。因此,这些方法不能被整合到强大的预训练的LLM中,如ChatGPT和LLAMA,这大大限制了它们的作用。最近,Press等人[24]介绍了ALiBi,该方法在注意力上增加了线性偏差,以允许输入长度外推。然而,这种方法主要支持更长的输入,而不是更长的输出。此外,它需要获得模型参数和推理代码,这通常是不可能的,因为许多最先进的LLM,如ChatGPT、GPT-4和PaLM,都是闭源的。


4.2 长文本生成


除了架构上的修改,一些工作以分层的方式研究长文本的生成。Fan等人[25]首先提出通过首先生成一个故事的简短摘要来生成一个故事,然后通过增加一个生成大纲的中间步骤来改进这种方法,这个大纲是故事的预测-论据结构[26]。Tan等人[27]和Sun等人[28]进一步改进了这种分层长文的生成方法。Yao等人[29]也提出首先生成故事情节,然后完成故事。


RE3[15]及其变种DOC[16]进一步改进了这一研究思路,提出以计划和写作的方式递归提示LLM来生成长篇故事。然而,他们最终故事的情节和长度仍然受制于预先确定的计划。相比之下,RECURRENTGPT通过递归生成克服了上述限制,实现了人类与语言学家的有效合作,提高了长篇文本生成的灵活性和可控性。


4.3 人工智能辅助写作系统


人工智能写作助手已经在各种应用中被采用,包括故事完成[12]、论文写作[30]和诗词生成[31]。现有的系统可以大致分为交互式生成和自动生成。交互式系统[32-34]主要被设计为在短语或句子层面提供局部建议或修改。因此,它们不太能够减轻人类作家的创作负担。另一方面,自动生成[26, 35, 36]旨在通过seq2seq的框架,根据给定的提示或主题写出完整的文本。尽管LLMs的进展显示了这些系统令人印象深刻的潜力,但由于缺乏透明度、可控性和合作感,可能会损害关于作者感知所有权的用户体验[12, 37]。此外,它们中的大多数都受限于提供从几个短语到几个句子的局部编辑建议[38, 39],部分原因是NLG模型的长度限制,部分原因是保持长距离连贯性的挑战。


五、限制条件


这项工作的一个局限性是,虽然RECURRENTGPT可以生成任意长的文本,但我们只在生成的文本最多为5000字左右的情况下对其进行评估。这是因为对很长的文本进行定性和定量的评估都是非常困难的。另一个限制是,RECURRENTGPT只适用于足够强大的主干LLM,如ChatGPT和GPT-4。我们相信当更强大的小型 LLMs 被开发出来时,这个问题可以得到缓解。最后,我们用于评估RECURRENTGPT作为人工智能写作助手和互动小说的用户研究受到小规模研究的限制。我们将在修订版中增加更大规模和更遍及的用户研究。至于社会影响,RECURRENTGPT可以提高人工智能生成的长篇文本的质量,并提高人类写作者的生产力。然而,它也可能被滥用,产生垃圾或有害的内容,导致负面的社会影响。然而,这是生成式人工智能的一个已知限制,我们将尽最大努力促进生成式人工智能的负责任使用。


六、结论


我们提出了RECURRENTGPT,这是一个基于语言的模拟RNN中的递归机制,它使用基于语言的组件并通过提示工程定义了一个递归计算图。RECURRENTGPT使LLM能够自主地或通过与人类写作者的互动来生成任意长的文本。它的基于语言的组件提高了它的可解释性和可控性,而基于提示的计算图使它易于定制。将RECURRENTGPT用作人工智能写作助手和基于文本的游戏的用户研究表明,它有可能成为下一代人工智能写作助手的第一步,超越本地写作建议,直接使用生成性人工智能作为可通过互动消费的内容。最后,我们的工作也证明了从认知科学和深度学习文献中流行的模型设计中借用想法的可能性,以使用LLMs进行长篇文字的生成。


A 提示


我需要你帮我写一部小说。现在我给你一个400字的记忆(一个简短的总结),你应该用它来存储已经写好的关键内容,这样你就可以记录很长的上下文。每一次,我都会给你当前的记忆(以前的故事的简要总结。你应该用它来存储所写内容的关键内容,这样你就能记下很长的上下文),之前写的段落,以及下一段要写的内容的 表明。我需要你来写:1.输出段落:小说的下一个段落。输出的段落应该包含大约20个句子,并且应该遵循输入的 表明。2.输出记忆:更新后的记忆。你应该首先解释输入记忆中的哪些句子不再需要,为什么,然后解释需要添加到记忆中的内容,为什么。之后,你应该写出更新的记忆。除了你之前认为应该删除或添加的部分,更新后的记忆应该与输入的记忆相似。更新后的记忆应该只存储关键信息。更新后的记忆不应该超过20个句子!3.输出指令:接下来要写什么的指令(在你写完之后)。你应该输出3个不同的指令,每个指令都是故事的一个可能的有趣的延续。每个输出指令应该包含大约5个句子 下面是输入的内容:



图3: 在RECURRENTGPT框架中为主干LLM设计的提示,分别模拟了输入(计划、指令)、输出、短期记忆和长期记忆。


B演示



图4: RECURRENTGPT的网络演示。


文章来自于知乎 “Johnson7788”,作者 “Wangchunshu Zhou∗* Yuchen Eleanor Jiang* Peng Cui Tiannan Wang Zhenxin Xiao Yifan Hou Ryan Cotterell Mrinmaya Sachan ETH Zürich


AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI数据分析

【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。

项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file

本地安装:https://www.deepbi.com/

【开源免费airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。

项目地址:https://github.com/hitsz-ids/airda

2
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

3
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

4
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner