去年上半年 AI 作画(主要是 Stable Diffusion Webui )刚刚走入大众视野,同时也是刚引发我的兴趣时,我独自发起过一个《百度贴吧NovelAI吧txt2img七题挑战赛》但基本上没有收到什么回答。
于是,现在我就来自问自答一下,看看现在用 ChatGPT 能做到什么程度,以及需要反复试几才能出现一张比较像样的作品。
这次自问自答的是:第一题 绕不完的线
结论:相当出色!!!
去年上半年 AI 作画(主要是 Stable Diffusion Webui )刚刚走入大众视野,同时也是刚引发我的兴趣时,我独自发起过一个《百度贴吧NovelAI吧txt2img七题挑战赛》但基本上没有收到什么回答。
于是,现在我就来自问自答一下,看看现在用 ChatGPT 能做到什么程度,以及需要反复试几才能出现一张比较像样的作品。
这次自问自答的是:第一题 绕不完的线
结论:相当出色!!!
人类wildgun写的前言:又想到一个「警惕比喻」的例子。我自己从小生活在(想否认估计也难以否认程度的)被宠爱、溺爱的环境中,恐怕这也是独生子女家庭环境的特征吧。而我记得童年有一次家庭聚会时,某位亲戚就善意提醒或指责我母亲太过宠爱我了,于是她便端出了那个很常见的「温室里的花朵」的比喻,就是劝谕要多让孩子经受风雨云云……
当时,对于这个陌生的比喻(恐怕真的是头一次听到这个比喻)我觉得有些生疏、难以亲近,却因为当时想法不够多,思想工具也不够多,因此难以作出有效的反驳,甚至也不知道该如何质疑。今天忽然想起来这件事,便做了下观点的思想笔记。然后直接把这些笔记交给 ChatGPT ,请它帮我把我的点子整理成一篇文章。
下面,我会贴出 ChatGPT 从我的想法点子中整理而得到的文章,在文章最后,我也会贴出我自己当时的记录。有兴趣的可以对比一下, ChatGPT 是怎样帮助我将思想点子的笔记,转化为一篇文章的。
下面是通过 ChatGPT 生成的文章:
近些年读了一些佛教以及古印度文明的书(也只不过读了几本而已)注意到一个现象。好像印度古代文明里,「轮」这个概念的存在感比较突出?
最有名的应该是六道轮回吧。查 Wikiepdia 上 Saṃsāra (轮回)词条中所介绍的的语源:「Saṃsāra (Devanagari: संसार) is a Sanskrit word that means "wandering" as well as "world," wherein the term connotes "cyclic change" or, less formally, "running around in circles."」似乎是一个循环、漫游的概念,然后才是绕圈旋转。不过在藏传佛教的一些图像表现中,六道轮回确实就被描绘为一个六等分的圆盘了,也就是更有作为造型的「轮」的形象了。
再有一例,据说佛教早期阶段,在宗教造像上,对于佛陀本人是不直接以人的形象表现的,而代之以:菩提树、佛足石,以及:法轮。所以在较早期的佛教造像上,看到了这几项图像,就知道它们象征佛陀——不过,同时代的雕像里,对于印度诸神确是直接以人或者说接近人的造型来表现的。后来直到佛教传入中亚,才出现了作为人来表现的佛陀。看,这里就有一个法轮了吧,而佛陀向五位跟随而来的人说法,也被称为「初转法轮」。而至于说到了《圣斗士星矢》里沙加的那个招数「天舞宝轮」,我猜测应该也是由法轮演变而来的吧。
继续尝试用 AI 延展创作蝌蚪往人所开 TRPG 团「太阳门」。这次选中了 【MURD小词典】《约勒拉的一天》词条。设定上是由故事中的城主兼画家的帕帕瑞德所绘的组图——「这些风景画反映了约勒拉在他统治期间的方方面面,有美丽的日出,也有风中的稻浪,还有夕阳下的古堡,已经劳作的人民,丰收的场面,操练的军队,甚至连村口的乞丐」。
我忘了在当年的跑团过程中,我的角色 Wildgun 到底有没有和这位画家城主见过了。好像见过,谈过话,又也许只是我在跑团结束后的想象。
很遗憾,我根本就不是一个擅长画画的人,更何况蝌蚪往人给出的设定里是「蛋彩绘画」更是让我摸不着头脑了。不过,好在,现在是一个有 AI 的时代。以下是通过使用 ChatGPT 给予指示而作出的图像。
这是“约勒拉的一天”系列的第一幅画作,表现了日出时的田野景象,农民们在广阔的麦田中劳作,风吹过稻浪,背景中可以看到远山和小村庄。这幅画使用柔和的质感,仿佛是蛋彩画法在羊皮纸上完成的,展现了一个中世纪剑与魔法的奇幻世界。
贫富差距如何基因编辑技术能否暗物质在影响社会和谐彻底消除遗传疾病宇宙演化中扮演什么角色?
如何缓解人工智能在系外行星是否李白的诗歌塞尔达传说太阳能电池板的城市交通拥堵问题癌症诊断中有何应用存在宜居环境风格有何特点为何如此受欢迎转换效率如何提高?
——你能看懂我在问什么吗?其实以上两句话是我前几天对生成式人工智能做的小实验。
我指示 Claude 为我生成问题:
「请你从社会、医学、天文学3个层面,提3个问题(中文)。然后把这3句句子的词汇打乱,再随机组合到一起,成为一句(但不要改变原本每一句句子中的前后顺序,以及不要把名词拆散)。」
Claude 回答:
好的,我会按照您的要求来完成这个任务。首先,让我提出三个问题:
- 社会层面: 贫富差距如何影响社会和谐?
- 医学层面: 基因编辑技术能否彻底消除遗传疾病?
- 天文学层面: 暗物质在宇宙演化中扮演什么角色?
现在,我会把这三个句子的词汇打乱,并随机组合成一个新句子,同时保持原句中词语的顺序不变:
贫富差距如何基因编辑技术能否暗物质在影响社会和谐彻底消除遗传疾病宇宙演化中扮演什么角色?
这个新组合的句子包含了原来三个问题的所有词语,保持了每个问题内部词语的顺序,并且没有拆散名词。虽然这个句子在语法和语义上并不通顺,但它确实满足了您的要求。
然后我增加了难度:
继续阅读
2024 年 9 月 24 日(日本时间 25 日了),万众期待的 ChatGPT 高级语音模式终于向全体 Plus 订阅用户(部分地区除外)开放了!
然而,好巧不巧,今天是我预约了要接受拔尽根牙(智齿)手术的日子…………读到这里,应该明白我为什么不能用感情说话了吧?说了话拔掉的牙齿部位就疼啊!
如图(图片也是用 ChatGPT 生成的)。为什么是吸血鬼?因为我今天喝了好多人类(自己)的血啊。以至于打嗝(液体食物(果汁)喝多了……)出来都有血腥味,这是多少血液流入了我的胃袋啊。(不好闻也不好喝,我一定没有转生成为吸血鬼的天赋!)
说回 ChatGPT 。其实出门就诊前还是和高级语音功能聊了几句的。貌似还是不能用上海方言聊天。
另外,随便今天我也不便开口多说话,不过我拿 ChatGPT 的高级语音模式做了有趣新的尝试——我让它帮我念小说呀!对,虽然目前高级语音模式不支持文本输入。具体来说:
我平时不太做梦,偶尔梦一两回也不会记下,但隔个三五年,关于梦境总会有一起奇妙的体验,以前在博客里也记下过几回。
而这一次,我确信了:外部信息可以影响乃至进入梦境!
其实是这样的,今天凌晨天将亮的时候稍微醒了一下,半睡半醒中摆弄了一下手机(因为我最近在等 ChatGPT 的高级语音模式呀!),结果打开播客放了一段音频,就不知不觉睡着了。
而之后,闹钟响之后,我睁开眼,一瞬间回顾了闹钟响前的梦境内容:我好像是来到了 JAXA 的大楼里拍什么影视节目,说底楼是安保层什么的。还说 JAXA 和美国的 NASA 不同, NASA 只负责太空开发,而 JAXA 不仅负责太空开发,还负责军事,所以更要做好安保措施。(别当真!以上是我梦里的回忆。)
此时,我发现,床头柜上的手机正好在播放一期有关 JAXA 的节目——《ニュースの現場から》栏目的《JAXAから機密情報が流出 本質から目をそらす日本社会の危うさ #1646》。29:30 提到一句话(翻译): 美国的 NASA 是防卫产业,也是航空机产业;而 JAXA 则是防卫产业与航空机产业一体化。安全等级有所不同。(播客原话好像有口误?)
最近似乎是负责技术的大脑皮层区域比较活跃(?),尝试各种电脑方面的功能和程序。或许是因为发现通过询问 ChatGPT ,多多少少能解决一些问题吧(尽管生成式 AI 仍会出现幻觉回答)。
今天尝试在 MacOS 上开设一个 WebDAV服务器,并从 QNAP NAS 的系统中的备份、同步功能模块 HBS 3 来进行连接。
在 MacOS 侧,我没有用命令行,而是用的是从 Mac APP Store 上下载的一款名为 WebDAVNav Server 的 APP 来进行简单的图形化管理。于是这就遇到了一个小问题。
我通过该款 APP 在 MacOS 中启用 WebDAV 服务后,从局域网内其他主机的操作系统,例如一台 Windows 电脑中访问 MacOS 上的 WebDAV ,是可以正常连接的,说明 MacOS 作为 WebDAV 服务器端这一侧配置已成功。
然而,在同一局域网下,一台 QNAP NAS 中 HBS 3 文件备份同步中心里配置连接 WebDAV 时,却一直出现「身份验证错误。无法连接到云服务。」这样的报错。
大约 2 年前起,某次 MacOS 大版本更新后,好像是实装了文字识别 OCR 功能,但是对于汉字、日文,特别是竖排的文章,在「预览」里直接选中图片中的文字并拷贝后,总会变成每个字符之间出现空格间隔的情况。
于是我使用 MacOS 的脚本编辑器,在 ChatGPT 的协助下,创建了一项「服务」并登记到系统的右键菜单。这样一来,就可以一下子把选中的文本里的所有空格都去掉了。
第一步是选择
「工作流程收到当前」选择「文本」
「位于」选择「任何应用程序」
第二步是拖拽一个「运行 AppleScript」操作到第一步的下方其中代码是:
继续阅读
近来阅读电子书。电子书的一个好处是数据可以云下载、云携带、云阅读……然而,一个可预见的致命问题是:对于一些私有文件格式的,或干脆不是以文件方式提供的电子书来说,一旦提供方(公司)停止了服务,那么之前所购买的电子书很可能在短时间内就化为乌有——或者说,即便文件在,也可能因为电子书的软件不再提供新版本,或硬件无法维修或新购,而变成了逐渐无法打开阅读的电子数据。
在面临这样的灾难之前,有个办法是:截图。据我了解,好像在我所在的地区,在个人(不传播给他人)使用这一前提下,著作权物也是可以由用户自行复制的。因此,网上不少视频也会教人怎么用 iPad 查看电子书,并且用截图保存的方式,把电子书的图像保存下来,以便今后长期阅读。
然而……网上介绍的都是动手操作的技巧,顶多是在此之上增加一些小技巧,例如用 Apple Pencil 从 iPad 边角划入屏幕就可以截屏之类的技巧。换言之,每一次的截图、翻页都是要人工干预的。之前一阵子,我也尝试过这么做,比如拿一个蓝牙鼠标和 iPad 配对,然后每点一次截图,再点一次翻页……虽然书是能安心地保存成今后长期可读格式,但手动操作总显得有点麻烦——要人执行啊!
有没有更好的方法呢?那就是买一台具身智能机器人啊!让机器人帮你来按截图键!多棒!看他们金属的拟态肤质手指触摸最新 iPad Super Pro Ultra XXX 的金属按键……嗯,具身智能机器人这个话题似乎还早了 10 到 15年的时间……其实有个更廉价的方案,就是找一个可以模拟鼠标或键盘的东西,来进行循环模拟操作(我知道有类似可编程鼠标、可编程键盘的),而这一次,我找到了树莓派的小卡板 Raspberry Pi Pico W 。
那么下一个问题来了:虽然我有长年使用树莓派的经验,但是,我一直只是把它当作一个 Linux 电脑来用的,要怎么使用这个 Pico 呢?怎么把它变成一个键盘,然后反复对 iPad 操作截图和翻页呢?
这好办,都 2024 年了,来问问生成式 AI ( ChatGPT )吧!经过一番探讨,我们商量出了(其实是我指示 ChatGPT 给出了)以下的代码:
import time
import random
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
# 初始化键盘
keyboard = Keyboard(usb_hid.devices)
# 定义截图和翻页函数
def take_screenshot():
# 模拟 Command + Shift + 3 截图快捷键
keyboard.press(Keycode.COMMAND, Keycode.SHIFT, Keycode.THREE)
time.sleep(0.1) # 按住键一小段时间
keyboard.release_all()
def turn_page():
# 模拟左箭头按键翻页
keyboard.press(Keycode.LEFT_ARROW)
time.sleep(0.1) # 按住键一小段时间
keyboard.release_all()
# 主程序
def main():
# 添加启动延迟,确保Pico W被正确识别
time.sleep(5) # 延迟5秒,让iPad充分识别Pico W
while True:
# 截图
take_screenshot()
time.sleep(3) # 等待3秒保存图片
# 翻页
turn_page()
# 随机等待4到6秒之间的时间
wait_time = random.uniform(1, 3)
time.sleep(wait_time)
# 启动主程序
main()
当然,在此之前,还要下载一个似乎是用于将 Pico 模拟成 HID 设备(鼠标、键盘等)的库所需的文件。 ChatGPT 如此说明:
确保 adafruit_hid 库可用:
前往 Adafruit_CircuitPython_HID 下载该库的 .mpy 文件。 将 adafruit_hid 文件夹复制到 Pico W 的 lib 文件夹中。
而在执行这个代码前,还要进行对 Pico 的 Python 运行环境的初始化操作,对此, ChatGPT 如此说明:
下载并将 CircuitPython 固件
(引用略)
放入 Raspberry Pi Pico W 是为了让设备支持使用 Python 语言进行编程。这一步将 Pico W 的系统替换为 CircuitPython 固件,使其在连接到电脑后能够像 USB 闪存驱动器一样显示。操作步骤很简单:按住 Pico W 的 BOOTSEL 按钮,将它连接到电脑,然后将下载的
.uf2
文件拖放到显示出来的 Pico 闪存驱动器上,等它自动重启后就完成了。这之后,你可以直接用 Python 编写和运行代码,适合初学者入门。
关于这一部分,各位可以自己找找看网上的 Pico 教程,或是问问 AI ,相信应该不难弄明白。
至于说这段代码的实现原理?不知道,反正即便是在没有 ChatGPT 的时代,我也差不多就是这样看着 API 说明文档以及网上教程来边试错边操作的。这一次总之就是用 python 程序控制 Pico 成为一个 HID键盘,循环输出键盘按键(截图组合快捷键、翻页用箭头方向按键)。
而通过简单观察代码可知:
# 模拟左箭头按键翻页
keyboard.press(Keycode.LEFT_ARROW)
这一行代码是控制翻页的,这里是用向左方向键来进行翻页。如果你的电子书是按别的方向键翻页的话,则请按需调整:
# 左方向键
keyboard.press(Keycode.LEFT_ARROW)
# 右方向键
keyboard.press(Keycode.RIGHT_ARROW)
# 上方向键
keyboard.press(Keycode.UP_ARROW)
# 下方向键
keyboard.press(Keycode.DOWN_ARROW)
你看,虽然具身人工智能机器人还没有来到我们身边,但是通过树莓派小小的硬件,以及通过与 ChatGPT 的问答进行简单学习,我已经实现了简化操作!整理和写这篇博客的时候,我的 iPad 连上 Pico W ,已经差不多截图了 3 本电子书了~