注:本文节选自《ChatGPT进阶:提示工程入门》
人工智能也有很多种,它们各自有各自擅长的任务。我们完全可以让它们互相协作,共享知识,解决问题。而ChatGPT,作为一个擅长理解和生成自然语言的模型,就像一个会说话的通用翻译机,帮助我们与其他AI模型进行对话,打破了语言壁垒。这不仅让AI的使用变得更加简单,也极大地拓宽了我们可以解决的问题的范围。
事实上,学界已经进行了很多探索,例如“HuggingGPT”, 它会先用ChatGPT来分析你的请求,把它分成一系列的子任务,比如说话、看图、听声音等。然后它会从Hugging Face社区中找到合适的AI模型来做这些子任务,比如用A模型来检测图像中的物体,用 B模型来识别语音等。最后它会把这些子任务的结果汇总起来,用ChatGPT来生成一个完整的回答给你。
不过,本章并不会涉及太高深的,关于技术的部分。我们会给出一个简单的,将ChatGPT与AI绘图结合起来的示例,帮助你理解如何将不同的AI结合起来,发挥更多的用处。
除了文生图以外,你还可以将ChatGPT与更多模型结合起来,例如用ChatGPT+MusicLM生成音乐,用ChatGPT+runaway GEN生成视频等等。
ChatGPT+midjourney生成文学作品配图
不知道你有没有留意过本书的插图,它们中的绝大部分都是使用midjourney生成的。Midjourney是一个由Midjourney, Inc.创建和托管的生成式人工智能程序和服务,以根据自然语言描述,也就是“提示”,生成图像。你可以想象任何东西,比如“一只猫在吃鱼”或者“一个蓝色的星球”,然后输入到Midjourney,它就会为你画出来。
图1 a happy baby cat astronaut, white background
--ar 16:9 --v 5.1
截止到23年5月,我们仍然需要花很多心思,精心设计提示(输入的文字),才可以在midjourney上得到特别符合心意的结果。不过,类似于midjourney的绘图工具不断进化,门槛也在持续降低。与此同时,各种绘图工具也在持续整合到大语言模型中。例如,new bing与ChatGPT(到2023年5月止)就整合了OpenAI的dell-e绘图模型。
图2 用new bing调用dell-e模型生成太空仓鼠图片
不过,AI工具会进化,解决问题的思路却是有共性的。所以,本章的讲解会更加注重问题的分析与解决,也就是“授人以渔”。不管未来如何变化,这种思维方式都可以帮助你更好地利用它们。下面,我们将以“使用ChatGPT+midjourney给文学作品配图”作为例子,来设计一个可以重复使用的,由ChatGPT生成midjourney prompt的提示。
要使用ChatGPT与midjourney给文学作品配图,我们面临着三个困难:
不过,办法总比困难多,让我们试着解决一下这个问题:
第一步:确定作图流程
要获得可控,高质量的结果,我们需要一套固定流程。笔者并非设计与视觉传达相关的专业出身,不过我们有ChatGPT,就让我们来问问它。
对话7-11 分析插图流程
很棒,我们可以提取出其中的一部分流程,融入我们的提示撰写中。
第二步:解决问题1,确定作图流程
文学作品通常蕴含着丰富的情感和微妙的意象,想要通过图像表达出其中的信息并不是简单的事情。所以,我们需要根据第一步的分析来给ChatGPT作图的过程制定一个流程。
与此同时,Midjourney官方提供了一些质量非常高的教程[注:https://bit.ly/Clarinet-Prompt-Troubleshooting],其中笔者比较喜欢的一篇叫做“Clarinet’s Troubleshooting
Midjourney Text Prompts”。这篇教程里,作者给midjourney prompt提供了一个模板,将其划分为1.Subject,2.Other Details & Surroundings,3.Stylizations, Media Type, Artists,4.Parameters四个部分。由于第4部分“Parameters”是可选的,所以我们让ChatGPT代劳工作量最大的前3部分。
那么,根据这个模板与步骤1中的分析,我们可以让将整个作图流程分为几步:
1. 理解文本内容,把握主题、氛围和故事情节。
2. 根据文本内容,选择合适的艺术风格和技术
3.设计构图和视觉元素:规划插图的构图和视觉元素。
4.根据分析,填写模板中的前3个元素
5.写出midjourney prompt
第三步:解决问题2,帮助ChatGPT理解midjourney prompt
我们需要让ChatGPT理解midjourney是什么,所以在开头应该为它介绍这个go
为了让ChatGPT理解midjourney prompt,我们可以有两种方法,第一种是直接把midjourney的教程贴给ChatGPT看,另外一种是用我们第六章第一节提到的“上下文学习方法”,为它提供几个输入-输出对的例子,为它提供范例。
第四步:根据分析,组装各个部分并写出prompt
最后,我们根据这样的设计思路把prompt组装起来,得到了一个ChatGPT+midjourney文学作品插图生成器。本书中的插图绝大多数都是由下面这个prompt,利用ChatGPT+midjourney得到的。让我们把它用在赫胥黎的小说《美丽新世界》中试试看。
需要注意的是,由于篇幅限制,midjourney的“说明书”部分我们并不在本书中展示,你可以将上文中提到的“Clarinet’s
Troubleshooting Midjourney Text Prompts”整理后并粘贴进去,应该可以得到一样的效果。
对话7-12 ChatGPT+midjourney生成插图
我们把得到的midjourney
prompt发送给midjourney的discord bot,可以得到下面的结果:
图3 midjourney生成的图像,版本5.1
不过,midjourney更新很快,你需要与时俱进地更新你提供给ChatGPT的教程,甚至需要重新设计整个prompt。你也不总是能够一次得到满意的结果,所以你会需要在ChatGPT生成的midjourney prompt的基础上进行调整,试验或者修改。
本文出自北京大学出版社《ChatGPT进阶:提示工程入门》一书中,经授权此公号,略有修改,以出版纸质书为准。
编辑推荐
系统:全面剖析ChatGPT应用技巧,带你从小白变身ChatGPT应用专家。
实用:内含开箱即用的“提示公式”,聚焦ChatGPT实际应用。
有思路,有办法,能落地:带你将ChatGPT真正转化为生产力,开启AI驱动的工作流程。
简单易读:深入浅出,循序渐进,内含60 个示例,适合初学者和进阶读者。
深度:理论结合实际,涵盖提示工程学科深度讨论,授人以鱼更授人以渔。
点击下方名片关注「AGI之美」
在后台回复暗号“赠书”
即可参与赢取这本新书
奖品数量共计 5 份!
活动截止时间为 11 月 17 日 12:00
进技术交流群请添加AINLP小助手微信(id: ainlp2)
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。
阅读至此了,分享、点赞、在看三选一吧🙏