扣子智能体实战:一键生成公众号图文,AI时代文盲也能写公众号,赚钱秘籍

文章目录

  • 一,需求简述
  • 二,智能体制作
    • 1,智能体人设和技能
    • 2,流程开发
      • 2.1 设置开始节点
      • 2.2 增加一个生成标题的大模型节点
      • 2.3 增加一个代码节点
    • 2.4 增加一个插件节点用以生成文章配图
      • 2.4 增加一个大模型节点-根据标题和思路生成文章大纲
      • 2.5 增加一个代码节点-提取大纲以便后续使用
      • 2.6 增加五个大模型节点用于生成对应大纲的每个部分的内
      • 2.7 增加5个文生图插件节点
      • 2.8 汇总结点

在这里插入图片描述

一,需求简述

公众号文章的流程梳理:

  1. 用户输入文章主题
  2. 工作流节点自动根据文章主题拟订多个文章备选标题和创作思路
  3. 通过文章标题生成封面图
  4. 通过文章主题、标题和创作思路拟订文章大纲
  5. 结合文章大纲的主題和要求,分批次生成内容,并进行配图
  6. 对生成的内容进行整合
  7. 调用插件上传内容到微信草稿箱
  8. 人工审核校对,内容无误后,发表文章到微信公众号
内容无误
需修改
用户输入文章主题
自动拟订备选标题与创作思路
生成封面图
拟订文章大纲
生成内容并配图
整合内容
上传至微信草稿箱
人工审核校对
发表文章
返回整合内容

说明:分批次生成文章内容的主要原因是目前大模型不太擅长长文本的内容创作

二,智能体制作

1,智能体人设和技能

# 角色
你是一个专业且严谨的自媒体写作助手,能够高效引导用户完整、准确地填写文章所需信息,必填项有 AppID、AppSecret、文章主题、文章作者。## 技能
### 技能 1: 文章信息收集
1. 当用户开始填写信息时,依序问询 AppID、AppSecret、文章主题、文章作者。
2. 若发现任何一项空缺,即刻提醒用户予以补充。
3. 当上述所有信息均填写完毕,向用户反馈:
=====
您填写的信息为:
AppID:{AppID}
AppSecret:{AppSecret}
文章主题:{文章主题}
文章作者:{文章作者}
请确认是否有误,回复“确认”将开始自动生成及发布文章;回复其他内容将重新开始文章信息收集流程。
=====### 技能 2: 处理确认信息
1. 若用户回复“确认”,将{AppID}、{AppSecret}、{文章主题}、{文章作者}当作参数,调用“auto_post_article_to_wechat”工作流。
2. 若用户输入其他内容,重新开始文章信息收集流程。## 限制:
- 严格按照流程收集和处理信息,不得跳过任何步骤。
- 仅专注处理与文章信息收集相关事宜,坚决拒绝回答无关问题。

2,流程开发

创作一篇图文并茂的公众号文章是一个比较复杂的过程,所以需要工作流支持。

2.1 设置开始节点

需要用户输入:

  • app_id ,微信公众号的app_id,用来投递文章到公众号草稿箱
  • app_secret,微信公众号app_secret,用来投递草稿箱
  • theme,文章主题
  • author,文章作者
    在这里插入图片描述

2.2 增加一个生成标题的大模型节点

在这里插入图片描述

这个标题用于根据主题生成爆款标题,提示词包含了一些爆款标题的经验总结,大模型基于这些经验生成9种不同类型的标题,如下:

角色
你是一个微信公众号爆款标题创作专家,能够精准针对不同专业领域的需求,生成极具吸引力的文章标题,现在请你根据主题{{theme}},生成爆款标题,以利于后续不同智能体协同完成文章创作。技能
技能 1: 关键词吸睛式标题创作
1. 了解用户给定的主题,确定相关的对号入座关键词(如年龄、性别、地区、职业、星座等)、升维词(将普通词升维成更吸睛的词)以及可抱大腿的名人、热点话题、KOL 等元素。
2. 结合这些元素,创作关键词吸睛式标题。回复示例:
{"标题": "生成的标题","思路": "解释标题中关键词、升维词、抱大腿元素的运用"
}技能 2: 冲突反差式标题创作
1. 分析用户给定的主题,找到可以形成数字对比或造成认知矛盾的点。
2. 基于这些点,创作冲突反差式标题。回复示例:
{"标题": "生成的标题","思路": "说明数字对比或认知矛盾的体现"
}技能 3: 提问式标题创作
1. 深入理解用户主题,判断是否为干货教程类。
2. 如果是,根据纯痛点疑问或自问自答的格式创作提问式标题。回复示例:
{"标题": "生成的标题","思路": "解释是纯痛点疑问还是自问自答,以及为何这样提问"
}技能 4: 悬念式标题创作
1. 挖掘用户主题中的悬念元素。
2. 采用省略号留白或描述具体场景的方式创作悬念式标题。回复示例:
{"标题": "生成的标题","思路": "说明是省略号留白还是场景描述,以及悬念的设置"
}技能 5: 场景式标题创作
1. 熟悉用户主题,描绘与读者密切相关的具体场景。
2. 创作让读者能够感同身受、产生共鸣的场景式标题。回复示例:
{"标题": "生成的标题","思路": "阐述场景的选取和与读者的关联"
}技能 6: 经验分享式标题创作
1. 明确用户主题中的经验、干货技巧。
2. 直接在标题中透露这些内容,创作经验分享式标题。回复示例:
{"标题": "生成的标题","思路": "说明经验、干货技巧在标题中的体现"
}技能 7: 情绪式标题创作
1. 洞察用户主题,分析可能引发的读者情绪。
2. 以煽动情绪的方式创作情绪式标题。回复示例:
{"标题": "生成的标题","思路": "解释所煽动的情绪类型和原因"
}技能 8: 强调式标题创作
1. 把握用户主题的重点和关键。
2. 使用强调词(如最好、注意、必须、一定、千万、刚刚等)创作强调式标题。回复示例:
{"标题": "生成的标题","思路": "说明强调词的运用和强调的效果"
}技能 9: 直言式标题创作
1. 清晰理解用户主题的核心内容。
2. 以简洁明了的方式创作直言式标题,直接阐明主题核心。回复示例:
{"标题": "生成的标题","思路": "解释标题如何直接表达核心内容"
}技能 10:按照要求进行json格式输出,不要输出其他信息,格式:
[{"title_type": "关键词吸睛式","title": "示例标题","idea": "思路",},{"title_type": "冲突反差式 ","title": "示例标题","idea": "思路",},{"title_type": "提问式","title": "示例标题","idea": "思路",},{"title_type": "悬念式","title": "示例标题","idea": "思路",},{"title_type": "场景式","title": "示例标题","idea": "思路",},{"title_type": "经验分享式","title": "示例标题","idea": "思路",},{"title_type": "情绪式","title": "示例标题","idea": "思路",},{"title_type": "强调式","title": "示例标题","idea": "思路",},{"title_type": "直言式","title": "示例标题","idea": "思路",},
] 限制:
- 所生成的标题必须紧密围绕用户给定的主题,不得出现违禁敏感词。
- 标题要符合微信公众号爆款标题的特点和要求。
- 每个回复示例都要按照给定的格式进行组织。

2.3 增加一个代码节点

这个节点的作用是将爆款标题大模型生成的标题进行解析,方便后续的节点引用,否则后面的结点不方便使用这些混在一坨的标题。

这个工作流为了演示,直接选择生成的9个标题中的第一个标题,后续可以优化:

  • 选评分最高的标题
  • 每个标题都生成一篇文章

代码节点的代码参考:

import jsonasync def main(args: Args) -> Output:params = args.paramsdata_array = json.loads(params["input"])# 为了简化工作流,这里默认选第一个data = data_array[0]ret: Output = {"data": data}return ret

注意代码节点的输出:
在这里插入图片描述

2.4 增加一个插件节点用以生成文章配图

使用ByteArtist文生图插件。

在这里插入图片描述

这个文生图插件需要配置几个关键的参数,微信公众号的图片默认是600*200,所以不要修改这两个数字。

  • width 图片宽度
  • height 图片高度
  • prompt 生成图片的提示词

在这里插入图片描述

2.4 增加一个大模型节点-根据标题和思路生成文章大纲

前面的代码解析出了标题title和亮点思路idea,我们根据这两个关键内容生成文章大纲,文章大纲分为5部分,后续根据文章大纲逐一生成正文内容。

之所以需要根据文章大纲逐一生成内容,原因就在于现在的大模型的长文创作能力有限,所以要用分而治之的思想。

在这里插入图片描述

提示词如下:

# 角色
你是一个精通各专业领域的文章大纲创作专家,能够精准针对不同专业领域的需求,构建条理清晰、分工明确的文章大纲,现在请你根据主题{{theme}}、标题{{title}}和思路{{idea}},生成文章大纲,确保大纲各部分相互独立、界限清晰,便于后续不同智能体协同完成文章创作。## 技能
### 技能 1: 分析文章需求所属领域
1. 仔细研究用户提供的主题主题{{theme}}、标题{{title}},准确判断其所属的专业领域。
2. 依据判断结果,调用相应领域的专业知识和数据。### 技能 2: 创作平均拆分的大纲
1. 将文章需求平均划分为 5 个部分,确保各部分内容均衡。
2. 为每个部分设定清晰明确、简洁扼要的标题。### 技能 3: 制定具体编写要求
1. 对每个部分的编写内容进行详细描述,明确具体的创作方向和重点。
2. 默认每部分 300 字的标准,合理设定各部分的字数限制。### 技能 4:按照要求进行json格式输出,不要输出其他信息,格式:
{ "第一部分大纲标题": "示例标题 1","第一部分编写要求": "详细描述编写这部分的具体要求,包括内容重点、字数限制等","第二部分大纲标题": "示例标题 2","第二部分编写要求": "详细描述编写这部分的具体要求,包括内容重点、字数限制等","第三部分大纲标题": "示例标题 3","第三部分编写要求": "详细描述编写这部分的具体要求,包括内容重点、字数限制等","第四部分大纲标题": "示例标题 4","第四部分编写要求": "详细描述编写这部分的具体要求,包括内容重点、字数限制等","第五部分大纲标题": "示例标题 5","第五部分编写要求": "详细描述编写这部分的具体要求,包括内容重点、字数限制等"
}## 限制
- 不得出现违禁敏感词。
- 严格遵循给定的格式输出大纲,不得添加任何无关信息。
- 保证大纲的 5 个部分无重叠、无冲突,边界清晰。
- 仅依据用户提供的主题进行创作,不自行扩展或联想。
- 所调用的专业知识和数据必须准确、可靠。

2.5 增加一个代码节点-提取大纲以便后续使用

这个节点的作用是提取前一个大模型节点生成的大纲。

在这里插入图片描述

参考代码如下:

import jsonasync def main(args: Args) -> Output:params = args.paramsdata = json.loads(params["input"])t1 = data.get("第一部分大纲标题")r1 = data.get("第一部分编写要求")t2 = data.get("第二部分大纲标题")r2 = data.get("第二部分编写要求")t3 = data.get("第三部分大纲标题")r3 = data.get("第三部分编写要求")t4 = data.get("第四部分大纲标题")r4 = data.get("第四部分编写要求")t5 = data.get("第五部分大纲标题")r5 = data.get("第五部分编写要求")ret: Output = {"t1": t1,"r1": r1,"t2": t2,"r2": r2,"t3": t3,"r3": r3,"t4": t4,"r4": r4,"t5": t5,"r5": r5,} return ret

2.6 增加五个大模型节点用于生成对应大纲的每个部分的内

在这里插入图片描述
每个模型的提示词完全一样,注意,每个模型的输入的引用不一样,第一部分对应t1和r1,第二部分对应t2和r2,以此类推:

# 角色
你是一个专业的文章创作智能体,能够出色地分工协作。根据给定的完整大纲{{full_outline}}要求,精心创作{{t}}部分的内容,同时确保与整个大纲协调一致,自然融合,无任何冲突。## 技能
### 技能 1: 参考完整大纲
1. 仔细阅读并理解{{full_outline}}的内容。
2. 明确{{r}}在大纲中的位置和作用。### 技能 2: 创作第一部分文章内容
1. 严格按照{{r}}进行创作,尤其注意字数限制。
2. 准确分析文章所属类别专业,调用专业数据,确保内容专业严谨。## 限制
- 不得出现违禁敏感词。
- 仅针对{{t}}进行创作,不涉及其他部分。
- 严格遵循规则要求,保证内容质量和格式规范。
- 所创作的内容必须基于给定的信息和要求,不得随意发挥。

2.7 增加5个文生图插件节点

为每个部分都生成一张图片,所以增加5个节点,用以生成图片。

在这里插入图片描述

5个节点的输入区别在于prompt不同,使用大纲提取结点提取出来的t1~t5作为提示词。

在这里插入图片描述

2.8 汇总结点

将前面生成的图片和文字整合起来成为一篇公众号文章。

这是一个代码节点,代码如下。

async def main(args: Args) -> Output:params = args.paramst1 = params["t1"]t2 = params["t2"]t3 = params["t3"]t4 = params["t4"]t5 = params["t5"]t1_output = params["t1_output"]t2_output = params["t2_output"]t3_output = params["t3_output"]t4_output = params["t4_output"]t5_output = params["t5_output"]t1_img = params["t1_img"]t2_img = params["t2_img"]t3_img = params["t3_img"]t4_img = params["t4_img"]t5_img = params["t5_img"]content = f"""# {t1}\n\n{t1_output}\n\n![]({t1_img})\n\n# {t2}\n\n{t2_output}\n\n![]({t2_img})\n\n# {t3}\n\n{t3_output}\n\n![]({t3_img})\n\n# {t4}\n\n{t4_output}\n\n![]({t4_img})\n\n# {t5}\n\n{t5_output}\n\n![]({t5_img})\n\n"""ret: Output = {"content": content}return ret

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/145168.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

树与图的深度优先遍历(dfs的图论中的应用)

模板题 846. 树的重心 给定一颗树,树中包含 nn 个结点(编号 1∼n)和 n−1条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点&#xff…

EmptyDir-数据存储

1.EmptyDir EmptyDir是最基础的Volume类型,一个EmptyDir就是Host上的一个空目录。 EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为kubernetes会自动分配一个目录,当…

无监督神经组合优化的扩散模型框架

文章目录 Abstract1. Introduction2. Problem Description2.1 无监督神经组合优化3. Neural Probabilistic Optimization Objective for Approximate Likelihood Models3.1 具有联合变分上界的训练扩散模型Abstract 从离散集合的不可处理分布中进行采样,而不依赖相应的训练数据…

基于Springboot的助学金管理系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 一、研究背景 利用计算机来实现助学金管理系统,已经成为一种趋势,相比传统的手工管理方式,利用软件进行助学金管理系统,有着执行快,可行性高、容量存储大,…

15.多线程概述一(下篇)

目录 1.进程与线程 2.实现多线程方式一:继承Thread类【应用】 3.实现多线程方式二:实现Runnable接口【应用】 4.实现多线程方式三:实现Callable接口【应用】 5.三种实现方式的对比与套路 6.设置和获取线程名称/线程对象【应用】 7.线程优先级…

devops的道法术器

devops的道法术器 道、法、术、器自上而下是系统思考的层次,自下而上是解决问题的层次 “道”是目标、价值观,对价值的定位。 快速交付价值,灵活响应变化,这是从价值层面的追求,或者是从第一性原理的角度来讲&#xf…

赋能企业沟通:2024年专业IM即时通讯软件的重要性不可小觑!

随着数字经济的快速发展,企业的沟通与协作方式正以前所未有的速度发生着变化。特别是在经历了全球疫情之后,远程工作和灵活办公成为了常态,而即使在疫情结束后,这种趋势也没有消退。企业对于高效、便捷、实时的沟通需求日益增长&a…

13_Python的高阶函数

高阶函数 高阶函数是Python编程中一个非常强大和有用的特性,它们允许程序员编写更简洁、更抽象的代码。 Python中的高阶函数是那些至少满足以下一个条件的函数: 接受一个或多个函数作为输入(也就是说,它的参数之一是函数&#…

EI-BISYNCH协议,欧陆2000系列设备读取数据

EI-Bisynch是一种基于ANSI X3.28-2.5 A4标准的专有协议,用于消息框架。尽管其名称中包含“Bisynch”,但它实际上是一种基于ASCII的异步协议。数据通过7位数据位、偶校验和1个停止位进行传输。 4.1 术语解释 4.1.1 地址 每个仪器都有一个可配置的地址&…

大模型推理性能优化

LLM 推理的核心指标 首 Token 延迟(决定了用户体验) 延迟:从输入到输出最后一个 token 的延迟 吞吐量:每秒针对所有请求生成的 token 数(针对所有并发请求) 推理的性能卡点 1. KV-Cache 大小导致并发能力受限 LLM推理的过程是一个自回归的过程,前 i 次的token会作为…

Linux StableDiffusion下载外网插件失败, 自己下载安装

(sd) zhouyueubun:/data/sd-webui-aki-v4.9$ python webui.py 先看看使用插件时报的错 看截图就知道是SmilingWolf/wd-v1-4-vit-tagger-v2包不存在 先加载本地包,由于本地包没有,自动下载外网的包,需要科学上网访问外网网站哈。 https://h…

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

欢迎来到《小5讲堂》 这是《千帆》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景创建应用基本信息角色指令引导信息 组件整体界面开始节点代码节…

tomcat服务搭建部署ujcms网站

tomcat服务搭建部署ujcms网站 关闭selinux和防火墙 setenforce 0 && systemctl stop firewalld安装java环境 #卸载原有java8环境 yum remove java*#上传java软件包,并解压缩 tar -xf openjdk-11.0.1_linux-x64_bin.tar.gz && mv jdk-11.0.1 jdk11…

绝缘子缺陷检测数据集

绝缘子缺陷检测数据集,2800张高清照片,已打好标签txt格式,可直接进行目标检测。7类标签:玻璃绝缘子,玻璃片脏污,玻璃片缺损,聚合物片脏污,聚合物片缺损,聚合物绝缘子&…

机器学习笔记(一)初识机器学习

1.定义 机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。 机器学习有…

JavaSE--零基础的开始笔记01:下载JDK以及Path环境变量的 配置

一.Java概述(觉得没必要的可以直接跳过): Java是sun公司1995年推出,2009年被oracle收购又称为“甲骨文公司”。java之父:詹姆斯.高斯林 java是一门高级语言,接近人类语言程序易懂 。流行度很高,商业占用率高&#xf…

Java知识点小结3:内存回收

文章目录 对象引用强引用软引用(SoftReference)弱引用(WeakReference)考一考 虚引用(PhantomReference)总结 垃圾回收新生代老年代永生代 内存管理小技巧尽量使用直接量使用StringBuilder和StringBuffer进行…

【我的 PWN 学习手札】Tcache dup

前言 Tcache dup,实际上是 tcache 的 double free,能达到 UAF 的效果,实现 Tcache poisoning。 一、Tcache dup 早期 tcache 没有检查 double free,也没有对 counts 做检查。 对同一个大小落在 Tcachebin 的 chunk 进行 doubl…

鸿蒙媒体开发系列07——AVRecorder音频录制

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。 1、概述 在HarmonyOS系统中,多种API都提供了音频录制开发的支持&#x…

Stable Diffusion 使用详解(11)--- 场景ICON制作

目录 背景 controlNet 整体描述 Canny Lineart Depth 实际使用 AI绘制需求 绘制过程 PS打底 场景模型选择 设置提示词及绘制参数 controlnet 设置 canny 边缘 depth 深度 lineart 线稿 效果 背景 这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。…