这一期我们主要讲AIGC生图领域里大家比较困扰的一点:如何写提示词。
网上也有很多教程,拆解了各种步骤,比如:在开头加上固定的Masterpiece、Super details、Best quality+画风描述+人物主体+人物细节(如衣服头发瞳孔颜色等等)。如果想要画单个主体的物体,这个办法可能有效,但如果想画出一种独特的画风、或者抽象的东西(比如视觉陷阱、油画、二次重曝等等),这个方法无疑非常考验人的抽象提取能力。
举例,我曾经使用过Midjourney、SD Forge和SD分别画一张二次重曝的画。
这就是重曝的效果
从上到下:SDXL、Flux.1.dev-fp8、Midjourney
可以发现,即便是效果最好的Midjourney,其实也没有办法还原摄影师拍摄的效果。上面的三张示意图的prompt:A woman around 30 years old of Asian descent. Wearing a vest top and a wine-red skirt. With long wavy hair. Slightly lowering her head. Retaining the silhouette and outline of the person while fading the colors. The silhouette and outline of the girl are filled with a bathtub/bar/scattered clothes. In a double exposure style with broken light and shadow. Photographic style. Double exposure.
————需要在prompt里无限叠甲,而且将主体拆解成2部分,实际上非常麻烦。
所以我萌生了一个想法:如果AI去理解人类的意图在现阶段来说,还是一个比较麻烦的事情,那么让AI去识别一张图片或一种风格,用魔法对抗魔法,是不是这件事情就会变得轻松一些?
学会使用AI工具,让AI去拓展人的能力边界或者解救人的想象力,Dify的好处就在这了。
(所有安利均来自个人使用心得!!!)
Dify是什么?
Dify跟我们上期讲过的硅基流动非常相似,前者除了提供大模型之外,还提供应用级平台的搭建。常见的有工作流、聊天助手、Agent等。但和硅基流动不一样的是,Dify的模型配置需要一些专业级别的人士操作:如果想在Dify接入其他的大模型(如Gemini、ChatGPT、Meta等),必须要在官方平台上申请API Key配置——这点就比较不友好。但好消息是:Dify最近接入了硅基流动,所以直接在Dify里配置硅基流动的API Key,可以把一部分后端的工作集成这,同时它也支持集成后再通过API调用或者集成在网页端中调用。
当然,除了Dify以外,比较流行的有Coze,下一节我将讲一下2者的使用体验。
如何使用Dify
登录Dify的网址:https://cloud.dify.ai/。可以选择谷歌账户登录或者邮箱登录,由于Dify是国内的公司搭建的,因此大部分的邮箱应该都支持(这点存疑,我个人没试过)。登录后大概是有200个token的免费使用,会搭配ChatGPT和Claude等高配的大模型。使用完毕之后,要么选择自行到官网拿API Key配置,要么使用国内的大模型,同样需要配置API Key。下面讲一下怎么配置硅基流动的Key。
登录Dify后,选择“工具”,在图中搜索框中搜“siliconflow”,如果未授权会在右边弹出一个框,到硅基流动里复制Key,然后在右侧授权配置API Key即可
我这个已经授权了,所以显示的状态是这样的。好消息是,硅基流动还接入了Flux和Stable Diffusion(简称SD)。大家可以自行体验,如果想看教程,也可以评论区留言。
点击工作室后,会看到工作区,上图是因为我已经建好了应用。点击左侧的“创建空白应用”,或者点击“从应用模版中创建”。
挺丰富的应用模版,适合新手一键使用
简单答疑:
1)工作流
熟悉Comfyui或者是其他节点流模式的朋友们应该知道,工作流的自由度非常高,适合中阶或高阶的玩家使用。看配置的节点比较适用的场景可能有:文档提取/整理/翻译、课件/视频/小说分镜制作、简单的代码处理等
2)Agent
其实从功能来说,Agent非常适合做智能客服或者论文写作、企业库内部知识库检索,导入企业知识库或者个人知识库,它能够基于大模型和知识库对用户输入内容在知识库里进行检索、输出。
3)聊天机器人&文本生成
官方提供的文本生成模版
测试论文的传参,红框部分是我随手填的
生成的文本结果
我创建的提示词助手
两者的主要区别在于:聊天机器人支持多轮对话,而文本生成主要是一轮任务式的对话。因此,其实文本生成的应用场景主要有:写作(专业和非专业的)、结合行业/个人论文数据/知识库生成调研报告、手动导入日报/周报,调节变量生成日报/周报模版。
创建专属prompt工程师
如果是创建空白的应用,需要在左侧的工作区里创建角色,应该遵循的格式是:你是一个_______(设定角色),你需要根据_____(对角色的定义,尽量使用详尽的、有逻辑的语言描述)。由于Flux大模型对自然语言的接受度良好,所以我这回会新建一个聊天机器人来帮助我写提示词,以下是参考输入:
You are a Flux drawing prompt generator. The user enters the theme “{{INPUT_THEME}}“or “{{INPUT}}“. You need to describe the drawing content closely following the theme and drawing style “</INPUT_THEME>”. The goal is to generate a poster that matches the theme.
The description needs to be imaginative and as close to the theme symbols and drawing style as possible.
Consider other aspects:
1. Bright colors
2. Create beautiful, detailed, and creative pictures
3. Try to be as bright as possible.
4. The description should be perfectly combined with the drawing style “</input_theme>”.
5. If the user enters “</input_theme>”, please search for relevant styles, understand the drawing characteristics of the relevant styles, and output prompts consistent with the relevant styles.
6. Present your final prompt in English in the </flux_prompt> tag. Only the final prompt is output, and no other content is output.
7. Present the final prompt in English in the </flux_prompt> tag, then translate it into Chinese, and put the Chinese prompt after <flux_prompt>.
8. Do not put {{INPUT_THEME}} in the output prompt.
文中的蓝色字部分是设置的变量,由于我懒得看英文,所以我增加了第7点来使输出的时候再翻译成中文来检查它有没有符合我的输入要求
设置变量时要注意,如果将变量的“可选”开关设置为关闭,则所有的变量都是必填项。
设置模型
由于我们接入了硅基流动作为模型供应商,因此需要配置一下使用哪个大模型来进行推理。选择右侧的调节图标来更换硅基流动的大模型。原则:如果有预算的,只需要在下拉选项里随便选一个。如果没有预算,那就要对照硅基流动的模型广场中进行筛选免费后的大模型,在Dify中选中它。又穷又抠的我这一次仍旧使用免费大模型,所以我只能选择meta的3.1-8B。选择好之后顶部会显示完整的名称,所以选错了也不要紧,再来一遍好了,每发送之前都不会扣费。
设置好模型之后,还需要对大模型进行额外的功能设置。主要设置项3个:温度、最大标记、频率惩罚。
温度:初始值为0,大模型的输出会趋于稳定的结果。最大为1,建议0.5即可。
最大标记:指文本输出的长度,初始值512,需要更多的可以进行设置,但不建议太长,Flux对文本过长会丢失细节。同时这个也影响着大模型的token,太长可能花费更大(简单解释:token并不是字符,token是分词器,它主要负责将文本切割成小块来供大模型计算,它并不严格遵守一定的比例来分割,比如并不是说1个字符就一定分割成N个固定的token)。
频率惩罚:这个字面理解来说,如果大模型的输出使用了相同的输出词频率非常高,那么生成的主体丰富度就变低(此处仅用prompt工程师举例)。因此需要设置一个度,使大模型尽可能保证输出的多样化。初始值是0,最高是1,仍旧建议设置为0.5来保证多样性和稳定的平衡。
如果对编排得到的输出结果不满意,可以随时在左边调整,每一次调整后都必须在右边发布里点击“更新”,否则不会将编排后的结果保存。碰到调试后的结果比调试前的更差,也可以点击发布里的“恢复”回滚。
认准图标
想要看某一次对话的记录,可以点击左侧的“日志与标注”,查看每一轮的对话输入和输出。
现在我们已经设置好了prompt机器人工程师,来测试一下它的效果。
这就是没有设置温度和频率惩罚得到的结果,设置后出现乱码或无关外语的概率变低
温度、频率惩罚为0时的prompt输出得到的图片结果,可以看到没有符合我输入的“视觉陷阱”
设置温度为0、惩罚频率为0.2的输出结果
温度和频率惩罚均为0.5的结果
温度调节成0.8之后,可以看到输出的结果边长了,而且对细节的描述增加
温度和频率惩罚均调成0.8的结果
很多人对AI的印象是避之不及、或者是觉得它是鸡肋。如同曾经的电脑,刚开始人们对这个东西不解、继而好奇,我印象中甚至有一段时间“电脑培训班”的招牌在大街小巷中随处可见,人们借助着对电脑的好奇和探索,引领了互联网时代的浪潮。AI现阶段它可以是一个解放生产力的工具,也可以是一个与你毫无相关的东西。怎么使用?是完全依赖它,还是完全避开它?答案可能要亲自摸索,才能得到。
但,对新事物保持好奇总归是件好事。