首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

笔精墨妙,妙手丹青,微软可视化的ChatGPT:Visual ChatGPT,人工智能AI聊天发图片,Python3.10实现

说时迟那时快,微软第一时间发布开源库Visual ChatGPT,把 ChatGPT 的人工智能AI能力和Stable Diffusion[1]以及ControlNet[2]进行了整合。常常被互联网人挂在嘴边的“赋能”一词,几乎已经变成了笑话,但这回,微软玩了一次真真正正的AI“赋能”,彻底打通了人工智能“闭环”。

配置Visual ChatGPT环境

老规矩,运行Git命令拉取Visual ChatGPT项目:

进入项目目录:

确保本机的Python版本不低于Python3.10.9[3]

随后安装依赖文件:

这里有几个问题,一个是官方的Pytorch版本不是最新的,这里推荐1.13.1:

另外langchain的版本也推荐最新的107版本。

安装好依赖之后,官方要求运行项目中的download.sh文件:

这个shell脚本主要就是构建子项目ControlNet,同时下载所有的ControlNet模型,如果之前已经下载过相关模型,直接将模型文件拷贝到项目目录即可:

关于ControlNet,请移玉步至:登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10[4], 这里不再赘述。

接着配置Openai的环境变量:

如果是Windows用户,遵循下列步骤,配置好OPENAI_API_KEY:

至此,大体上环境就配置好了。

Visual ChatGPT部分代码修改:

和ControlNet一样,Visual ChatGPT将运行方式写死为cuda,这对于不支持cuda模式的电脑不太友好,比如苹果M系列芯片的Mac系统,如果我们直接运行程序:

就会报这个错误:

这里需要将visual-chatgpt.py文件中写死的cuda模式改写为mps模式:

关于MPS模式,请参照:闻其声而知雅意,M1 Mac基于PyTorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)[5],这里不再赘述。

接着创建训练图片的文件夹:

随后还可能触发langchain库的内存溢出问题,需要将这行代码屏蔽:

接着将内存缓冲区替换为保存上下文逻辑:

当我们以为万事俱备只欠东风的时候,发现每次运行都会内存溢出,对此,官方给出了解释:

这就是加载了所有模型之后的显存占用,整整70个G的显存占用,这是给人玩的吗?人们不禁要问。

没办法,只能另辟蹊径,将非必要的模型加载代码进行屏蔽操作,一顿修改,修改后的完整代码:

Thought: Do I need to use a tool? Yes

Action: the action to take, should be one of []

Action Input: the input to the action

Observation: the result of the action

Thought: Do I need to use a tool? No

: [your response here]

注意,以上代码是修改了MPS模式、langchain库bug以及屏蔽了多个模型后的修改版本。

运行Visual ChatGPT

折腾了大半天,终于可以无错误运行了:

程序返回:

编程的乐趣就在于,当你为了运行某个程序经历了千难万险,甚至濒临绝望的时候,突然,程序调通了,此时大脑皮层会大量分泌多巴胺(dopamine),那感觉,就像突然领悟了人生妙谛,又像是终于明白了天人化生、万物滋长的要道,简而言之,白日飞升,快乐加倍,那种精神上的享受,绝对比玩电子游戏或者享受美食更加的高级。

随后访问http://localhost:7860:

直接用中文开聊即可,不需要ControlNet那些令人厌烦的引导词。

后台程序逻辑:

通过观察,我们可以得知,虽然是中文聊天,但其实ChatGPT会把中文翻译为英文,将“给我一只大金毛”翻译为:“a golden retriever”。

随后通过模型训练生成图片,再将聊天记录添加到上下文列表中,关于ChatGPT的聊天上下文,请参照:重新定义性价比!人工智能AI聊天ChatGPT新接口模型gpt-3.5-turbo闪电更新,成本降90%,Python3.10接入[6]

当然,为了可以线下单机环境将Visual ChatGPT成功跑起来,所以屏蔽了多个ControlNet图像模型,因此有些图片场景并不那么尽如人意:

结语

有的时候,当我们称赞一项技术的时候,我们会称其为这样或者那样的行业标杆、教科书之类,但是对于ChatGPT来说,它已经超越了所谓的什么标杆,或者说得更准确一些,它是标杆中的标杆,其他的所谓的类ChatGPT产品,别说望其项背了,就连ChatGPT的尾气也闻不到,说白了,想碰瓷都不知道该怎么碰,因为神明早已在ChatGPT的命格中写下八个大字:前无古人,后无来者!最后,奉上修改后的项目代码,与众乡亲同飨:github.com/zcxey2911/visual_chatgpt_mps_cut

引用链接

Stable Diffusion:https://v3u.cn/a_id_283

ControlNet:https://v3u.cn/a_id_282

Python3.10.9:https://v3u.cn/a_id_200

登峰造极,师出造化,Pytorch人工智能AI图像增强框架ControlNet绘画实践,基于Python3.10:https://v3u.cn/a_id_282

闻其声而知雅意,M1 Mac基于PyTorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10):https://v3u.cn/a_id_272

重新定义性价比!人工智能AI聊天ChatGPT新接口模型gpt-3.5-turbo闪电更新,成本降90%,Python3.10接入:https://v3u.cn/a_id_284

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230313A00X4V00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券