Canonical clean: M_full QA, A/B-balanced eval view, stratified 7 scenes, judge ON.
<think>...</think>
[Answer]
<episodic_memory>...</episodic_memory>
<semantic_memory>...</semantic_memory>
1import torch
2from peft import PeftModel
3from transformers import AutoProcessor, BitsAndBytesConfig, AutoModelForVision2Seq
4
5base_id = "Qwen/Qwen2.5-VL-3B-Instruct"
6adapter_id = "abcasas/vigia-sft-no-turn-n600"
7
8bnb = BitsAndBytesConfig(
9 load_in_4bit=True,
10 bnb_4bit_compute_dtype=torch.bfloat16,
11 bnb_4bit_use_double_quant=True,
12 bnb_4bit_quant_type="nf4",
13)
14model = AutoModelForVision2Seq.from_pretrained(
15 base_id, device_map="auto", quantization_config=bnb, torch_dtype=torch.bfloat16
16)
17model = PeftModel.from_pretrained(model, adapter_id)
18processor = AutoProcessor.from_pretrained(
19 base_id, min_pixels=256*256, max_pixels=448*448, use_fast=True
20)
21processor.tokenizer.padding_side = "left"
22
23# Prefer the package control loop for no_turn (16 frames, max_tool_turns=0):
24# from vigia_sft_no_turn import ExperimentConfig
25# from vigia_sft_no_turn.control_loop import run_control_loop
26# traj, resp, _ = run_control_loop(example, model, processor, agent_mode="no_turn", max_tool_turns=0, ...)
Placeholder for thesis / article — update before publication.