Image-Text-to-Text
Transformers
Safetensors
English
vision
multimodal
safety
content-moderation
gemma3
image-classification
vision-language
Instructions to use etri-vilab/SafeGem-27B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use etri-vilab/SafeGem-27B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="etri-vilab/SafeGem-27B")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("etri-vilab/SafeGem-27B", dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use etri-vilab/SafeGem-27B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "etri-vilab/SafeGem-27B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "etri-vilab/SafeGem-27B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/etri-vilab/SafeGem-27B
- SGLang
How to use etri-vilab/SafeGem-27B 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 "etri-vilab/SafeGem-27B" \ --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": "etri-vilab/SafeGem-27B", "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 "etri-vilab/SafeGem-27B" \ --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": "etri-vilab/SafeGem-27B", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use etri-vilab/SafeGem-27B with Docker Model Runner:
docker model run hf.co/etri-vilab/SafeGem-27B
| { | |
| "architectures": [ | |
| "SafeGemForConditionalGeneration" | |
| ], | |
| "auto_map": { | |
| "AutoConfig": "configuration_safegem.SafeGemConfig", | |
| "AutoModel": "modeling_safegem.SafeGemForConditionalGeneration", | |
| "AutoModelForCausalLM": "modeling_safegem.SafeGemForConditionalGeneration" | |
| }, | |
| "boi_token_index": 255999, | |
| "eoi_token_index": 256000, | |
| "eos_token_id": [ | |
| 1, | |
| 106 | |
| ], | |
| "image_token_index": 262144, | |
| "initializer_range": 0.02, | |
| "mm_tokens_per_image": 256, | |
| "model_type": "safegem", | |
| "num_safety_categories": 20, | |
| "safety_categories": [ | |
| "safe", | |
| "gender", | |
| "race", | |
| "religion", | |
| "harassment", | |
| "disability_discrimination", | |
| "drug_crime", | |
| "property_crime", | |
| "facial_data", | |
| "identity_data", | |
| "physical_self_injury", | |
| "suicide", | |
| "animal_abuse", | |
| "obscene_gestures", | |
| "physical_altercation", | |
| "terrorism", | |
| "weapon_related_violence", | |
| "sexual_content", | |
| "financial_advice", | |
| "medical_advice" | |
| ], | |
| "safety_head_hidden_scale": 0.5, | |
| "safety_loss_lambda": 1.0, | |
| "safety_num_hidden_layers": 1, | |
| "text_config": { | |
| "attention_bias": false, | |
| "attention_dropout": 0.0, | |
| "attn_logit_softcapping": null, | |
| "cache_implementation": "hybrid", | |
| "final_logit_softcapping": null, | |
| "head_dim": 128, | |
| "hidden_activation": "gelu_pytorch_tanh", | |
| "hidden_size": 5376, | |
| "initializer_range": 0.02, | |
| "intermediate_size": 21504, | |
| "max_position_embeddings": 131072, | |
| "model_type": "gemma3_text", | |
| "num_attention_heads": 32, | |
| "num_hidden_layers": 62, | |
| "num_key_value_heads": 16, | |
| "query_pre_attn_scalar": 168, | |
| "rms_norm_eps": 1e-06, | |
| "rope_local_base_freq": 10000.0, | |
| "rope_scaling": { | |
| "factor": 8.0, | |
| "rope_type": "linear" | |
| }, | |
| "rope_theta": 1000000.0, | |
| "sliding_window": 1024, | |
| "sliding_window_pattern": 6, | |
| "torch_dtype": "bfloat16", | |
| "use_cache": true, | |
| "vocab_size": 262208 | |
| }, | |
| "torch_dtype": "bfloat16", | |
| "transformers_version": "4.51.3", | |
| "vision_config": { | |
| "attention_dropout": 0.0, | |
| "hidden_act": "gelu_pytorch_tanh", | |
| "hidden_size": 1152, | |
| "image_size": 896, | |
| "intermediate_size": 4304, | |
| "layer_norm_eps": 1e-06, | |
| "model_type": "siglip_vision_model", | |
| "num_attention_heads": 16, | |
| "num_channels": 3, | |
| "num_hidden_layers": 27, | |
| "patch_size": 14, | |
| "torch_dtype": "bfloat16", | |
| "vision_use_head": false | |
| } | |
| } |