AI 在编程、写作、绘画领域的占卜:从 GitHub Copilot 到 ChatGPT,再到 Stable Diffusion...

PS:就当前节点(2023.02.22)而言,我虽然研究过一段时间传统的机器学习,但是并不擅长深度学习等领域,所以很多 AI 领域相关的词汇,我是不擅长的,只为自己总结一下,方便在未来更新自己的认识。

内容主要是结合我过去擅长的编程、写作、绘画展开的:

  1. 绘画:text 2 image。结合 Stable Diffusion 讲述一张图片的演化。

  2. 写作:chat 2 article。结合 ChatGPT 讲述围绕特定主题的内容创作。

  3. 编程:comment 2 code。结合 GitHub Copilot 如何加速日常的编程活动。

总体来说,AI 相当于美国队长的实力,遇强则强,遇弱则弱,关键其实在于 Prompt。

Prompt 是一种文本输入方式,用于与自然语言处理模型(例如GPT)进行交互。Prompt 是一个短语或一句话,可以启动模型并产生与 Prompt 相关的输出。这个输出可以是一个单独的单词、一句话,或者是一段完整的段落。它可以控制模型的行为,使其产生特定的结果。

所以,如何更好地完善 prompt,实现 prompt 工程就是:如何更好地使用 AI 的基础。所以,在这篇文章里,我将介绍:

  1. 用 text 2 image 来展示如何演进 prompt

  2. 用 text 2 article 来展示充足 prompt 的优点

  3. 结合 GitHub Copliot 来实现 prompt 完成工作

PS:感谢我老婆提供的照片。

图形生成:如何描述一张照片??

人类需要思考第一个问题:如何描述一张照片?在不关心感受的情况下,我们关注于主体、背景、颜色、构图等。

现在,我们脑海中出现一个场景:

e4ad3d614c2c792403812ee2438f62d5.jpeg

接着,用文本来抽象它。在这里,我结合一下 Stable Diffusion 来讲述一下过程。

文本描述:第一个示例

生成 prompt:

  • phodal:  我想写一段话描述一张照片,帮我美化一下:一年轻女子穿着裙子,背对着镜头,在海边看着日落,太阳已经到地平线下面了,她的头发在风中飘动。

  • ChatGPT: 这张照片中的场景令人心醉,一位年轻女子穿着一条裙子,站在海边,背对着镜头,凝视着地平线下的夕阳。太阳已经沉入了海面,一片金黄色的光芒在海面上弥漫,照亮了整片海洋,仿佛这个时刻被定格在了时间的某个角落里。女子的头发随着微风轻轻飘动,轮廓被余晖映照得柔和而温暖。她的目光凝视着远方,仿佛在思考着生命的意义和无尽的未来。这张照片中蕴含着一种深刻的内涵,让人感受到时间和自然的力量,也让人思考着自己在这个宏大而美丽的世界中的角色和意义。

如果转换成英语的话:

A young woman wearing a flowing dress stands at the edge of the sea, her back turned to the camera as she gazes upon the glow of the setting sun. The ocean stretches out before her in all its grandeur, and the sun slowly sinks below the horizon, casting a golden light over the water. The woman's hair sways gently in the breeze, her features softened by the warm hues of the sunset. Her gaze is fixed on the distance, as if pondering the meaning of life and the endless possibilities of the future.

重复了 N 次之后,你会得到你想要的成功的照片,当然也会有失败的出现(因为没有配置 negative prompt 过滤失败的情况):

bfdc13b621a0981c71173ad72d55bc85.jpeg

但是,熟悉各种搜索引擎的关键词的或者 NLP 的你,肯定知道,上面的大部分可能是废话,可以减化为如下的词,并添加一些专用的模型词汇,如 black hairhand before bodyno handbodycon dress

women back view without face, flowing dress, edge of the sea, backview, back turned to the camera, upon the glow of the setting sun, sun below the horizon, golden light over the water, hair sways gently, Chinese style clothes, black hair,

随后,添加一些反向 prompt,意思是不要这些内容,诸如于 AI 不擅长的: bad hands、 morbid 等等。随后,不断调整 prompt,比如生成更好的 Prompt:

82dbd9a39ac24f45892b651c1976cce0.png

不过,你可能还是不满意。

由于生成的姿势是随机的、无法控制,所以我就引入了 ControlNet 插件 ——用来实现骨骼绑定、精准控线、线稿上色、依据深度图结构透视精准重绘等。现在,就能结合我们做的创作来完善生成的图形,诸如于我们绘制草图、或者输入一张原始图片,就可以生成我们预期的效果:

最后,生成的图片如下:

6267aa2e812dba1bf7052f9e355c7478.png

在我写完文章的时候,又修改了一下 prompt:

women back view without face standing on the sandy beach, bodycov full skirt, edge of the sea, backview, back turned to the camera, upon the glow of the setting sun, black hair, sunset red to blue gradient sky

对应的 negative prompt 是:

(((simple background))),monochrome ,lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres, bad anatomy, bad hands, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, ugly,pregnant,vore,duplicate,morbid,mut ilated,tran nsexual, hermaphrodite,long neck,mutated hands,poorly drawn hands,poorly drawn face,mutation,deformed,blurry,bad anatomy,bad proportions,malformed limbs,extra limbs,cloned face,disfigured,gross proportions, (((missing arms))),(((missing legs))), (((extra arms))),(((extra legs))),pubic hair, plump,bad legs,error legs,username,blurry,bad feet

效果凑合着,还是不错的。然后,我们可以做更多的尝试,配合一下参数调整(俗称炼丹):

00a6b98ff68aaf27ea4b45ab08fd8a9f.png

也可以结合 inpaint 对失真的部分进行修复。

更多的模型集:与二次元世界的照片(18 禁)

众所周知,AI 的生成质量是与模型息息相关的,所以好的质量需要有好的模型。

我们可以在 https://civitai.com/ 上找到更多的模型,不过因为年龄限制等原因,只建议你在安全的场所打开,不建议在公共场所打开。

真实的人物由于版权的种种原因,所以这个软件在二次元世界相当的流行。如下是常见的提示词来描述模型的质量,里面可能包含一些不适词语,为了体现真实世界,这里并不打算屏蔽。

提示词 :

modelshoot style, (wavy blue hair), ((half body portrait)), ((showing boobs, giant boobs, humongous breasts)), (( beautiful light makeup female sorceress in majestic blue dress)), photo realistic game cg, 8k, epic, (blue diamond necklace hyper intricate fine detail), symetrical features, joyful, majestic oil painting by Mikhail Vrubel, Atey Ghailan, by Jeremy Mann, Greg Manchess, WLOP, Charlie Bowater, trending on ArtStation, trending on CGSociety, Intricate, High Detail, Sharp focus, dramatic, photorealistic, black background, epic volumetric lighting, fine details, illustration, (masterpiece, best quality, highres), standing in majestic castle

负面提示词

(((simple background))),monochrome ,lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, lowres, bad anatomy, bad hands, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, ugly,pregnant,vore,duplicate,morbid,mut ilated,tran nsexual, hermaphrodite,long neck,mutated hands,poorly drawn hands,poorly drawn face,mutation,deformed,blurry,bad anatomy,bad proportions,malformed limbs,extra limbs,cloned face,disfigured,gross proportions, (((missing arms))),((( missing legs))), (((extra arms))),(((extra legs))),pubic hair, plump,bad legs,error legs,username,blurry,bad feet, lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry

足够丰富的描述,可以帮助 AI 理解描述我们的需求:

a8943ebe802356af780f0660d522933a.png

上图为 AI 生成,也是同样场景下,不屏蔽的结果 —— 其原因是大部分的模型库加入了很多 18 禁的内容。

小结

现在,让我们来思考一下,如何描述一张带人物的图片:

  • 详细的描述词。

  • 人物的姿势。

  • 丰富的模型。

  • 反复修改的参数。

  • 持续迭代。(基于 inpaint 等进行修改)

那么,文章呢?

文章:如何围绕特定主题思考?

结合一下先前 Stable Diffusion 的无数次的失败经验,我们应该先找好一个合适的框架来跑 ChatGPT。

在编写内容的内容,我们会有各种思路和原则:STAR、金字塔原理、5W1H等等。我们可以以 STAR (Situation(情景)Task(任务)、Action(行动)和 Result(结果))可以作为与 ChatGPT 会话的基础:

  1. 描述一个情境或背景,使读者对问题有更好了解。

  2. 说明任务或目标,告诉读者需要完成什么。

  3. 描述你所采取的行动,例如使用什么方法、工具、策略等等。

  4. 解释结果,包括遇到的挑战和取得的成果。

这样,对于我们展开思路会有一些帮助。

情境:如何用 ChatGPT 写一篇文章,以如何用 ChatGPT 写一篇文章?

phodal:我想写一篇文章,主题是《如何用 ChatGPT 写一篇文章,以如何用 ChatGPT 写一篇文章 》

示例:

d9fcd6931d8696dadfd06fdee50a465e.png

但是,这样的内容并非我们想要的。

而在这个标题里,其实 ChatGPT 已经理解了,如何写一篇文章,换作是一个冷门的话题,他就不知道了。在此时,我们需要构建一个更丰富的上下文:

707e1960022f47fbb02db5f3a558f07e.png

在这时,ChatGPT 给出的步骤依旧是错的,我们需要继续纠正。所以,我们可以考虑在一开始给一个完整的上下文:

构建更完整的上下文

对于 ChatGPT 来说,我们需要明确的 prompt::

我想写一篇文章,主题是《如何用 ChatGPT 写一篇文章,以如何用 ChatGPT 写一篇文章》,文章的大纲是:
1. 先用 100 字介绍一下 ChatGPT
2. 以 Julia 作为可以以具体的案例为例,介绍如何使用 ChatGPT 写一篇博客大赛的参赛作品。这包括如何确定主题、如何撰写开头和结尾、如何组织文章结构等等。主题是:《Julia Dataframe 在大数据分析领域的使用》,大纲中包含:用 200 字介绍一下 Julia 语言历史;介绍如何使用 DataFrames.jl,并有个代码示例;对比一下 Python Pandas、Apache Spark Dataframe;小结。
3. 对本文的内容进行总结,并再次强调使用 ChatGPT 进行写作的好处。
帮我写一篇文章?

如此一来,我们提供的上下文就会更加准确,就可以看到一个范例:

f3a8f5ed8299013ec49971093011f465.png

基于这个范例,可以思考我们的内容如何编写。

构建框架(frameworks)

ChatGPT 本身构建了一个框架,我们可以再输入一个有用的框架,以构建简单的反馈回路。于是,我开始教他 DDD,然后相互学习:

91e9d86a78b070900aff4fd0b2b33b49.png

不过,ChatGPT 和上面的图片一样,经常丢失一些上下文。

phodal: 在这个 TicketOrder 聚合里,应该包含哪些 API ?

ChatGPT:在 TicketOrder 聚合里,可以包含以下一些 API:

  1. createOrder():创建一个新的订单,可以接收顾客信息、场次信息、座位信息等参数,并返回一个唯一的订单号。

  2. cancelOrder(orderId):取消某个订单,需要提供订单号。

  3. getOrder(orderId):获取某个订单的详细信息,需要提供订单号。

  4. reserveSeats(showTimeId, seatIds):在某个场次中预留座位,需要提供场次号和座位号。

  5. confirmOrder(orderId):确认订单,此时座位被锁定并且订单状态被改为已确认。

  6. payOrder(orderId, paymentInfo):支付订单,需要提供订单号和支付信息。

  7. refundOrder(orderId):退票,需要提供订单号并且只能在订单状态为已确认时进行。

  8. updateOrder(orderId, updateInfo):修改订单信息,可以更新顾客信息、场次信息、座位信息等,需要提供订单号和更新内容。

基本的 API 可以满足电影院订票业务的需求,但具体实现还需要根据业务场景和需求进行细化和调整。

其它小建议:

相似的,与 Stable Diffusion 类似的是,AI 生成的内容经常出现各种问题,所以我们要注意:

  1. 保持自然的表达。ChatGPT 能够生成流畅的语句,但有时可能会出现奇怪或不合适的表达。在使用 ChatGPT 进行写作时,需要注意保持自然的表达方式。

  2. 适时修正错误。如果 ChatGPT 生成的内容不准确或有错误,应该及时进行修正,以保证文章的准确性和可读性。

  3. 多次修改和调整。ChatGPT 的输出结果虽然会自动进行语法纠错和编辑,但是为了保证文章质量,还是需要经过多次修改和调整,不断完善文章结构和内容。

  4. 保持简洁明了。在使用 ChatGPT 进行写作时,需要尽量保持简洁明了,避免使用过于复杂的句式和词汇,以便读者更好地理解文章内容。

  5. 注重原创性和独特性。尽管 ChatGPT 能够生成大量的文章,但是为了在博客大赛中脱颖而出,还需要注重文章的原创性和独特性,尽可能地突出自己的风格和思想。

考虑到 ChatGPT 的代码并不那么准确,让我们使用 GitHub Copilot 生成更多的内容。

代码生成:GitHub Copilot

GitHub Copilot 是 GitHub 2021 年 8 月推出的一个 AI 代码生成工具,它可以根据你的代码,生成更多的代码:

437f888597d9fd2eb209fbdab582abb7.png

所以,对于 Markdown 本身来说,它也能提供一些帮助。当然了,在这方向它没有 ChatGPT 那么强大,经常会出现一些奇怪的重复代码。

但是,也并非不可用,我们可以使用它来生成一些代码片段,以便于我们进行修改。

完整示例:DDD + ChatGPT + Copilot

如结合 Chat GPT 我们可以完成代码的前置设计(当然有些不靠谱):

118835e9b3ebb73bf04a57332136c3a6.png

复制生成的 API,写行注释告诉 Copilot: convert to markdown table,然后我们就有了:

884e92a0cd47d38f5ac14f58048f7265.png

接下来,我们可以使用 Spring + Copilot 来生成一些代码片段,以便于我们进行修改:

43f8f46f5b02a78872d3189f8de9874d.png

在有足够类相关信息的情况下,诸如于,我们提供一个注释:

@PostMapping
fun createTicketOrder(@RequestBody ticketOrder: TicketOrder): String {
// check the schedule is valid, the seats are available, then create the order
}

它生成的代码会更加准确:

d0bb657e244af2e9d7d6aa282f2874d0.png

而如果我们添加了对应的 Exception 的处理注释: check the schedule is valid, the seats are available, then create the order, if the schedule is not valid, throw NotScheduleAvailableException,代码进一步转化为:

b4c249bc6f7ba2c4a82c0e6a810e1678.png

在另外一些场景下,如果你的函数名和参数名都是英文,那么 Copilot 生成的代码也会更加准确:

965a493e7c350eb31d2566517bdb484d.png

而在单元测试的场景下,Copilot 更加强大和智能,它能够根据你的测试代码,生成更多的测试代码。

其它:代码生成开源模型

我也尝试了下 Saleforce 的代码模型:https://huggingface.co/Salesforce/codegen-6B-mono,但是不能在我的 MBP 上跑上来,有些遗憾。

总结:AI 就像占卜

你可能无法预期输出的是啥,总会有各种惊喜。

而其实,与 AI 的 prompt 相似的是:和人类聊天的时候,我们也需要提供足够的上下文。所以,你需要一下 ChatGPT,他并不总是能理解你的上下文。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

助力研发效能变革,第七届Techo TVP 开发者峰会圆满落下帷幕

引言 在互联网数字企业结束“野蛮扩张”、追求高质量增长的今天,研发效能已然成为企业关注的核心命题。伴随着云原生概念在软件领域的落地生根,云原生正驱动软件应用设计、实现、部署及运维方式的巨变,为研发效能治理带来了新的挑战与机遇&am…

创新源于生活,赋能实践 | Next-Gen GPT 开启技术风暴新纪元

点击上方蓝字 关注我们 (本文阅读时间:15分钟) 文末有惊喜 大家好!我是爱吃、爱玩、更爱学习技术,IT界新晋小红人,开发者的好朋友——比特熊! 今天是我们【比特熊故事汇2.0】AOAI的特别专场,我们…

当DevOps遇到AI,黑马迎来3.0时代丨IDCF

随着GhatGPT的爆火,人工智能和研发效能,无疑成为了2023的两个最重要的关键词。大规模语言模型LLM和相关应用的快速发展正在对研发团队的工作方式产生深远影响,这几乎象征着新的生产力革命的到来。 那么,作为一名工程师&#xff0…

2023中国智能应用发展论坛在京开幕,智领云受邀参加,并取得圆满成功

4月18日-4月19日,由中国软件行业协会主办的2023第二届中国国际软件发展大会在北京国家会议中心隆重举行。大会作为中国最具影响力的软件产业大会之一,吸引数千位观众到场。 2023中国国际软件发展大会央视新闻报道 4月19日,作为大会分论坛之一…

中国AIGC产业峰会:大咖云集共探AI新世界

首届中国AIGC产业峰会今日在京举行,大会由量子位主办,聚集起了领域内产学研代表,分享和探讨了包括大模型、生成式AI、ChatGPT等在内时下热议趋势和话题。同时,首份中国AIGC产业全景报告暨中国AIGC 50正式发布。 2023年&#xff0c…

Embodied AI 具身智能

大模型的时代的到来,现在的大模型的参数几乎是几何级数的上升。 谷歌和柏林工业大学的团队重磅推出了史上最大视觉语言模型——PaLM-E:An Embodied Multimodal Language Model。通才大模型PaLM-E,什么是通才模型,就是多任务统一学…

Chat GPT提示词(prompt )入门指南

prompt 是什么 prompt 是“提示、引导”的意思。在 NLP (自然语言处理)领域,prompt 通常指的是向预训练模型输入的文本,用于引导生成模型生成指定的文本输出。 prompt 就像是一条指路路线,告诉计算机生成什么样的文本…

聊聊国内头部云服务厂商新上线的轻量服务器

听说UCloud优刻得上线了轻量应用云主机,今天一起来看下这个产品的配置和价格如何吧。 首先先看下配置,不同于阿里和腾讯,满满当当的控制台选项,优刻得的控制台相对比较清爽简洁,还是蛮适合新手小白的。 一共有6个配置…

拼多多回应将总部从中国迁至爱尔兰:严重失实;微软开放 Bing Chat 访问,无需等待;OpenAI 亏损翻倍|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

ChatGPT火到独立站领域,对FP独立站收款到底有什么影响?

做F牌独立站的商家或多或少都知道,从今年3月份开始,FP独立站的收款就频频出现问题,很多人都跑来问我,第一句话就是:有没有靠谱点的收款渠道? 为什么最近几个月的收款渠道如此稀缺,以前常用的渠道…

涂鸦智能宠物喂食器(鱼缸投食器)

涂鸦智能宠物喂食器(鱼缸投食器) 系统框架①涂鸦IOT平台1.创建产品1.进入IOT平台,注册登录,点击创建产品。2.选择小家电→宠物喂食器→MCU方案→Wi-fi→输入产品名称、型号3.添加标准功能与新建自定义功能:根据实际情况…

涂鸦模组二次开发Zigbee 模组烧录

芯片平台EFR32MG21A020F768IM32-B 芯片平台EFR32MG13P732F512GM48 简介 ​ 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力。根据不同场景的需求,涂鸦提供了多种烧录授权的方式。本文从以下两点为您介绍。 云模组烧录授权…

涂鸦智能平台——mcu+nbiot

涂鸦智能平台——mcunbiot接入云平台上报温湿度和防拆报警 准备环境和硬件平台 平台准备 1、注册涂鸦平台账号并登陆 2、创建一个产品产品类型为:温湿度传感器 3、创建数据点(可直接选用平台现有的数据点) 4、设置设备面板(直接选…

硬件改造:新型涂鸦智能暖风机!

一、功能逻辑 在功能逻辑上,我们还是基于涂鸦CBU模组实现拆机之前的机器原有的基础功能和逻辑: 1)倾倒断电 倾倒断电功能在热风机中十分必要,直立造型在实际运用过程中很容易发生误撞倾倒事件,倾倒以后倘若外壳破损导…

STM32对接涂鸦wifi模块项目记录(智能插座完善版本)

应项目需求,客户需要对接涂鸦平台,从了解平台到样品实际落地,还是挺方便的, 做过的一个项目,人体感应智能插座项目,对接涂鸦云 : 硬件平台:STM32F103 WIFI模块: 涂鸦WiFi…

面经—(涂鸦智能)

1.java 1.1 hash算法 1.1.1 除余法 除余法就是用关键码x除以M&#xff08;往往取散列表长度&#xff09;,并取余数作为散列地址。 1.1.2 乘余取整法 先让关键码key乘上一个常数A(O<A<1&#xff09;,提取乘积的小数部分。然后,再用整数n乘以这个值,对结果向下取整,把…

涂鸦智能模块二次开发--基础

本次主要以CBU模块为例&#xff0c;使用例程完成手机端–云端–终端的连接&#xff0c; 涂鸦 SDK 开发最基础指导&#xff0c;包含了开发环境、以及手机端 -云端-终端的配置工作&#xff0c;可以让开发者最快时间完成 demo 的测试工 作&#xff0c;demo 例程共有 template、elp…

【IoT智能单品设计】一款基于涂鸦智能IoT云平台的新型智能蓝牙水杯

文章目录 1 前言2 产品构思2.1 产品名称2.2 产品主要解决的问题2.3 产品的创新功能点 3 产品原型3.1 云平台选型3.2 智能单品的创建 4 产品开发4.1 硬件设计4.2 软件设计4.3 功能调试 5 产品功能展示6 产品功能拓展7 结束语 1 前言 近些年来&#xff0c;随着科技的更新迭代&am…

智能家居竞品分析:米家/HomeKit/美居/涂鸦智能的体验与思考

竞品选择 本次竞品&#xff08;体验&#xff09;分析目的在于了解目前主流智能家居产品的现状及使用情况&#xff0c;通过不同使用环境下体验设备连接、场景搭建以及日常操作&#xff0c;了解竞品全链路使用流程。主要从五个层次深入分析竞品&#xff0c;为本产品改版做基础准…