Visual ChatGPT conecta ChatGPT e uma série de Visual Foundation Models para permitir o envio e recebimento de imagens durante o bate-papo.
Veja nosso artigo: Visual ChatGPT: Conversando, Desenhando e Editando com Modelos Visual Foundation
Por um lado, ChatGPT (ou LLMs) serve como uma interface geral que fornece uma compreensão ampla e diversificada de uma ampla gama de tópicos. Por outro lado, os Modelos Fundamentais atuam como especialistas em domínios , fornecendo conhecimento profundo em domínios específicos. Ao aproveitar o conhecimento geral e profundo , pretendemos construir uma IA que seja capaz de lidar com diversas tarefas.
# clone the repo
git clone https://github.com/microsoft/visual-chatgpt.git
# Go to directory
cd visual-chatgpt
# create a new environment
conda create -n visgpt python=3.8
# activate the new environment
conda activate visgpt
# prepare the basic environments
pip install -r requirements.txt
# prepare your private OpenAI key (for Linux)
export OPENAI_API_KEY={Your_Private_Openai_Key}
# prepare your private OpenAI key (for Windows)
set OPENAI_API_KEY={Your_Private_Openai_Key}
# Start Visual ChatGPT !
# You can specify the GPU/CPU assignment by "--load", the parameter indicates which
# Visual Foundation Model to use and where it will be loaded to
# The model and device are sperated by underline '_', the different models are seperated by comma ','
# The available Visual Foundation Models can be found in the following table
# For example, if you want to load ImageCaptioning to cpu and Text2Image to cuda:0
# You can use: "ImageCaptioning_cpu,Text2Image_cuda:0"
# Advice for CPU Users
python visual_chatgpt.py --load ImageCaptioning_cpu,Text2Image_cpu
# Advice for 1 Tesla T4 15GB (Google Colab)
python visual_chatgpt.py --load "ImageCaptioning_cuda:0,Text2Image_cuda:0"
# Advice for 4 Tesla V100 32GB
python visual_chatgpt.py --load "ImageCaptioning_cuda:0,ImageEditing_cuda:0,
Text2Image_cuda:1,Image2Canny_cpu,CannyText2Image_cuda:1,
Image2Depth_cpu,DepthText2Image_cuda:1,VisualQuestionAnswering_cuda:2,
InstructPix2Pix_cuda:2,Image2Scribble_cpu,ScribbleText2Image_cuda:2,
Image2Seg_cpu,SegText2Image_cuda:2,Image2Pose_cpu,PoseText2Image_cuda:2,
Image2Hed_cpu,HedText2Image_cuda:3,Image2Normal_cpu,
NormalText2Image_cuda:3,Image2Line_cpu,LineText2Image_cuda:3"
Aqui listamos o uso de memória GPU de cada modelo de base visual, você pode especificar qual deles você gosta:
Modelo de Fundação | Memória GPU (MB) |
---|---|
Edição de imagem | 3981 |
InstructPix2Pix | 2827 |
Texto2Imagem | 3385 |
Legendagem de imagens | 1209 |
Imagem2Canny | 0 |
CannyText2Image | 3531 |
Imagem2Linha | 0 |
LinhaText2Image | 3529 |
Imagem2Hed | 0 |
HedText2Image | 3529 |
Imagem2Scribble | 0 |
ScribbleText2Image | 3531 |
Imagem2Pose | 0 |
PoseText2Image | 3529 |
Imagem2Seg | 919 |
SegText2Image | 3529 |
Imagem2Profundidade | 0 |
ProfundidadeText2Image | 3531 |
Imagem2Normal | 0 |
NormalText2Image | 3529 |
Resposta VisualQuestion | 1495 |
Agradecemos o código aberto dos seguintes projetos:
Abraçando o rosto LangChain Difusão estável ControlNet InstructPix2Pix CLIPSeg BLIP
Para obter ajuda ou problemas ao usar o Visual ChatGPT, envie um problema do GitHub.
Para outras comunicações, entre em contato com Chenfei WU ([email protected]) ou Nan DUAN ([email protected]).