swift 发布于 2024年10月24日
继续 Midjourney 5.2 的话题, 这次聊聊 /shorten。 这也是一个 prompt 处理命令。 之前我们还聊过一个有意思的命令,就是 /describe 用图片生成它的 prompt。
/shorten 命令是干什么的呢, 我们看一个实际的例子, 之前我们画图的 prompt 是 "a cup of coffee at wooden desk, in warm house with fireplace"。
我们把它放到 /shorten 命令中:
运行结果如下:
稍微看一下应该就明白了。 它会告诉我们 AI 是如何理解我们的 prompt 的。 比如上面图片中加粗的部分,cup , wooden, fireplace。 这三个词是模型的主要权重内容。还记得我们之前画出的图是什么样子吗,再来看一下:
生成的图片也确实以这三个词为主, 杯子,木质,壁炉。它还会告诉我们哪些词是被模型忽略掉的,比如上面被划横线的 coffee,warm。 这就解释了为什么我们说了咖啡,但是最终生成的图片中主要是一个杯子,杯子里面是不是咖啡还真没体现出来。
你还可以点击下面的 Show Details 按钮,来看到更详细的报告:
这个就更全面了, 它把每个词在这次模型生成中的权重精确的列了出来。 比如这次模型理解到最高优先级的词是 fireplace 也就是壁炉。
之所以叫 shorten, 就是它除了能告诉我们模型如何理解 prompt 之外, 还可以帮我们精简 prompt,它下面列出了 1,2,3,4 四个选项,我们可以试着选 1, 来看看生成结果:
结果出来这么一个奇怪的东西,这显然不是我们要的效果。 不过它这个简化版的 prompt 也确实就该是这个样子。 所以 /shorten 主要还是帮助我们调试 prompt,让我们更好的去理解模型怎样理解我们的 prompt。 那么根据 shorten 的结果,我们再来自己调试一下,把它不能理解的词 coffee, warn 这些去掉,试试这个 prompt:
"a cup at wooden desk, in house with fireplace --ar 16:9"
这个结果和我们之前的图就很贴近了。
/shorten 一个很大的作用是这样,其实我们很多 prompt 中的词,自己认为是很重要的,但是其实是被 AI 模型忽略的。 就比如我们上面例子中的 coffee。 有可能你调了半天词,还是得不到你想要的结果。 这个时候你就可以试试 /shorten 命令,可能你觉得重要的词,模型压根就没识别出来。这其实可以更准确和有逻辑的帮助大家更好的表达提示词的内容。
手动增加权重
我们用 /shorten 命令了解到了 coffee 没有符合我们的预期被 AI 考虑进来。 那么我们就可以通过手动增加权重的方法,提高它的权重比例:
"a cup of coffee::3 at wooden desk, in house with fireplace --ar 16:9"
看看我这个 prompt 有什么不一样, 就在这里 coffee::3, 我给这个词后面增加了这样一个东西 ::3, 两个冒号放在词的后面我们就可以手动指定它的权重系数, 这里写了一个 3,就相当于把它的权重提高三倍。 再来看看 /shorten 的输出:
虽然还不是最高, 但是明显它的权重上来了。 我们再来看看这个 prompt 的输出结果:
很明显,咖啡的感觉就出来了。
简单总结一下, /shorten 这个命令可以让我们更精确的了解到我们的 prompt 中每个词具体权重,这样我们就可以根据这些数据,去调整这些权重,让 AI 帮我们生成更加符合我们预期额内容了。
如果你觉得这篇文章有帮助,还可以关注微信公众号 swift-cafe,会有更多我的原创内容分享给你~
本站文章均为原创内容,如需转载请注明出处,谢谢。
关注微信公众号
发现更多精彩 swift-cafe |