---
title: InternGPT
emoji: π€π¬
colorFrom: indigo
colorTo: pink
sdk: gradio
sdk_version: 3.28.1
app_file: notice.py
pinned: false
license: apache-2.0
---
[[δΈζζζ‘£]](README_CN.md)
**The project is still under construction, we will continue to update it and welcome contributions/pull requests from the community.**
![](./assets/gvlab_logo.png)
|
|
# InternChat [[paper](https://pjlab-gvm-data.oss-cn-shanghai.aliyuncs.com/papers/ichat.pdf)]
**InternChat**(short for **iChat**) is pointing-language-driven visual interactive system, allowing you to interact with ChatGPT by clicking, dragging and drawing using a pointing device. The name InternChat stands for **inter**action, **n**onverbal, and **chat**bots. Different from existing interactive systems that rely on pure language, by incorporating pointing instructions, iChat significantly improves the efficiency of communication between users and chatbots, as well as the accuracy of chatbots in vision-centric tasks, especially in complicated visual scenarios. Additionally, in iChat, an auxiliary control mechanism is used to improve the control capability of LLM, and a large vision-language model termed **Husky** is fine-tuned for high-quality multi-modal dialogue (impressing ChatGPT-3.5-turbo with **93.89% GPT-4 Quality**).
## Online Demo
[**InternChat**](https://ichat.opengvlab.com/) is online. Let's try it!
[**NOTE**] It is possible that you are waiting in a lengthy queue. You can clone our repo and run it with your private GPU.
https://github.com/OpenGVLab/InternChat/assets/13723743/3270b05f-0823-4f13-9966-4010fd855643
## Schedule
- [ ] Support Chinese
- [ ] Support MOSS
- [ ] More powerful foundation models based on [InternImage](https://github.com/OpenGVLab/InternImage) and [InternVideo](https://github.com/OpenGVLab/InternVideo)
- [ ] More accurate interactive experience
- [ ] Web Page & Code Generation
- [x] Support voice assistant
- [x] Support click interaction
- [x] Interactive image editing
- [x] Interactive image generation
- [x] Interactive visual question answering
- [x] Segment Anything
- [x] Image inpainting
- [x] Image caption
- [x] image matting
- [x] Optical character recognition
- [x] Action recognition
- [x] Video caption
- [x] Video dense caption
- [x] video highlight interpretation
## System Overview
![Logo](./assets/arch1.png)
## π Major Features
(a) Remove the masked object
![](./assets/demo2.gif)
(b) Interactive image editing
![](./assets/demo3.gif)
(c) Image generation
![](./assets/demo4.gif)
(d) Interactive visual question answer
![](./assets/demo5.gif)
(e) Interactive image generation
![image](https://github.com/OpenGVLab/InternChat/assets/8529570/2b0da08e-af86-453d-99e5-1327f93aa917)
(f) Video highlight interpretation
![](./assets/demo6.jpg)
## π οΈ Installation
### Basic requirements
- Linux
- Python 3.8+
- PyTorch 1.12+
- CUDA 11.6+
- GCC & G++ 5.4+
- GPU Memory >= 17G for loading basic tools (HuskyVQA, SegmentAnything, ImageOCRRecognition)
### Install Python dependencies
```shell
pip install -r requirements.txt
```
### Model zoo
Coming soon...
## π¨βπ« Get Started
Running the following shell can start a gradio service:
```shell
python -u iChatApp.py --load "HuskyVQA_cuda:0,SegmentAnything_cuda:0,ImageOCRRecognition_cuda:0" --port 3456
```
if you want to enable the voice assistant, please use `openssl` to generate the certificate:
```shell
openssl req -x509 -newkey rsa:4096 -keyout ./key.pem -out ./cert.pem -sha256 -days 365 -nodes
```
and then run:
```shell
python -u iChatApp.py --load "HuskyVQA_cuda:0,SegmentAnything_cuda:0,ImageOCRRecognition_cuda:0" --port 3456 --https
```
## π« License
This project is released under the [Apache 2.0 license](LICENSE).
## ποΈ Citation
If you find this project useful in your research, please consider cite:
```BibTeX
@misc{2023internchat,
title={InternChat: Solving Vision-Centric Tasks by Interacting with Chatbots Beyond Language},
author={Zhaoyang Liu and Yinan He and Wenhai Wang and Weiyun Wang and Yi Wang and Shoufa Chen and Qinglong Zhang and Yang Yang and Qingyun Li and Jiashuo Yu and Kunchang Li and Zhe Chen and Xue Yang and Xizhou Zhu and Yali Wang and Limin Wang and Ping Luo and Jifeng Dai and Yu Qiao},
howpublished = {\url{https://arxiv.org/abs/2305.05662}},
year={2023}
}
```
## π€ Acknowledgement
Thanks to the open source of the following projects:
[Hugging Face](https://github.com/huggingface)
[LangChain](https://github.com/hwchase17/langchain)
[TaskMatrix](https://github.com/microsoft/TaskMatrix)
[SAM](https://github.com/facebookresearch/segment-anything)
[Stable Diffusion](https://github.com/CompVis/stable-diffusion)
[ControlNet](https://github.com/lllyasviel/ControlNet)
[InstructPix2Pix](https://github.com/timothybrooks/instruct-pix2pix)
[BLIP](https://github.com/salesforce/BLIP)
[Latent Diffusion Models](https://github.com/CompVis/latent-diffusion)
[EasyOCR](https://github.com/JaidedAI/EasyOCR)
Welcome to discuss with us and continuously improve the user experience of InternChat.
WeChat QR Code
![image](https://github.com/OpenGVLab/InternChat/assets/8529570/881c231d-9049-4920-a22c-680f41f0f7ee)