专栏名称: GitHubStore
分享有意思的开源项目
目录
相关文章推荐
新闻夜航  ·  价格大跳水,还要继续降 ·  昨天  
哈尔滨日报  ·  幼儿园将免费?最新回应 ·  3 天前  
哈尔滨日报  ·  黑龙江省这些单位招聘工作人员 ·  3 天前  
51好读  ›  专栏  ›  GitHubStore

故事写作助手

GitHubStore  · 公众号  ·  · 2024-07-20 09:19

主要观点总结

文章介绍了基于LangGraph Cloud的互动式故事创作工具的功能和应用。该工具支持用户编辑和续写章节,提供多版本章节选择和故事状态持久化功能,旨在以有趣的互动方式展示LangGraph Cloud的功能。文章详细描述了工具的用户界面、操作流程和关键功能,包括故事状态持久化、章节版本选择、故事创作流程等。

关键观点总结

关键观点1: LangGraph Cloud的互动式故事创作工具支持用户编辑和续写章节。

用户可以通过该工具对故事进行创作,包括编辑已编写的章节或继续编写下一章。

关键观点2: 工具提供多版本章节选择功能。

用户可以创建同一章节的多个版本,并选择他们最喜欢的版本继续故事。

关键观点3: 故事状态持久化功能。

LangGraph Cloud能够保持故事的持久状态,即使在多次运行中也能保留故事的信息。

关键观点4: 用户界面的特点。

工具的用户界面包括故事标题、章节选择下拉菜单、章节内容、章节编号、反馈按钮等元素,使用户能够方便地浏览和编辑故事。

关键观点5: 故事创作流程。

工具通过图形化的方式展示故事的创作流程,包括等待用户输入、总结故事、集思广益章节的想法、规划章节大纲、编写章节等步骤。


正文

项目简介

基于LangGraph Cloud的互动式故事创作工具,支持用户编辑和续写章节,提供多版本章节选择和故事状态持久化功能


该应用程序旨在以有趣的互动方式展示一些 LangGraph Cloud 功能。该应用程序旨在允许用户在 LangGraph 代理的帮助下编写故事。该应用程序允许用户编辑他们已经编写的章节,或者通过编写下一章来继续故事。这意味着用户可以拥有同一章节号的多个版本,并且可以选择他们最喜欢的版本来继续故事。一开始,用户提供有关故事摘要、他们想要的写作风格以及对故事重要的任何其他细节的图表信息。从那时起,他们只需要提供编辑和继续指令即可引导代理朝所需的方向前进。

注意:此应用程序是原型,尚未准备好部署。代理可能存在错误/结果不佳。

图状态

LangGraph Cloud 最酷的功能之一是能够在图形的多次运行中保持持久状态。在这种情况下,当图表继续书写时,我们能够保留有关故事的信息。在我们的例子中,我们保留了一个整体的章节状态图,它只是一个包含迄今为止编写的不同章节的字典。每次编辑或继续故事时,图表中都会添加一个新章节。每个章节都保存有关其内容、标题以及与故事中其他章节的关系的信息(即哪些章节是其兄弟姐妹、孩子、父母或表兄弟姐妹)。下面是用户使用故事写作工具一段时间后章节图的示例:

让我们深入研究该图以更好地理解它。首先请注意,每种颜色代表不同的章节号。在本例中,我们有两个第 1 章、两个第 2 章、三个第 3 章和一个第 4 章。通过遵循节点编号,我们可以重建这个故事的编写方式。首先,当用户单击“New Story”时,节点 1 被创建。然后,当用户按下“继续”时,节点 2 被创建。然后,用户通过编辑节点 1 中包含的章节来创建节点 3。您可以通过跟踪不断增加的节点编号来自行跟踪故事创建的其余部分。

使用故事应用程序时,您可以在上一章、下一章、当前章节之间导航。理解哪些章节显示在哪里可能有点困难,所以让我们看一个用户当前正在节点 5 中查看章节的示例。下图突出显示了节点 5 与其他节点的关系,以及解释下面深入探讨这些关系如何发挥作用,以及它们如何告知我们必须选择的上一章、下一章和当前章节的选项:

在此图中,我们绘制红色箭头表示用户可以移动到的所有其他节点。

  • 有一个“下一章”选项,即节点 8,因为节点 5 只有一个子节点。如果我们从节点 5 再次按“继续”来创建另一个子节点,则“下一章”将有两个选项。

  • 当前章节有三个选项。第一个是节点 5 本身(您正在查看的章节始终可以选择成为当前章节!),然后节点 6 和 7 也是选项。节点 7 是节点 5 的“同级”,因为它是通过从节点 5 进行编辑而创建的。如果我们要对节点 7 进行进一步编辑,该新节点也将是节点 5 的同级。任何直接“编辑”的节点节点的“后代”被视为该节点的“兄弟姐妹”。

  • 节点 6 是我们所说的“表兄弟”节点,因为它源自与节点 5 相同的节点(即节点 4),但在我们的流程图中并未直接与其连接。与特定节点源自同一父节点的任何节点都被视为“表兄弟”节点。总结一下:“当前章节”选项由当前节点本身、其所有“兄弟”节点及其所有“表兄弟”节点组成。

  • 最后,您可以(除非您位于代表第 1 章的节点 - 在本例中为节点 1 和节点 3)返回到上一章。与当前或下一章选项不同,始终只有一个前一章可以返回:您的直接父级。对于节点 5,其直接父节点是节点 4,因此这将显示为上一章的选项。


最后需要注意的重要一点是,章节选项通过章节标题显示,这使得更容易知道您要去哪里,而不是依赖于对用户没有太大意义的节点号。

使用应用程序

查看章节时

使用该应用程序时需要浏览多种不同的内容,让我们通过探索此屏幕截图来逐步了解它们:

在页面顶部,您将看到故事的标题,该标题是用户开始故事时由图表生成的。当您单击左侧导航窗格上的“加载故事”按钮时,故事会按标题列出,以便用户更容易记住他们正在加载的故事。

在故事标题下方,有两个下拉菜单,用于选择要导航到的上一章或下一章。仅当存在要移动到的章节时,这些才会显示为下拉菜单,否则会显示“没有下一个/上一个章节!”的文字。将会出现。

在这些下拉菜单下方,您可以看到当前的章节标题。章节标题是在章节编写完成后由图表生成的,尽量让标题与章节内容相匹配。

章节标题下方是实际的章节内容本身。章节内容位于可滚动元素内,以限制其占用的垂直空间量。

章节内容下方是章节编号。请记住,章节编号并不能唯一标识一个章节,因为我们可以创建多个“第 2 章”,但这个编号可以为我们提供一些关于故事中所处位置的参考。

接下来,我们有一个下拉菜单,用于选择当前章节的不同版本(在本例中为不同的“第 2 章”)。

最后,我们有反馈按钮,这是一个很酷的功能,允许用户向 LangSmith 发送反馈。当用户单击“糟糕的写作”或“良好的写作”按钮时,反馈会自动发送到 LangSmith 中的跟踪,该跟踪对应于编写用户当前正在查看的章节的图形的运行。


当图表运行时

当用户导航到导航面板并单击“提交”时,将启动图形运行,并且应用程序会做出相应的反应。图运行时要注意的最重要的事情是图状态会流回给用户。具体来说,您将在图形状态位置看到 5 条消息,它们将按以下顺序显示:

  • “正在等待用户输入...”是当用户尚未单击提交时,图形正在等待输入

  • 当图表总结到目前为止的故事时,会写入“正在总结故事”。该图这样做是为了更好地了解接下来要写的内容。

  • “集思广益章节的想法......”发生在图表总结故事之后,现在正在思考下一章的想法。

  • “规划章节大纲......”是在头脑风暴阶段之后出现的,因为图表缩小了想法范围并创建了章节的粗略大纲。

  • “编写章节...”是最后一步,也是将 LLM 输出流式传输给用户的唯一步骤,因为此步骤输出实际的章节内容。







请到「今天看啥」查看全文