Instructions to use jankin123/gameplayer-ov2-8B-beta with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use jankin123/gameplayer-ov2-8B-beta with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="jankin123/gameplayer-ov2-8B-beta")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("jankin123/gameplayer-ov2-8B-beta", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use jankin123/gameplayer-ov2-8B-beta with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "jankin123/gameplayer-ov2-8B-beta" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "jankin123/gameplayer-ov2-8B-beta", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/jankin123/gameplayer-ov2-8B-beta
- SGLang
How to use jankin123/gameplayer-ov2-8B-beta 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 "jankin123/gameplayer-ov2-8B-beta" \ --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": "jankin123/gameplayer-ov2-8B-beta", "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 "jankin123/gameplayer-ov2-8B-beta" \ --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": "jankin123/gameplayer-ov2-8B-beta", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use jankin123/gameplayer-ov2-8B-beta with Docker Model Runner:
docker model run hf.co/jankin123/gameplayer-ov2-8B-beta
Gameplayer-OV2-8B
This package contains two standalone, complete BF16 LLaVA-OneVision-2 8B models. Each model loads directly from its own directory.
Background
models/general
general is the shared multi-game FPS model. It uses one set of weights across
different FPS environments and receives each environment's available controls
through the prompt capability manifest. It is the default model for new
cross-game inference.
models/specific
specific is the ViZDoom-focused model. It is intended for the established
ViZDoom scenarios and for reproducing the included qualitative examples.
Both models use the same compact action-chunk interface:
<p>m=<mode> t=<target> h=<8|12|24> i=<interrupt></p>
<a>k=<keys> x=<dx> y=<dy> l=<0|1> r=<0|1> m=<0|1></a>
...
<eoc>
Inference Scheme
Inference is synchronous and event-driven:
- Pause the complete game simulation at a decision boundary.
- Capture the latest causal RGB observation.
- Build a prompt containing the task and environment capability manifest.
- Generate one action chunk while the simulation remains paused.
- Parse and validate the complete chunk.
- Install the first validated action, acknowledge it, and resume simulation.
- Execute until the chunk expires or a perception event interrupts it.
- Pause again and request a new chunk.
The environment must not advance while the model is generating. This prevents the player from becoming unresponsive when model latency is high.
Inference Configuration
| Setting | general |
specific |
|---|---|---|
| Precision | BF16 | BF16 |
| Observation | Latest causal RGB frame | Latest causal RGB frame |
| Context | Latest round, one turn | Latest round, one turn |
| Plan contract | target_v1 |
target_v1 |
| Horizons | 8,12,24 |
8,12,24 |
| Scheduler | Single pass, event or expiry | Single pass, event or expiry |
| Sampling | Temperature 0, top-p 1 | Temperature 0, top-p 1 |
| Max new tokens | 640 | 640 |
| Action guard | Strict capability validation; optional format retry | Canonicalize recoverable syntax |
| Simulation during generation | Paused | Paused |
A compatible FPS runtime checkout must provide the codec/bitcost libraries,
game environments, OpenCV, ffmpeg, Transformers, and FlashAttention 2. Set
FORMAL to that runtime's formal experiment directory. The scripts use
$FORMAL/.venv-v31/bin/python by default; override PYTHON_BIN when needed.
Quick Start
Clone the model package, enter its root, and select the compatible runtime:
git clone https://huggingface.co/jankin123/gameplayer-ov2-8B-beta
cd gameplayer-ov2-8B-beta
export FORMAL=/path/to/formal-runtime
General model in ViZDoom
bash scripts/infer_vizdoom.sh general \
deadly_corridor.cfg 20273821 general_deadly
Disable the optional format retry when raw generation behavior is required:
FORMAT_RETRY=0 bash scripts/infer_vizdoom.sh general \
deadly_corridor.cfg 20273821 general_deadly_raw
Specific model in ViZDoom
bash scripts/infer_vizdoom.sh specific \
deadly_corridor.cfg 20271001 specific_deadly
The complete interface is:
infer_vizdoom.sh MODEL SCENARIOS SEEDS [TAG] [MAX_DECISIONS] [RECORD_DIR]
MODEL is general or specific. SCENARIOS and SEEDS accept
comma-separated lists. Results are written under outputs/vizdoom/.
General model in Red Eclipse
bash scripts/infer_redeclipse.sh 20269100 general_redeclipse
The complete interface is:
infer_redeclipse.sh [SEED_BASE] [TAG] [RUNS] [DECISIONS] [BOTS]
The default configuration uses one run, 64 decisions, four bots, and the
event_or_expiry scheduler. Results are written under
outputs/redeclipse/.
Reproduce the included ViZDoom examples
bash scripts/reproduce_specific_vizdoom_examples.sh
This runs the following deterministic settings without overwriting the bundled videos:
| Scenario | Seed |
|---|---|
deadly_corridor.cfg |
20271001 |
rocket_basic.cfg |
20271001 |
defend_the_line.cfg |
20271002 |
New videos are written to reproduced_specific_demos/<timestamp>/.
Encoded MP4 bytes may differ across ffmpeg versions; compare the scenario,
seed, action contract, game outcome, and synchronized clock configuration.
Included examples
demos/vizdoom/ours_v27_deadly_corridor_seed20271001_success.mp4
demos/vizdoom/ours_v27_rocket_basic_seed20271001_success.mp4
demos/vizdoom/ours_v27_defend_the_line_seed20271002_success.mp4
Verify the model shards and bundled demonstrations after download:
sha256sum -c SHA256SUMS