Instructions to use Vortex5/G4-Starry-Ocean-12B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Vortex5/G4-Starry-Ocean-12B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Vortex5/G4-Starry-Ocean-12B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Vortex5/G4-Starry-Ocean-12B") model = AutoModelForMultimodalLM.from_pretrained("Vortex5/G4-Starry-Ocean-12B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Vortex5/G4-Starry-Ocean-12B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Vortex5/G4-Starry-Ocean-12B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Vortex5/G4-Starry-Ocean-12B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/Vortex5/G4-Starry-Ocean-12B
- SGLang
How to use Vortex5/G4-Starry-Ocean-12B 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 "Vortex5/G4-Starry-Ocean-12B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Vortex5/G4-Starry-Ocean-12B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "Vortex5/G4-Starry-Ocean-12B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Vortex5/G4-Starry-Ocean-12B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use Vortex5/G4-Starry-Ocean-12B with Docker Model Runner:
docker model run hf.co/Vortex5/G4-Starry-Ocean-12B
| base_model: | |
| - google/gemma-4-12B-it | |
| - ewald1976/G4-12B-Station-Keeper | |
| - UnstableLlama/Semancer-12B | |
| library_name: transformers | |
| tags: | |
| - mergekit | |
| - merge | |
| - roleplay | |
| license: apache-2.0 | |
| <section class="container"> | |
| <div class="starfield"></div> | |
| <div class="header"> | |
| <h1 class="title">G4-Starry-Ocean-12B</h1> | |
| </div> | |
| <div class="image-box"> | |
| <img src="cover.png"> | |
| </div> | |
| <div class="divider"></div> | |
| <section class="card"> | |
| <h2 class="card-title">Overview</h2> | |
| <p> | |
| <strong class="highlight">G4-Starry-Ocean-12B</strong> was created through a | |
| merge combining | |
| <a href="google/gemma-4-12B-it" class="link">gemma-4-12B-it</a>, | |
| <a href="https://huggingface.co/UnstableLlama/Semancer-12B" class="link">Semancer-12B</a>, | |
| and | |
| <a href="https://huggingface.co/ewald1976/G4-12B-Station-Keeper" class="link">G4-12B-Station-Keeper</a>, using a custom method. | |
| </p> | |
| <details class="config"> | |
| <summary>Merge configuration</summary> | |
| <pre> | |
| base_model: google/gemma-4-12B-it | |
| models: | |
| - model: UnstableLlama/Semancer-12B | |
| - model: ewald1976/G4-12B-Station-Keeper | |
| merge_method: hcr | |
| chat_template: auto | |
| parameters: | |
| strength: 0.9 | |
| retention: 0.6 | |
| novelty: 0.36 | |
| stability: 0.7 | |
| dtype: float32 | |
| out_dtype: bfloat16 | |
| tokenizer: | |
| source: union | |
| </pre> | |
| </details> | |
| </section> | |
| <section class="card"> | |
| <h2 class="card-title">Intended Use</h2> | |
| <div class="grid"> | |
| <div class="tile"> | |
| <span class="tile-main">Storytelling</span> | |
| <span class="tile-sub">Structured long-form narrative</span> | |
| </div> | |
| <div class="tile"> | |
| <span class="tile-main">Roleplay</span> | |
| <span class="tile-sub">Emotion-forward interaction</span> | |
| </div> | |
| <div class="tile"> | |
| <span class="tile-main">Creative Writing</span> | |
| <span class="tile-sub">Atmospheric fiction</span> | |
| </div> | |
| </div> | |
| </section> | |
| <div class="divider"></div> | |
| <div class="wave"> | |
| <svg viewBox="0 0 1200 55" preserveAspectRatio="none"> | |
| <path d="M0,26 C240,55 420,5 650,26 C870,50 1050,8 1200,26 L1200,55 L0,55 Z" fill="#00f0ff" opacity="0.18"/> | |
| <path d="M0,30 C300,52 500,8 750,30 C950,48 1100,12 1200,30 L1200,55 L0,55 Z" fill="#00d4ff" opacity="0.12"/> | |
| </svg> | |
| </div> | |
| </section> | |
| <style> | |
| .container { | |
| --bg: #0f1f4a; | |
| --panel: #1a2f6b; | |
| --glass: rgba(255,255,255,0.06); | |
| --text: #f0f9ff; | |
| --text-soft: rgba(240,249,255,0.7); | |
| --accent: #00f0ff; | |
| --accent2: #00d4ff; | |
| --grad: linear-gradient(90deg, #00f0ff, #40e0ff, #ffffff); | |
| position: relative; | |
| overflow: hidden; | |
| max-width: 1100px; | |
| margin: 50px auto; | |
| padding: 52px 50px; | |
| border-radius: 24px; | |
| background: | |
| radial-gradient(circle at 20% 10%, rgba(0,240,255,0.18), transparent 45%), | |
| radial-gradient(circle at 80% 90%, rgba(0,212,255,0.12), transparent 50%), | |
| linear-gradient(180deg, #0f1f4a 0%, #162a5e 100%); | |
| color: var(--text); | |
| font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; | |
| display: flex; | |
| flex-direction: column; | |
| gap: 42px; | |
| } | |
| .starfield { | |
| position: absolute; | |
| inset: 0; | |
| pointer-events: none; | |
| z-index: 0; | |
| background: transparent; | |
| box-shadow: | |
| 80px 60px 0 1.5px #00f0ff, | |
| 180px 140px 0 2px rgba(255,255,255,0.9), | |
| 320px 40px 0 1.5px #00d4ff, | |
| 410px 190px 0 2px rgba(255,255,255,0.75), | |
| 520px 95px 0 1.5px #00f0ff, | |
| 640px 210px 0 2px rgba(255,255,255,0.8), | |
| 760px 55px 0 1.5px #00d4ff, | |
| 880px 165px 0 2px rgba(255,255,255,0.7), | |
| 980px 110px 0 1.5px #00f0ff, | |
| 110px 280px 0 2px rgba(255,255,255,0.85), | |
| 290px 320px 0 1.5px #00d4ff, | |
| 470px 260px 0 2px rgba(255,255,255,0.75), | |
| 650px 300px 0 1.5px #00f0ff, | |
| 830px 270px 0 2px rgba(255,255,255,0.8), | |
| 1010px 310px 0 1.5px #00d4ff; | |
| } | |
| .header { | |
| text-align: center; | |
| border-bottom: 1px solid rgba(255,255,255,0.1); | |
| padding-bottom: 18px; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .title { | |
| margin: 0; | |
| font-size: clamp(1.75rem, 4.5vw, 3rem); | |
| line-height: 1.1; | |
| font-weight: 900; | |
| letter-spacing: 0.08em; | |
| font-family: "Trebuchet MS", "Lucida Grande", "Arial Black", system-ui, sans-serif; | |
| background: var(--grad); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| -webkit-text-stroke: 1.8px rgba(0, 240, 255, 0.65); | |
| text-shadow: | |
| 0 0 10px rgba(0,240,255,0.6), | |
| 0 0 25px rgba(0,212,255,0.4), | |
| 0 4px 12px rgba(0,0,0,0.5); | |
| } | |
| .image-box { | |
| display: flex; | |
| justify-content: center; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .image-box img { | |
| width: 100%; | |
| max-width: 980px; | |
| border-radius: 20px; | |
| border: 2px solid rgba(0,240,255,0.25); | |
| box-shadow: | |
| 0 25px 70px rgba(0,0,0,0.65), | |
| 0 0 30px rgba(0,240,255,0.2); | |
| transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1), | |
| box-shadow 0.35s ease; | |
| } | |
| .image-box img:hover { | |
| transform: scale(1.018) translateY(-4px); | |
| box-shadow: | |
| 0 35px 90px rgba(0,0,0,0.7), | |
| 0 0 45px rgba(0,240,255,0.35); | |
| } | |
| .divider { | |
| height: 3px; | |
| width: 100%; | |
| background: var(--grad); | |
| opacity: 0.85; | |
| border-radius: 3px; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .card { | |
| background: var(--panel); | |
| padding: 30px 34px; | |
| border-radius: 20px; | |
| border: 1px solid rgba(0,240,255,0.15); | |
| box-shadow: | |
| 0 15px 40px rgba(0,0,0,0.5), | |
| inset 0 1px 0 rgba(255,255,255,0.08); | |
| position: relative; | |
| z-index: 1; | |
| transition: transform 0.2s ease, box-shadow 0.2s ease; | |
| } | |
| .card:hover { | |
| box-shadow: | |
| 0 20px 50px rgba(0,0,0,0.55), | |
| 0 0 25px rgba(0,240,255,0.15); | |
| } | |
| .card-title { | |
| margin: 0 0 16px; | |
| font-size: 1.3rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.1em; | |
| font-weight: 700; | |
| background: var(--grad); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| text-shadow: 0 0 12px rgba(0,240,255,0.4); | |
| } | |
| .card p { | |
| margin: 12px 0; | |
| line-height: 1.8; | |
| } | |
| .highlight { | |
| color: #00f0ff; | |
| font-weight: 800; | |
| text-shadow: 0 0 8px rgba(0,240,255,0.5); | |
| } | |
| .link { | |
| color: #00d4ff; | |
| text-decoration: none; | |
| font-weight: 600; | |
| transition: all 0.2s ease; | |
| } | |
| .link:hover { | |
| color: #ffffff; | |
| text-shadow: 0 0 10px #00d4ff; | |
| } | |
| .config { | |
| margin-top: 22px; | |
| border: 1px solid rgba(0,240,255,0.2); | |
| border-radius: 14px; | |
| overflow: hidden; | |
| background: rgba(0,0,0,0.35); | |
| } | |
| .config summary { | |
| padding: 13px 18px; | |
| cursor: pointer; | |
| font-size: 0.85rem; | |
| font-weight: 700; | |
| letter-spacing: 0.09em; | |
| text-transform: uppercase; | |
| background: rgba(0,240,255,0.1); | |
| color: #00f0ff; | |
| transition: background 0.2s ease; | |
| } | |
| .config summary:hover { | |
| background: rgba(0,212,255,0.15); | |
| } | |
| .config pre { | |
| margin: 0; | |
| padding: 18px; | |
| font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; | |
| font-size: 0.85rem; | |
| line-height: 1.55; | |
| overflow-x: auto; | |
| background: rgba(0,0,0,0.45); | |
| color: #e0f2fe; | |
| border-top: 1px solid rgba(0,240,255,0.15); | |
| } | |
| .grid { | |
| display: flex; | |
| gap: 18px; | |
| flex-wrap: wrap; | |
| margin-top: 18px; | |
| } | |
| .tile { | |
| flex: 1 1 180px; | |
| padding: 22px 18px; | |
| border-radius: 16px; | |
| background: rgba(255,255,255,0.05); | |
| border: 1px solid rgba(0,240,255,0.2); | |
| text-align: center; | |
| transition: all 0.3s cubic-bezier(0.23, 1.0, 0.32, 1); | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .tile::before { | |
| content: ''; | |
| position: absolute; | |
| top: -50%; | |
| left: -50%; | |
| width: 200%; | |
| height: 200%; | |
| background: linear-gradient( | |
| 45deg, | |
| transparent, | |
| rgba(0,240,255,0.15), | |
| transparent | |
| ); | |
| transform: translateX(-100%); | |
| transition: transform 0.6s; | |
| } | |
| .tile:hover::before { | |
| transform: translateX(100%); | |
| } | |
| .tile:hover { | |
| transform: translateY(-8px) scale(1.02); | |
| border-color: #00f0ff; | |
| box-shadow: | |
| 0 20px 40px rgba(0,0,0,0.5), | |
| 0 0 25px rgba(0,240,255,0.35); | |
| background: rgba(0,240,255,0.08); | |
| } | |
| .tile-main { | |
| display: block; | |
| font-weight: 800; | |
| letter-spacing: 0.09em; | |
| text-transform: uppercase; | |
| color: #00f0ff; | |
| margin-bottom: 6px; | |
| font-size: 0.97rem; | |
| text-shadow: 0 0 8px rgba(0,240,255,0.4); | |
| } | |
| .tile-sub { | |
| font-size: 0.92rem; | |
| color: var(--text-soft); | |
| line-height: 1.5; | |
| } | |
| .wave { | |
| position: absolute; | |
| bottom: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 55px; | |
| z-index: 0; | |
| pointer-events: none; | |
| opacity: 0.95; | |
| } | |
| @media (max-width: 640px) { | |
| .container { | |
| padding: 34px 24px; | |
| margin: 30px 16px; | |
| } | |
| .card { | |
| padding: 24px 22px; | |
| } | |
| .grid { | |
| gap: 14px; | |
| } | |
| .title { | |
| -webkit-text-stroke: 1.4px rgba(0, 240, 255, 0.6); | |
| } | |
| } | |
| </style> |