Instructions to use ut-amrl/foresight-qwen3vl-2b-sft with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ut-amrl/foresight-qwen3vl-2b-sft with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="ut-amrl/foresight-qwen3vl-2b-sft") 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("ut-amrl/foresight-qwen3vl-2b-sft") model = AutoModelForMultimodalLM.from_pretrained("ut-amrl/foresight-qwen3vl-2b-sft", device_map="auto") 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 ut-amrl/foresight-qwen3vl-2b-sft with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ut-amrl/foresight-qwen3vl-2b-sft" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ut-amrl/foresight-qwen3vl-2b-sft", "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/ut-amrl/foresight-qwen3vl-2b-sft
- SGLang
How to use ut-amrl/foresight-qwen3vl-2b-sft 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 "ut-amrl/foresight-qwen3vl-2b-sft" \ --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": "ut-amrl/foresight-qwen3vl-2b-sft", "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 "ut-amrl/foresight-qwen3vl-2b-sft" \ --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": "ut-amrl/foresight-qwen3vl-2b-sft", "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 ut-amrl/foresight-qwen3vl-2b-sft with Docker Model Runner:
docker model run hf.co/ut-amrl/foresight-qwen3vl-2b-sft
Foresight — Qwen3-VL-2B SFT
The supervised fine-tuned vision-language model behind Foresight, a navigation policy that iteratively discovers instruction-relevant visual clues and refines its motion plans for open-world navigation.
- Project page: https://amrl.cs.utexas.edu/foresight/
- Paper: https://amrl.cs.utexas.edu/foresight/static/pdfs/ForesightPreprint.pdf
What this checkpoint does
Given a natural-language goal and a short history of RGB observations, the model proposes an image-space trajectory and critiques its own proposal. Motion planning and critique were co-trained into this single checkpoint, so both roles are served by one vLLM engine at deployment time.
Converting the accepted plan into metric BEV waypoints is handled by a separate grounding policy, which is not part of this repository.
Usage
The deployment stack loads this model through vLLM by repo ID. In
legged_deployment/config/vllm_server_sft.yaml:
model_overrides:
vlm:
provider_kwargs:
model: "ut-amrl/foresight-qwen3vl-2b-sft"
It also loads directly with transformers:
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration
model = Qwen3VLForConditionalGeneration.from_pretrained(
"ut-amrl/foresight-qwen3vl-2b-sft", dtype="bfloat16", device_map="auto"
)
processor = AutoProcessor.from_pretrained("ut-amrl/foresight-qwen3vl-2b-sft")
Prompts are constructed by the Foresight codebase; see https://github.com/ut-amrl/foresight_public for the runnable deployment stack.
Training
Fine-tuned from Qwen/Qwen3-VL-2B-Instruct with LoRA (rank 64, alpha 64) applied to
all linear projections in both the language and vision towers. The adapter has been
merged into the base weights, so no PEFT dependency is needed at inference.
Weights are bfloat16.
Citation
@article{zhang2026foresight,
title={Foresight: Iterative Reasoning About Clues that Matter for Navigation},
author={Zhang, Arthur and Qi, Carl and Su, Donne and Meng, Xiangyun and Zhang, Amy and Biswas, Joydeep},
journal={arXiv preprint arXiv:2606.12550},
year={2026}
}
- Downloads last month
- 8
Model tree for ut-amrl/foresight-qwen3vl-2b-sft
Base model
Qwen/Qwen3-VL-2B-Instruct