Artifact contents
adapter_model.safetensors — PEFT LoRA weights.
adapter_config.json — LoRA configuration and pinned base revision.
tokenizer.json, tokenizer_config.json, chat_template.jinja — tokenizer
artifacts saved with the training run.
prompt/triage-extraction-v2.1.1.txt — evaluated system prompt.
schema/triage-extraction-v2.json — strict structured-output contract.
gguf/crisisgraph-qwen3-4b-triage-lora-v3-f16.gguf — F16 LoRA adapter for
llama.cpp; it still requires a compatible Qwen3-4B-Instruct-2507 base GGUF.
release-manifest.json and SHA256SUMS — provenance and integrity data.
Base model
Table with columns: Field, Value| Field | Value |
|---|
| Base model | Qwen/Qwen3-4B-Instruct-2507 |
| Base revision | cdbee75f17c01a7cc42f958dc650907174af0554 |
| Relationship | PEFT LoRA adapter |
The base model is not redistributed in this repository.
Intended use
The adapter is intended for controlled experimentation with extraction of:
- victim or pickup location;
- headcount;
- explicitly requested response asset;
- named road hazards and reported duration;
- uncertainty and the need for human review.
The evaluated output is governed by the included prompt and JSON schema. Using
a different prompt, schema, decoding configuration, base revision, or adapter
scale is a different system configuration and is not covered by the reported
results.
Training
The adapter was trained with QLoRA on a Tesla T4 for two epochs.
Table with columns: Setting, Value| Setting | Value |
|---|
| Training examples | 300 |
| Validation examples | 72 |
| Data origin | AI-assisted synthetic scenarios |
| Maximum sequence length | 1,024 |
| LoRA rank / alpha | 16 / 32 |
| LoRA dropout | 0.05 |
| Target modules | All linear projection modules |
| Learning rate | 1e-4 |
| Micro-batch / gradient accumulation | 1 / 8 |
| Training runtime | 1,566.28 seconds |
The synthetic data covers clear, missing, contradictory, hazard, adversarial,
irrelevant, Malayalam, and Manglish cases. Records received an AI-assisted
first-pass semantic review. An independent second review was not completed, so
the data and adapter must not be described as independently reviewed.
Teacher-forced validation loss was 0.01027 and teacher-forced token accuracy
was 0.99685. Those training metrics are not extraction accuracy and do not
establish real-world generalization.
Frozen regression evaluation
The adapter was evaluated on the existing 120-case CrisisGraph regression suite
using prompt triage-extraction-v2.1.1, strict JSON-schema decoding,
temperature zero, and a Q4_K_M GGUF of the pinned base model through llama.cpp.
Table with columns: Metric, V3 result| Metric | V3 result |
|---|
| Schema validity | 100.0% |
| Critical-field accuracy | 94.0% |
| Exact match across five critical fields | 81.7% (98/120) |
| Raw human-review recall | 88.2% (60/68) |
| Raw human-review precision | 95.2% |
| Cases with evaluator-detected unsupported facts | 14.2% (17/120) |
| Inference errors | 0 |
This suite was used repeatedly during development and is not a blind holdout.
The adapter failed the predeclared clear-case exact-match gate with 18/20 rather
than the required 20/20. It produced eight review false negatives and three
review false positives. V3 is therefore the leading experimental CrisisGraph
adapter, not an unconditionally promoted model.
from transformers import AutoModelForCausalLM, AutoTokenizerfrom peft import PeftModel base_id = "Qwen/Qwen3-4B-Instruct-2507"base_revision = "cdbee75f17c01a7cc42f958dc650907174af0554"adapter_id = "antonyamal071/crisisgraph-qwen3-4b-triage-lora-v3" tokenizer = AutoTokenizer.from_pretrained(adapter_id)base = AutoModelForCausalLM.from_pretrained( base_id, revision=base_revision, torch_dtype="auto", device_map="auto",)model = PeftModel.from_pretrained(base, adapter_id)model.eval()
Use the included system prompt and JSON schema when reproducing the structured
extraction configuration.
Loading with llama.cpp
The GGUF file in gguf/ is an adapter, not a complete GGUF model:
llama-server \ --model /path/to/Qwen3-4B-Instruct-2507-Q4_K_M.gguf \ --lora /path/to/crisisgraph-qwen3-4b-triage-lora-v3-f16.gguf \ --port 8000
Use a compatible GGUF conversion of the same base model. Reproduction details
for the measured CPU run are available in the CrisisGraph repository.
Limitations
- Training and validation data are synthetic and narrowly task-specific.
- The regression suite is exposed, not a blind generalization test.
- Real Kerala emergency-call or field-report distributions were not available.
- Malayalam and Manglish coverage is limited and cannot represent all dialects,
spelling variation, code-switching, or operational language.
- The adapter may invent missing facts, choose one side of a contradiction, or
over-escalate a complete report.
- Model confidence values are task-policy labels, not calibrated probabilities.
- Structured-output validity does not imply semantic correctness.
Any downstream system should validate the schema, apply deterministic missing
and contradiction guards, preserve the raw report, record model provenance,
and require human authority for uncertain facts and operational hazards.
License
This adapter is released under Apache 2.0, consistent with the base model's
published license. Users must also review and comply with the base model's
terms and all laws and policies applicable to their deployment.