Image-Text-to-Text
Transformers
PyTorch
multilingual
internvl_chat
feature-extraction
internvl
custom_code
Instructions to use OpenGVLab/InternVL-Chat-V1-1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use OpenGVLab/InternVL-Chat-V1-1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="OpenGVLab/InternVL-Chat-V1-1", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("OpenGVLab/InternVL-Chat-V1-1", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use OpenGVLab/InternVL-Chat-V1-1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "OpenGVLab/InternVL-Chat-V1-1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OpenGVLab/InternVL-Chat-V1-1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/OpenGVLab/InternVL-Chat-V1-1
- SGLang
How to use OpenGVLab/InternVL-Chat-V1-1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "OpenGVLab/InternVL-Chat-V1-1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OpenGVLab/InternVL-Chat-V1-1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "OpenGVLab/InternVL-Chat-V1-1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "OpenGVLab/InternVL-Chat-V1-1", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use OpenGVLab/InternVL-Chat-V1-1 with Docker Model Runner:
docker model run hf.co/OpenGVLab/InternVL-Chat-V1-1
Apply Github PR #127 to all HF models
Browse files
modeling_internvl_chat.py
CHANGED
|
@@ -40,7 +40,7 @@ class InternVLChatModel(PreTrainedModel):
|
|
| 40 |
def __init__(self, config: InternVLChatConfig, vision_model=None, language_model=None, use_flash_attn=True):
|
| 41 |
super().__init__(config)
|
| 42 |
|
| 43 |
-
assert version_cmp(transformers.__version__, '4.
|
| 44 |
image_size = config.force_image_size or config.vision_config.image_size
|
| 45 |
patch_size = config.vision_config.patch_size
|
| 46 |
self.patch_size = patch_size
|
|
@@ -107,7 +107,7 @@ class InternVLChatModel(PreTrainedModel):
|
|
| 107 |
B, N, C = input_embeds.shape
|
| 108 |
input_embeds = input_embeds.reshape(B * N, C)
|
| 109 |
|
| 110 |
-
if torch.distributed.get_rank() == 0:
|
| 111 |
print(f'dynamic ViT batch size: {vit_batch_size}, images per sample: {vit_batch_size / B}, dynamic token length: {N}')
|
| 112 |
|
| 113 |
input_ids = input_ids.reshape(B * N)
|
|
|
|
| 40 |
def __init__(self, config: InternVLChatConfig, vision_model=None, language_model=None, use_flash_attn=True):
|
| 41 |
super().__init__(config)
|
| 42 |
|
| 43 |
+
assert version_cmp(transformers.__version__, '4.37.0', 'ge')
|
| 44 |
image_size = config.force_image_size or config.vision_config.image_size
|
| 45 |
patch_size = config.vision_config.patch_size
|
| 46 |
self.patch_size = patch_size
|
|
|
|
| 107 |
B, N, C = input_embeds.shape
|
| 108 |
input_embeds = input_embeds.reshape(B * N, C)
|
| 109 |
|
| 110 |
+
if torch.distributed.is_initialized() and torch.distributed.get_rank() == 0:
|
| 111 |
print(f'dynamic ViT batch size: {vit_batch_size}, images per sample: {vit_batch_size / B}, dynamic token length: {N}')
|
| 112 |
|
| 113 |
input_ids = input_ids.reshape(B * N)
|