Instructions to use Skywork/Skywork-R1V3-38B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Skywork/Skywork-R1V3-38B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Skywork/Skywork-R1V3-38B")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Skywork/Skywork-R1V3-38B", dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Skywork/Skywork-R1V3-38B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Skywork/Skywork-R1V3-38B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Skywork/Skywork-R1V3-38B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Skywork/Skywork-R1V3-38B
- SGLang
How to use Skywork/Skywork-R1V3-38B 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 "Skywork/Skywork-R1V3-38B" \ --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": "Skywork/Skywork-R1V3-38B", "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 "Skywork/Skywork-R1V3-38B" \ --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": "Skywork/Skywork-R1V3-38B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use Skywork/Skywork-R1V3-38B with Docker Model Runner:
docker model run hf.co/Skywork/Skywork-R1V3-38B
Upload modeling_skywork_chat.py
Browse files- modeling_skywork_chat.py +4 -1
modeling_skywork_chat.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
import warnings
|
|
|
|
| 2 |
from typing import List, Optional, Tuple, Union
|
| 3 |
|
| 4 |
import torch.utils.checkpoint
|
|
@@ -251,7 +252,7 @@ class SkyworkChatModel(PreTrainedModel):
|
|
| 251 |
|
| 252 |
def chat(self, tokenizer, pixel_values, question, generation_config, history=None, return_history=False,
|
| 253 |
num_patches_list=None, IMG_START_TOKEN='<img>', IMG_END_TOKEN='</img>', IMG_CONTEXT_TOKEN='<IMG_CONTEXT>',
|
| 254 |
-
verbose=False):
|
| 255 |
|
| 256 |
if history is None and pixel_values is not None and '<image>' not in question:
|
| 257 |
question = '<image>\n' + question
|
|
@@ -275,6 +276,8 @@ class SkyworkChatModel(PreTrainedModel):
|
|
| 275 |
template.append_message(template.roles[0], question)
|
| 276 |
template.append_message(template.roles[1], None)
|
| 277 |
query = template.get_prompt()
|
|
|
|
|
|
|
| 278 |
|
| 279 |
|
| 280 |
if verbose and pixel_values is not None:
|
|
|
|
| 1 |
import warnings
|
| 2 |
+
import re
|
| 3 |
from typing import List, Optional, Tuple, Union
|
| 4 |
|
| 5 |
import torch.utils.checkpoint
|
|
|
|
| 252 |
|
| 253 |
def chat(self, tokenizer, pixel_values, question, generation_config, history=None, return_history=False,
|
| 254 |
num_patches_list=None, IMG_START_TOKEN='<img>', IMG_END_TOKEN='</img>', IMG_CONTEXT_TOKEN='<IMG_CONTEXT>',
|
| 255 |
+
verbose=False, mode="think"):
|
| 256 |
|
| 257 |
if history is None and pixel_values is not None and '<image>' not in question:
|
| 258 |
question = '<image>\n' + question
|
|
|
|
| 276 |
template.append_message(template.roles[0], question)
|
| 277 |
template.append_message(template.roles[1], None)
|
| 278 |
query = template.get_prompt()
|
| 279 |
+
if mode != "think":
|
| 280 |
+
query = re.sub(r'\n<think>', '', query, count=1)
|
| 281 |
|
| 282 |
|
| 283 |
if verbose and pixel_values is not None:
|