【坤学】AI Bot,一键总结书籍并生成脑图与情节图

前言

最近经常在抖音刷到用 AI 生成的图片然后组成人物传记,比如我随便截了两张图:

然后今天再去逛 Coze 的时候,发现又多了不少插件。脑子里就又涌现出了一个想法:古今中外,著名的书籍浩如烟海,或许我们可以使用现代化的 AIGC 工具,来帮我们推荐书籍、总结书籍、并且绘制一些书籍的情节图。

这就提供了一个方便、全面、快捷的阅读指引和学习工具,可以帮助读者更好地理解和利用书籍的内容,提高阅读体验和学习效果。

插件选择

我们需要实现的主要功能是:用户输入一个关键词,机器人去搜索这个关键词相关的书籍,然后根据这本书籍的名称和简介,交给一层大语言模型总结,然后分别交给文生图、文生脑图的插件去生成对应的图片,最后把结果拼起来返回给用户。

搜书

搜书用的是这个插件,首先使用 search_books_online ,根据关键词去搜索匹配相对应的书籍。然后从匹配的结果中获取 book_id ,用这个 id 去调用 get_online_book_info ,去获取更精确的书籍名称、简介、分类、出版时间等信息。

文本生成图片

文本生成图片我一开始用的是这个 SD图片生成

但这个插件在调试的过程中经常出问题,特别是在批处理的时候,节点流程经常会异常终止。后面我选择了下面这个生图插件,它相比前者来说确实更加的稳定:

文本生成脑图

文本生成脑图我用的是下面这个插件

对于文学作品来说,一本书也好,一篇文章也好,用一张脑图去概括它,分析它是一件很好的事情。脑图可以帮助我们更好地理解整一部作品。

下面是大模型节点拓展过后的情节概述

《沙丘》是美国作家弗兰克·赫伯特所著的一部科幻小说,讲述了一个发生在未来宇宙中的故事。\n\n故事发生在一个由许多星系组成的宇宙中,其中最强大的星系是帝国。帝国的统治者是皇帝,他通过控制香料的生产和分配来维持自己的统治。香料是一种来自沙丘星的珍贵物质,它可以延长人类的寿命、增强人类的智力和能力,因此成为了整个宇宙中最有价值的商品。\n\n主人公保罗是一个来自沙丘星的年轻人,他的家族控制着沙丘星上的香料生产。保罗拥有一种特殊的能力,可以预见未来,这使得他成为了一个被各方势力争夺的对象。皇帝担心保罗会威胁到他的统治,因此派人暗杀了保罗的父亲。保罗为了报仇,加入了一个反抗皇帝的组织,并开始了他的复仇之路。\n\n在这个过程中,保罗遇到了许多人,包括他的母亲、妹妹、朋友、敌人等等。他也经历了许多挑战和考验,包括战斗、政治阴谋、心理斗争等等。最终,保罗成功地推翻了皇帝的统治,成为了新的统治者。\n\n《沙丘》是一部非常经典的科幻小说,它深刻地探讨了权力、欲望、人性、命运等主题,同时也展现了作者出色的想象力和文学才华。

我们尝试使用这个情节概述去生成一片脑图:

总体来说还是不错的,大模型节点概括的很好,脑图插件生成的结果我自身也满意

工作流实现

在确定好要用什么模型之后,就可以开始着手来实现整个插件。插件实现前可以先用一些流程图工具来梳理一些插件流程:

  1. 首先是一个开始节点,这里匹配一个书籍相关的关键词
  2. 根据关键词模糊搜索书籍
  3. 精确匹配书籍相关的信息
  4. 这里会有两个分叉的流程,分别用于生成脑图和生成情节图
    1. 用大模型去概括书籍的信息,然后调用插件生成脑图
    2. 用大模型去概括书籍的情节,然后调用插件生成情节图
  5. 用一个代码节点把上述得到的一些结果拼起来,得到一个最终结果
  6. 输出最终结果

下面来看工作流每一步的具体实现流程:

开始节点中的 name 就是用户的输入,把 name 作为模糊搜索的入参 kw ,然后把模糊搜索的出参 book_id 作为精确搜索书籍节点的入参 id

根据书籍搜索的相关节点可以拿到书籍的名称 title ,书籍的介绍 intro ,这个时候用一个大语言模型去拓展这两个参数,然后把拓展的结果交给脑图生成插件去执行。

书名:{{title}}
简介:{{intro}}

根据你对这本书的理解与上面的简介,尽可能详细的描述这本书的情节与梗概,我要基于你的描述生成一篇脑图

同样的,再用一个大语言模型去拓展书籍的信息,生成一个数组,其中数组的每一项就是书籍的一段情节,然后交给文生图插件去生成图片。

书名:{{title}}

根据你对这本书的理解,尽可能分点详细的描述这本书的情节,情节需要循序渐进,有始有终。你需要总结这本书,用十段左右情节来概括这本书的主要内容,结果返回一个数组,数组的每一项就是一段情节,我会根据你返回的数组去绘制数张循序渐进的情节图,数组元素为10个。

最后,使用一个代码节点来整理以下上述的各种输出,然后交给结束节点回答给用户:

ts 复制代码
async function main({ params }: Args): Promise<Output> {
    const { title, intro, mindmap, imgs } = params
    let content = ''
    imgs.forEach((img, index) => {
        if (img?.data?.images?.[0]?.image_url) {
            content += `![img_${index}](${img.data.images[0].image_url})\n`
        }
    })
    return {
        title,
        intro,
        mindmap,
        imgs: content
    };
}

在用这个代码节点的时候我发现 \n 到最后输出出来是一个空格,不知道是 bug 还是设计如此,所以我把要隔行输出的分成了几个变量,然后在结束节点输出的时候再调整格式。

接入体验

然后,我们来创建一个 bot ,接入我们刚刚已经设计完成的工作流:

接下来,我们输入一本书的名称,来试试看结果。我这里输入了"百年孤独":

以上就是整个 bot 的大致输出以及功能,我们来一起总结一下这个bot的功能及意义:

  1. 可以很方便地获取书籍信息,只需输入书名,就可以获取到书的大纲、脑图和情节图,
  2. 大纲提供了书籍的总体结构,帮助读者更好地理解书籍的主题和框架;脑图则可以帮助读者更清晰地理解各个章节之间的关系,以及主要概念的连接;情节图则提供了书中情节的视觉化呈现,使读者对故事情节有更直观的理解。
  3. 通过情节图和脑图的呈现,读者可以更直观地了解书籍的故事走向和主题发展,这有助于激发读者的创意和思考,促进对书籍内容的深入探讨和思考。

最后

以上就是本文的全部内容,如果你觉得有意思的话,点点关注点点赞吧~

BotID :7355724875166220338

相关推荐
千天夜41 分钟前
激活函数解析:神经网络背后的“驱动力”
人工智能·深度学习·神经网络
大数据面试宝典42 分钟前
用AI来写SQL:让ChatGPT成为你的数据库助手
数据库·人工智能·chatgpt
封步宇AIGC1 小时前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
m0_523674211 小时前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
HappyAcmen1 小时前
IDEA部署AI代写插件
java·人工智能·intellij-idea
噜噜噜噜鲁先森1 小时前
看懂本文,入门神经网络Neural Network
人工智能
AI极客菌2 小时前
[ComfyUI]Flux:繁荣生态魔盒已开启,6款LORA已来,更有MJ6&写实&动漫&风景&艺术&迪士尼全套
ai作画·stable diffusion·aigc·midjourney·人工智能作画·comfyui·风景
InheritGuo2 小时前
It’s All About Your Sketch: Democratising Sketch Control in Diffusion Models
人工智能·计算机视觉·sketch
weixin_307779132 小时前
证明存在常数c, C > 0,使得在一系列特定条件下,某个特定投资时刻出现的概率与天数的对数成反比
人工智能·算法·机器学习
封步宇AIGC2 小时前
量化交易系统开发-实时行情自动化交易-3.4.1.6.A股宏观经济数据
人工智能·python·机器学习·数据挖掘