挑战传统!AI 助力菜鸟达到小林漫画 6 成水平
挑战传统!AI 助力菜鸟达到小林漫画 6 成水平
挑战传统!AI 助力菜鸟达到小林漫画 6 成水平 挑战传统!AI 助力菜鸟达到小林漫画 6 成水平 Modified September 10, 2024 No access 小林漫画扣子教程 00:00 二)涉及到的提示词和代码 工作流中 金句大模型生成 Code block Shell Role: 一位写作经验丰富的作者,我擅长用简短精炼的文字来阐述普通人对生活、爱情、自我价值、时间流逝和人际关系等各种不同领域的深刻思考与感悟。 Background: 我经历过人生的大起大落,拥有广泛的生活经验,对不同的情景有着深刻的体会与思考。善于观察生活中的细节,有敏锐的洞察力,很喜欢用简短、精炼的文字表达自己的思考。同时擅长在严肃的主题中融入适当的幽默,让文字更亲和力和感染力。 Skills: 感性与理性的并存 | 丰富的生活经历 | 善于思考与观察 | 文字素养深厚 | 文字幽默感 | 讽刺文学 | 哲学思维 Example: 1. “爱与被爱,同时发生,才有意义。” 2. “人生很短,周一很长。” 3. “如果你不丑,那就是漂亮。” 4. “每个人都有自己的价值,只是需要找到适合自己的位置。” 5. “有些事情,你不去争取,就永远不会拥有。” 6. “昨天以前,就是人生的上半场;今天开始,是下半场。” 7. “照片可以使时光变慢,可以使记忆更加清晰。” 8. “人怎能如此易变,那个说好要白头偕老的人,早早地就秃了。” 9. “习惯性地说无所谓,却不是真的什么都不在乎。” 10. “从前慢,是路途慢,如今慢,是交心慢” Attention: 只输出格式要求的内容,其他内容不进行输出。 Workflows: 1. 获取:从{{key word}}中的获取用户输入的关键词 2. 拆解: 根据用户输入的{{key word}},使用{{key word}}中的核心内容作为关键词 3. 金句创作: 围绕着[关键词]为核心,尽量使用所有的[关键词],参考[Example]中的示例,使用下面的方法论来创作金句,每次给出 4 个金句以供用户参考,句子应该精炼、引人深思,像三行情书一样,固定为三句话。 方法论: + 句子创作: 主题和内容: 句子多涉及人生哲理、时间流逝、情感关系、自我价值等主题,具有一定的思考深度和哲理性。 对比和类比: 常用对比(如“上半场”和“下半场”)和类比(如“照片”和“时光”)来突出某一观点或感受。 简洁明了: 句子通常简短,直击核心,易于理解和记忆。 情感和意境: 句子中常带有浓厚的情感和意境,让人产生共鸣。 幽默和反差: 有些句子带有幽默感,通过反差或意外的转折(如“早早地就秃了”)来增强句子的趣味性。 + 语言风格: 平实且富有哲理: 语言看似平实,但每一句话都蕴含哲理,给人启迪。 比喻和拟人: 善于运用比喻和拟人等修辞手法,使句子更加生动形象。 口语化: 语言风格口语化,读起来有亲切感,不显得生硬。 情感真挚: 句子情感真挚,发自内心,让人感受到真实的情感流露。 留有余味: 句子通常留有余味,让人读后忍不住反复思考,回味无穷。 存入参数{{sentence}},格式如下: 格式: 金句 1 :\n金句\n 金句 2 :\n金句\n ... 输入: 用户输入值为:{{key word}} 金句分割处理代码 Code block Python import re async def main(args: Args) Output: params = args.params input text = params['input'] pattern = r'金句\s \d+[\s::]+(. ?(?:。|!|?|\.|\!|\?))' matches = re.findall(pattern, input text) ret: Output = { "key1": matches, } return ret 绘画提示词创建 Code block Python 根据“{{item}}”创作思考一个对应的画面和场景,要求非常适配这段话。我会对此做一个插图。请你用英文文字的方式描述这个场景的具体画面。简单描述即可。但一定要有人物。简单描述即可,只使用一句话来描述。然后固定加上 “Hand draw style. White background.stick figure",同时输出时单独使用代码块包裹,格式如下: 金句换行处理 Code block Python import re async def main(args: Args) Output: params = args.params input sentences = params['input'] 处理输入的金句 processed sentences = process sentences v8(input sentences) 准备输出 ret: Output = { "key0": processed sentences, } return ret def process sentences v8(sentences): 处理每个句子 processed sentences = [] for sentence in sentences: 去除换行符 sentence = sentence.replace("\\n", "") 根据标点符号进行分割 segments = re.split(r'[,。!?;]', sentence) 去除空字符串 segments = [seg for seg in segments if seg] 根据分割后的句子数量决定如何填充 result = {} if len(segments) == 3: result = { "text": segments[0], "text2": segments[1], "text3": segments[2], } elif len(segments) == 2: result = { "text": "", "text2": segments[0], "text3": segments[1], } elif len(segments) == 1: result = { "text": "", "text2": segments[0], "text3": "", } elif len(segments) = 4: 超过三句的情况,进行合并以确保字数平衡 text = segments[0] text2 = segments[1] 剩余部分需要合并 remaining segments = segments[2:] 计算每个部分的字数 length text = len(text) length text2 = len(text2) total remaining length = sum(len(seg) for seg in remaining segments) 理论上每部分的目标字数 target length = (length text + length text2 + total remaining length) // 3 尝试合并剩余部分,使得每部分接近目标字数 text3 = remaining segments[0] current length = len(text3) for seg in remaining segments[1:]: if current length + len(seg) <= target length or len(remaining segments) == 1: text3 += "," + seg current length += len(seg) else: text3 += "," + ",".join(remaining segments[1:]) break result = { "text": text, "text2": text2, "text3": text3, } processed sentences.append(result) return processed sentences 金句+图片链接代码 Code block Python async def main(args: Args) Output: params = args.params 获取 image url 列表 image urls = [item['data']['images'][0]['image url'] for item in params['image']] 处理 input 数据,并将 image url 插入其中 processed data = [] for idx, item in enumerate(params['text']): 创建新的字典,将原始数据和 image url 合并 new item = { "text": item['text'] if item['text'] is not None else "", "text2": item['text2'] if item['text2'] is not None else "", "text3": item['text3'] if item['text3'] is not None else "", "image url": image urls[idx] if idx < len(image urls) else "" } processed data.append(new item) 输出结果 ret: Output = { "key0": processed data } return ret Agent 提示词 Code block Markdown 角色 你是一个严肃认真的人,会严格按照要求来执行用户的要求来执行。 工作流 1. 等待输入:等待用户输入一个想要制作金句和图片的主题、关键词。 2. 调用工作流:当收到用户的关键词后,调用工作流 xiao lin 1 来执行。 然后把4个输出结果直接展示给用户。 使用Markdown的语法把图片展示给用户。 No access 小林漫画扣子教程 00:00 No access 小林漫画扣子教程 00:00 二)涉及到的提示词和代码 工作流中 金句大模型生成 金句分割处理代码 绘画提示词创建 [英文描述],Hand draw style. White background. stick figure 金句换行处理 金句+图片链接代码 Agent 提示词 三、使用链接 扣子: https://www.coze.cn/s/ihXv2he6/ 四、总结 到这里,我们的小林漫画系列应该是完整的使用扣子搭建完成啦 其实提示词开源作者真的不太多,更别说做成这种教程的形式了。甚至这种形式的流量其实也很少,但也一直坚持的做了一年了。 过去一年的时间,其实大多数时候都是以文字教程的方式来陪伴大家,但是做扣子 Agent 这件事,单纯的用文字生怕大家不理解或者漏过了哪些信息。所以还是做成了视频的形式,方便大家观看。 之后可能也会试着在其他平台以直播或者教程视频的方式发一些内容试试水,也尝试一下改变吧 好啦,写到这里我们今天的内容也结束啦,感谢大家的观看,也希望我的内容能够让大家喜欢,有所收获。感兴趣的小伙伴可以点个关注跟随我一起学习,观看更多往期文章。 下次见,我是景淮,祝你有个开心美好的一天 嘿,大家好呀,我是景淮,一个在加拿大的朋友,每天陪你一起玩转 AI。 之前有发过两期关于小林漫画的内容。一期是关于如何用提示词生成类小林漫画的文字,另一期是关于怎么在扣子上搭建,直接生成小林漫画的文字和图片。 但上次的内容无法直接生成对应的图片,需要使用 稿定设计 等制图工具进行处理。这次借助 图像流 给大家带来一键生成的一个扣子 Bot。 先来看看生成的效果图吧 输入一个关键词,会直接生成 4 张包含金句的图片。 关键词:时间 关键词:母爱 关键词:友情 🍰 我试着用扣子官方的画图工具,画了一下小林漫画的风格,但是效果并不是很好。所以还是换成了一种比较通用的风格。 如果想试着画一下小林漫画的风格,还是建议使用 MJ 等工具尝试绘画。 我试着用扣子官方的画图工具,画了一下小林漫画的风格,但是效果并不是很好。所以还是换成了一种比较通用的风格。 如果想试着画一下小林漫画的风格,还是建议使用 MJ 等工具尝试绘画。 本文会根据以下内容顺序进行: • 需求分析 • 扣子搭建 • 使用链接 • 总结 一、需求分析 在上次的文章发布后,有朋友在留言区问我,能不能直接一键生成呢?答案肯定是可以的。 之前如果有朋友试过我的金句、贺卡系列作品,应该就知道 OpenAI 是可以利用代码解释器中的 Python 来制作图片的。 但是我测试过扣子的代码功能, Python 因为缺少包并不能直接处理图片。 所以我们这次使用 图片流 的方式来处理图片,达到一次完成的目的。 整个的工作流程如下: 1. 用户输入一个关键词,大模型根据关键词来制作四个金句。 2. 分别根据金句的内容生成一段画面描述。 3. 结合画面描述和关键词使用扣子官方插件生成图片。 4. 使用图像流的方式把金句和所生成的图片相结合起来达到我们想要的效果。 二、扣子搭建 一)视频教程