chenfei-wu / TaskMatrix

Other
34.52k stars 3.32k forks source link

# 中国人不骗中国人,把star都取消了吧 #121

Closed AshleyZh666 closed 1 year ago

AshleyZh666 commented 1 year ago

ccdb858a8035788b5f8aff7eae13d90

wrk226 commented 1 year ago

所以这是什么? 微信截图_20230312191636

longit123 commented 1 year ago

哎,我也折腾了一下午,windows上也差不多能跑了

Snipaste_2023-03-12_21-32-35
longit123 commented 1 year ago

Windows上好像图片不能直接显示,图片确实是生成了,linux好像是正常的,国内pip源,torch下的都不行,直接去官方下whl,然后配合清华源下其他的

AshleyZh666 commented 1 year ago

大佬,有没靠谱的requirement.txt ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上9:10 收件人: @.>; 抄送: @.**@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121)

所以这是什么?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

AshleyZh666 commented 1 year ago

大佬,有没靠谱的requirement.txt ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上9:36 收件人: @.>; 抄送: @.**@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121)

Windows上好像图片不能直接显示,图片确实是生成了,linux好像是正常的,国内pip源,torch下的都不行,直接去官方下whl,然后配合清华源下其他的

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

AshleyZh666 commented 1 year ago

大佬,没有遇到,库和库版本冲突吗,还有乱入一堆python2语法的print ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上9:36 收件人: @.>; 抄送: @.**@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121)

Windows上好像图片不能直接显示,图片确实是生成了,linux好像是正常的,国内pip源,torch下的都不行,直接去官方下whl,然后配合清华源下其他的

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

wrk226 commented 1 year ago

大佬,有没靠谱的requirement.txt ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上9:10 收件人: @.>; 抄送: @.**@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121) 所以这是什么? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

repo里的就能用, 先用repo里的requirment.txt直接装,然后用conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.6 -c pytorch -c conda-forge 重装一下pytorch就能用了。注意一下系统的cuda版本需要与安装命令中的一致。另外,有几个注意点:

  1. 一定要用python3.8和pytorch1.12.1,不要乱改版本
  2. windows上软链接不好建立。如果遇到报错说找不到ldm,cldm,annotator这三个模块,那就是软连接没建立好,可以考虑直接从controlnet里复制到主目录,或者使用命令行的mklink命令建立。千万不要用pip下这三个包,已经下了的话最好删掉。
  3. 模型里的显卡需要手动指定,如果显存有限则需要注释掉其中一些。
  4. VPN需要挂隧道模式,否则无法连接openai的api。
0xVelo commented 1 year ago

所以这是什么? 微信截图_20230312191636

你的对话为什么可以显示图片,我的对话就告诉我生成了图片,保存在xx位置,但图片不会在对话中显示,要怎么设置才能显示图片呢?谢谢

wrk226 commented 1 year ago

你的对话为什么可以显示图片,我的对话就告诉我生成了图片,保存在xx位置,但图片不会在对话中显示,要怎么设置才能显示图片呢?谢谢

目前看来只有在linux上部署才会显示图片。我认为这是gradio的库对windows有兼容性问题,但是换了几个版本也没解决。

0xVelo commented 1 year ago

你的对话为什么可以显示图片,我的对话就告诉我生成了图片,保存在xx位置,但图片不会在对话中显示,要怎么设置才能显示图片呢?谢谢

目前看来只有在linux上部署才会显示图片。我认为这是gradio的库对windows有兼容性问题,但是换了几个版本也没解决。

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

hellsoul86 commented 1 year ago

ccdb858a8035788b5f8aff7eae13d90

4a0308d8e217c3388bb3d7227e4228e 这不挺好的嘛,还直接可以用中文呢

AshleyZh666 commented 1 year ago

大佬,咋弄的啊。tql ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上11:17 收件人: @.>; 抄送: @.**@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121)

这不挺好的嘛,还直接可以用中文呢

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

wrk226 commented 1 year ago

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

没错,就是这样的。他的整体思路就是让gpt3.5学会使用各种工具,想法挺不错,但是目前效果不好有如下几个原因:

  1. visual-gpt使用的基础语言模型是text-davinci-003而不是ChatGPT,因此对于上下文的理解能力比不过ChatGPT。
  2. 现阶段的语言模型的逻辑链还是不够长,导致对于这种相对复杂的操作难以控制。具体体现于,有时候会错误的给出指令,如,应该给三个参数,而它只给了两个,从而使得结果报错。又比如,有时候会将与图像不相关的表述输入下游模型,导致结果不符合预期。而事实上text-davinci-003针对命令服从是进行了强化的,仍旧表现不佳,这也就是为什么没有使用看似更强大的ChatGPT(我试了换成chatgpt,基本无法正确的发送命令)
  3. 如Stable Diffusion这样的画图模型目前还是依赖于人为精心设计的prompt才能出比较好的图,而使用自动prompt生成模型生成的prompt效果并不好。
  4. visual-gpt使用的几个下游模型本身效果不好。比如语意分割模型,经常分割错误,导致inpaint怎么改都没用,这个就需要下游模型进一步提升。
  5. 使用语言在模型间进行信息传递本身就是有损的,无论是从visGPT到下游模型,还是下游模型给visGPT的反馈,区区一句话,很容易词不达意,从而导致最终效果变差。

所以我认为如果想要提升visGPT的效果有如下三点:

  1. 对于每个任务更精细的设计prompt,帮助语言模型理解自己要做什么
  2. 对下游模型进行finetune
  3. 抛弃这个思路,直接做多模态
myrzx commented 1 year ago

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

没错,就是这样的。他的整体思路就是让gpt3.5学会使用各种工具,想法挺不错,但是目前效果不好有如下几个原因:

  1. visual-gpt使用的基础语言模型是text-davinci-003而不是ChatGPT,因此对于上下文的理解能力比不过ChatGPT。
  2. 现阶段的语言模型的逻辑链还是不够长,导致对于这种相对复杂的操作难以控制。具体体现于,有时候会错误的给出指令,如,应该给三个参数,而它只给了两个,从而使得结果报错。又比如,有时候会将与图像不相关的表述输入下游模型,导致结果不符合预期。而事实上text-davinci-003针对命令服从是进行了强化的,仍旧表现不佳,这也就是为什么没有使用看似更强大的ChatGPT(我试了换成chatgpt,基本无法正确的发送命令)
  3. 如Stable Diffusion这样的画图模型目前还是依赖于人为精心设计的prompt才能出比较好的图,而使用自动prompt生成模型生成的prompt效果并不好。
  4. visual-gpt使用的几个下游模型本身效果不好。比如语意分割模型,经常分割错误,导致inpaint怎么改都没用,这个就需要下游模型进一步提升。
  5. 使用语言在模型间进行信息传递本身就是有损的,无论是从visGPT到下游模型,还是下游模型给visGPT的反馈,区区一句话,很容易词不达意,从而导致最终效果变差。

所以我认为如果想要提升visGPT的效果有如下三点:

  1. 对于每个任务更精细的设计prompt,帮助语言模型理解自己要做什么
  2. 对下游模型进行finetune
  3. 抛弃这个思路,直接做多模态

未命名图片

未命名图片1

这已经是我测试的比较好的效果了,还是远不如直接炼丹,大佬有无技巧传授一下

wrk226 commented 1 year ago

这已经是我测试的比较好的效果了,还是远不如直接炼丹,大佬有无技巧传授一下

  1. 不要换底模,即stable diffusion模型。因为下游模型大都是针对真实图像训练的,对于非真实图像效果就是差。
  2. 不要用中文,因为visgpt并不总是会把你的文字自动翻译成英文。如果直接给下游模型输入中文的话可想而知效果会很差。
  3. 目前效果就是不如直接手动调prompt,所以想要应用的话还是得多等等,目前尝个鲜就完事了。
yunfengsay commented 1 year ago

windows不能显示图片是路径问题参考这个 https://github.com/microsoft/visual-chatgpt/issues/108

ding-chengjie commented 1 year ago

遇到问题不想着去解决而是张口就喷,别人都能玩起来你玩不起来,不应该找找自己的问题吗。能力不行就算了,素质总要过得去吧。就算有问题也应该心平气和的讨论,社区是用来共建代码以及讨论技术的。

AshleyZh666 commented 1 year ago

觉得我说的有问题,把修改过requirement.txt发一下。langchain==0.0.101这个库版本不对,而且报错引向一堆print的python2语法。用google colab试了一下,numpy的版本一直报错,core好像有问题。torch==1.12.1,torchvision==0.13.1和代码里面的ControlNet版本也会出问题,ControlNet一开始是No module。然后还有from ldm.util import instantiate_from_config也是持续报错,不过可以把instantiate_from_config函数给提出来

ding-chengjie commented 1 year ago

requirement这个确实有问题,我也遇到了。但是作为开发者不是应该研究怎么去解决吗,而不是上来就喷吧。找出问题,提出自己的看法,然后社区贡献,这才是我们应该做的吧

AshleyZh666 commented 1 year ago

大佬,按你说的流程安requirement.txt时,用pip还是conda,十分感谢 ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上9:47 收件人: @.>; 抄送: @.**@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121)

大佬,有没靠谱的requirement.txt ---原始邮件--- 发件人: @.> 发送时间: 2023年3月12日(周日) 晚上9:10 收件人: @.>; 抄送: @.@.>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121) 所以这是什么? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

repo里的就能用, 先用repo里的requirment.txt直接装,然后用conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.6 -c pytorch -c conda-forge 重装一下pytorch就能用了。有几个注意点:

一定要用python3.8和pytorch1.12.1,不要乱改版本

windows上软链接不好建立。如果遇到报错说找不到ldm,cldm,annotator这三个模块,那就是软连接没建立好,可以考虑直接从controlnet里复制到主目录,或者使用命令行的mklink命令建立。

模型里的显卡需要手动指定,如果现存有限则需要注释掉其中一些。

VPN需要挂隧道模式,否则无法连接openai的api。

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

wrk226 commented 1 year ago

大佬,按你说的流程安requirement.txt时,用pip还是conda,十分感谢

requirements.txt肯定是用pip啊,所有流程都是和readme里一样的,只不过用conda重装了一下pytorch

AshleyZh666 commented 1 year ago

好的,主要怕又有问题。麻烦了

longit123 commented 1 year ago

遇到问题不想着去解决而是张口就喷,别人都能玩起来你玩不起来,不应该找找自己的问题吗。能力不行就算了,素质总要过得去吧。就算有问题也应该心平气和的讨论,社区是用来共建代码以及讨论技术的。

我本来是想发requirement的,看到他那么激动,想想还是算了,python还算相对比较容易解决的,c++那些报错真的是让人头皮发麻

longit123 commented 1 year ago

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

没错,就是这样的。他的整体思路就是让gpt3.5学会使用各种工具,想法挺不错,但是目前效果不好有如下几个原因:

  1. visual-gpt使用的基础语言模型是text-davinci-003而不是ChatGPT,因此对于上下文的理解能力比不过ChatGPT。
  2. 现阶段的语言模型的逻辑链还是不够长,导致对于这种相对复杂的操作难以控制。具体体现于,有时候会错误的给出指令,如,应该给三个参数,而它只给了两个,从而使得结果报错。又比如,有时候会将与图像不相关的表述输入下游模型,导致结果不符合预期。而事实上text-davinci-003针对命令服从是进行了强化的,仍旧表现不佳,这也就是为什么没有使用看似更强大的ChatGPT(我试了换成chatgpt,基本无法正确的发送命令)
  3. 如Stable Diffusion这样的画图模型目前还是依赖于人为精心设计的prompt才能出比较好的图,而使用自动prompt生成模型生成的prompt效果并不好。
  4. visual-gpt使用的几个下游模型本身效果不好。比如语意分割模型,经常分割错误,导致inpaint怎么改都没用,这个就需要下游模型进一步提升。
  5. 使用语言在模型间进行信息传递本身就是有损的,无论是从visGPT到下游模型,还是下游模型给visGPT的反馈,区区一句话,很容易词不达意,从而导致最终效果变差。

所以我认为如果想要提升visGPT的效果有如下三点:

  1. 对于每个任务更精细的设计prompt,帮助语言模型理解自己要做什么
  2. 对下游模型进行finetune
  3. 抛弃这个思路,直接做多模态

未命名图片

未命名图片1

这已经是我测试的比较好的效果了,还是远不如直接炼丹,大佬有无技巧传授一下

直接用chatgpt生成有时候也有问题

Snipaste_2023-03-13_14-35-05 Snipaste_2023-03-13_14-35-05 Snipaste_2023-03-13_14-29-57
rocchou commented 1 year ago

大佬,有没靠谱的requirement.txt ---原始邮件--- 发件人: @.**> 发送时间: 2023年3月12日(周日) 晚上9:10 收件人: @.**>; 抄送: @.**@.**>; 主题: Re: [microsoft/visual-chatgpt] # 中国人不骗中国人,把star都取消了吧 (Issue #121) 所以这是什么? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

repo里的就能用, 先用repo里的requirment.txt直接装,然后用conda install pytorch==1.12.1 torchvision==0.13.1 cudatoolkit=11.6 -c pytorch -c conda-forge 重装一下pytorch就能用了。注意一下系统的cuda版本需要与安装命令中的一致。另外,有几个注意点:

  1. 一定要用python3.8和pytorch1.12.1,不要乱改版本
  2. windows上软链接不好建立。如果遇到报错说找不到ldm,cldm,annotator这三个模块,那就是软连接没建立好,可以考虑直接从controlnet里复制到主目录,或者使用命令行的mklink命令建立。千万不要用pip下这三个包,已经下了的话最好删掉。
  3. 模型里的显卡需要手动指定,如果显存有限则需要注释掉其中一些。
  4. VPN需要挂隧道模式,否则无法连接openai的api。

大佬,前面都通了,第四点,我用的clash开启tun模式,cmd命令ping api.openai.com成功了,但是后台始终报错: openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) 请问如何解决?

wrk226 commented 1 year ago

大佬,前面都通了,第四点,我用的clash开启tun模式,cmd命令ping api.openai.com成功了,但是后台始终报错: openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url: /v1/completions (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1131)'))) 请问如何解决?

检查一下clash的service mode的小地球是不是绿色的。变成绿色还不行的话可以试试换个节点或者换个机场。

0xVelo commented 1 year ago

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

没错,就是这样的。他的整体思路就是让gpt3.5学会使用各种工具,想法挺不错,但是目前效果不好有如下几个原因:

  1. visual-gpt使用的基础语言模型是text-davinci-003而不是ChatGPT,因此对于上下文的理解能力比不过ChatGPT。
  2. 现阶段的语言模型的逻辑链还是不够长,导致对于这种相对复杂的操作难以控制。具体体现于,有时候会错误的给出指令,如,应该给三个参数,而它只给了两个,从而使得结果报错。又比如,有时候会将与图像不相关的表述输入下游模型,导致结果不符合预期。而事实上text-davinci-003针对命令服从是进行了强化的,仍旧表现不佳,这也就是为什么没有使用看似更强大的ChatGPT(我试了换成chatgpt,基本无法正确的发送命令)
  3. 如Stable Diffusion这样的画图模型目前还是依赖于人为精心设计的prompt才能出比较好的图,而使用自动prompt生成模型生成的prompt效果并不好。
  4. visual-gpt使用的几个下游模型本身效果不好。比如语意分割模型,经常分割错误,导致inpaint怎么改都没用,这个就需要下游模型进一步提升。
  5. 使用语言在模型间进行信息传递本身就是有损的,无论是从visGPT到下游模型,还是下游模型给visGPT的反馈,区区一句话,很容易词不达意,从而导致最终效果变差。

所以我认为如果想要提升visGPT的效果有如下三点:

  1. 对于每个任务更精细的设计prompt,帮助语言模型理解自己要做什么
  2. 对下游模型进行finetune
  3. 抛弃这个思路,直接做多模态

请教一下,照道理chatgpt应该比text-davinci-003在上下文理解和交互上都要更出色,为什么会发生”基本无法正确的发送命令“这种情况呢?不是很清楚‘’针对命令服从进行强化“从模型上是一个什么概念,因为平时使用chatgpt貌似都没有出现不服从命令的情况,一直都很顺畅,为什么用在这里会效果不好呢?另外换成chatgpt要怎么改代码呢? 从产品角度看,要体验更好,除了提升交互能力/理解能力,还要提升visGPT的图片质量。我觉得是不是应该先把使用的模型都替换成最新的吧?现在用的是不是比较早的SD模型,生成图片的质量跟最新的模型比差不止一个档次,是不是应该换成SD1.5之后的版本或着换成最新版本的DALLE/Imagen吧,再加上proper prompt,应该能达到一个比较实用的效果。 当然,我生成的图片烂,一方面是我没有好好prompt(就简单’生成一个形容词+名词‘完事),另一方面 因为内存关系,我的tools里面值enable了ImageEditing,ImageCaptioning,T2I,BLIPVQA,Pix2Pix这几个model,不确定是不是会有影响。

0xVelo commented 1 year ago

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

没错,就是这样的。他的整体思路就是让gpt3.5学会使用各种工具,想法挺不错,但是目前效果不好有如下几个原因:

  1. visual-gpt使用的基础语言模型是text-davinci-003而不是ChatGPT,因此对于上下文的理解能力比不过ChatGPT。
  2. 现阶段的语言模型的逻辑链还是不够长,导致对于这种相对复杂的操作难以控制。具体体现于,有时候会错误的给出指令,如,应该给三个参数,而它只给了两个,从而使得结果报错。又比如,有时候会将与图像不相关的表述输入下游模型,导致结果不符合预期。而事实上text-davinci-003针对命令服从是进行了强化的,仍旧表现不佳,这也就是为什么没有使用看似更强大的ChatGPT(我试了换成chatgpt,基本无法正确的发送命令)
  3. 如Stable Diffusion这样的画图模型目前还是依赖于人为精心设计的prompt才能出比较好的图,而使用自动prompt生成模型生成的prompt效果并不好。
  4. visual-gpt使用的几个下游模型本身效果不好。比如语意分割模型,经常分割错误,导致inpaint怎么改都没用,这个就需要下游模型进一步提升。
  5. 使用语言在模型间进行信息传递本身就是有损的,无论是从visGPT到下游模型,还是下游模型给visGPT的反馈,区区一句话,很容易词不达意,从而导致最终效果变差。

所以我认为如果想要提升visGPT的效果有如下三点:

  1. 对于每个任务更精细的设计prompt,帮助语言模型理解自己要做什么
  2. 对下游模型进行finetune
  3. 抛弃这个思路,直接做多模态

未命名图片 未命名图片1 这已经是我测试的比较好的效果了,还是远不如直接炼丹,大佬有无技巧传授一下

直接用chatgpt生成有时候也有问题 Snipaste_2023-03-13_14-35-05

Snipaste_2023-03-13_14-35-05 Snipaste_2023-03-13_14-29-57

大佬,炼丹是啥意思,直接用chatgpt生成是怎么弄的呢?

wrk226 commented 1 year ago

请教一下,照道理chatgpt应该比text-davinci-003在上下文理解和交互上都要更出色,为什么会发生”基本无法正确的发送命令“这种情况呢?不是很清楚‘’针对命令服从进行强化“从模型上是一个什么概念,因为平时使用chatgpt貌似都没有出现不服从命令的情况,一直都很顺畅,为什么用在这里会效果不好呢?另外换成chatgpt要怎么改代码呢? 从产品角度看,要体验更好,除了提升交互能力/理解能力,还要提升visGPT的图片质量。我觉得是不是应该先把使用的模型都替换成最新的吧?现在用的是不是比较早的SD模型,生成图片的质量跟最新的模型比差不止一个档次,是不是应该换成SD1.5之后的版本或着换成最新版本的DALLE/Imagen吧,再加上proper prompt,应该能达到一个比较实用的效果。 当然,我生成的图片烂,一方面是我没有好好prompt(就简单’生成一个形容词+名词‘完事),另一方面 因为内存关系,我的tools里面值enable了ImageEditing,ImageCaptioning,T2I,BLIPVQA,Pix2Pix这几个model,不确定是不是会有影响。

通过使用不同的数据集和损失函数自然可以让模型进行不同方向的训练。比如,如果我训练一个人,让他天天背书,那他的背书能力就会比较强。而如果我让一个人天天画不同的东西,那他的创造能力就会比较强。训练模型也是类似的原理,这些都是可以通过训练策略来控制的。text-davinci-003的训练目标是保证输出的准确性,而chatgpt的训练目标是保证对话时用户的满意程度,因此text-davinci-003的命令服从效果更好,而chatgpt的对话能力更强。

至于你觉得chatgpt没有出现不服从命令的情况是因为你没有试过把chatgpt作为一个“零件”放入实际的应用场景中。比如,我想要批量的翻译文章,一句一句发给chatgpt的话,有时候chatgpt会直接回复翻译结果,有时候会回复“这段话的翻译是...”,而有时候会回复“好的,这句话翻译成英文是这样的:...”,而且无论你怎么去更改prompt,都很难以让chatgpt稳定的只输出翻译结果,这就是所谓的不够遵守命令。 想要改成chatgpt很简单,把self.llm = OpenAI(temperature=0)这句话改成self.llm = OpenAIChat(temperature=0),然后在顶端加上from langchain.llms.openai import OpenAIChat就行了。

关于图像的质量,我认为SD1.5不是影响质量的主要因素,简单替换模型只会让你的生成图像质量更好,但很有可能导致你修图时效果变得更差。

0xVelo commented 1 year ago

请教一下,照道理chatgpt应该比text-davinci-003在上下文理解和交互上都要更出色,为什么会发生”基本无法正确的发送命令“这种情况呢?不是很清楚‘’针对命令服从进行强化“从模型上是一个什么概念,因为平时使用chatgpt貌似都没有出现不服从命令的情况,一直都很顺畅,为什么用在这里会效果不好呢?另外换成chatgpt要怎么改代码呢? 从产品角度看,要体验更好,除了提升交互能力/理解能力,还要提升visGPT的图片质量。我觉得是不是应该先把使用的模型都替换成最新的吧?现在用的是不是比较早的SD模型,生成图片的质量跟最新的模型比差不止一个档次,是不是应该换成SD1.5之后的版本或着换成最新版本的DALLE/Imagen吧,再加上proper prompt,应该能达到一个比较实用的效果。 当然,我生成的图片烂,一方面是我没有好好prompt(就简单’生成一个形容词+名词‘完事),另一方面 因为内存关系,我的tools里面值enable了ImageEditing,ImageCaptioning,T2I,BLIPVQA,Pix2Pix这几个model,不确定是不是会有影响。

通过使用不同的数据集和损失函数自然可以让模型进行不同方向的训练。比如,如果我训练一个人,让他天天背书,那他的背书能力就会比较强。而如果我让一个人天天画不同的东西,那他的创造能力就会比较强。训练模型也是类似的原理,这些都是可以通过训练策略来控制的。text-davinci-003的训练目标是保证输出的准确性,而chatgpt的训练目标是保证对话时用户的满意程度,因此text-davinci-003的命令服从效果更好,而chatgpt的对话能力更强。

至于你觉得chatgpt没有出现不服从命令的情况是因为你没有试过把chatgpt作为一个“零件”放入实际的应用场景中。比如,我想要批量的翻译文章,一句一句发给chatgpt的话,有时候chatgpt会直接回复翻译结果,有时候会回复“这段话的翻译是...”,而有时候会回复“好的,这句话翻译成英文是这样的:...”,而且无论你怎么去更改prompt,都很难以让chatgpt稳定的只输出翻译结果,这就是所谓的不够遵守命令。 想要改成chatgpt很简单,把self.llm = OpenAI(temperature=0)这句话改成self.llm = OpenAIChat(temperature=0),然后在顶端加上from langchain.llms.openai import OpenAIChat就行了。

关于图像的质量,我认为SD1.5不是影响质量的主要因素,简单替换模型只会让你的生成图像质量更好,但很有可能导致你修图时效果变得更差。

原来如此,受教了,感谢!

YeHaijia commented 1 year ago

难怪了,我是在windows本地电脑上部署的。 我感觉这个东西就是一堆ai图片编辑模型的集合,上下文理解和对话能力还是有点欠缺,不过也有可能是我刚跑通,还没玩透,你怎么看呢?

没错,就是这样的。他的整体思路就是让gpt3.5学会使用各种工具,想法挺不错,但是目前效果不好有如下几个原因:

  1. visual-gpt使用的基础语言模型是text-davinci-003而不是ChatGPT,因此对于上下文的理解能力比不过ChatGPT。
  2. 现阶段的语言模型的逻辑链还是不够长,导致对于这种相对复杂的操作难以控制。具体体现于,有时候会错误的给出指令,如,应该给三个参数,而它只给了两个,从而使得结果报错。又比如,有时候会将与图像不相关的表述输入下游模型,导致结果不符合预期。而事实上text-davinci-003针对命令服从是进行了强化的,仍旧表现不佳,这也就是为什么没有使用看似更强大的ChatGPT(我试了换成chatgpt,基本无法正确的发送命令)
  3. 如Stable Diffusion这样的画图模型目前还是依赖于人为精心设计的prompt才能出比较好的图,而使用自动prompt生成模型生成的prompt效果并不好。
  4. visual-gpt使用的几个下游模型本身效果不好。比如语意分割模型,经常分割错误,导致inpaint怎么改都没用,这个就需要下游模型进一步提升。
  5. 使用语言在模型间进行信息传递本身就是有损的,无论是从visGPT到下游模型,还是下游模型给visGPT的反馈,区区一句话,很容易词不达意,从而导致最终效果变差。

所以我认为如果想要提升visGPT的效果有如下三点:

  1. 对于每个任务更精细的设计prompt,帮助语言模型理解自己要做什么
  2. 对下游模型进行finetune
  3. 抛弃这个思路,直接做多模态

换了gpt-3.5-turbo模型,发现下游指令一直失败,LLM out不能parse,吐血,原来是模型问题

srtj commented 1 year ago

pilangchain==0.0.101 这个包就像个魔咒,安装不上

srtj commented 1 year ago

https://github.com/microsoft/visual-chatgpt/issues/121#issuecomment-1465195456 大佬,我现在已经可以正常跑起来了,但是提示我api不对,可我的api在其他地方是可以使用的,不知怎么解决,能否指点一下

HelloWorld4747 commented 10 months ago

所以这是什么? 微信截图_20230312191636

大佬您好, 想请教您一下,就是我现在就是想在colab上运行起来,我什么东西都没改,但是在完成图片的upload之后再输入prompt就出现报错,AttributeError: module 'openai' has no attribute 'error'。感觉上应该是openai版本更新引起的,想问问您知道要怎么办吗,谢谢