Fara-7B / README.md
HaoranLiu's picture
Add model card: config-only rope_theta fix over microsoft/Fara-7B
f55c6fe verified
|
Raw History Blame Contribute Delete
2.04 kB
metadata
base_model: microsoft/Fara-7B
license: mit
pipeline_tag: image-text-to-text
tags:
  - qwen2_5_vl
  - computer-use
  - web-agent

cua-lite/Fara-7B

A config-only fix of microsoft/Fara-7B. The model weights are identical to the upstream release — only config.json is changed to make the model load under transformers v5 + SGLang.

What changed

microsoft/Fara-7B ships a transformers-4.x config.json where rope_theta and rope_scaling are separate top-level fields. Under transformers v5 (the "untangle config" refactor), SGLang reads RoPE parameters via the computed config.rope_parameters property and passes the top-level Qwen2_5_VLConfig (not text_config) into Qwen2Model. For that top-level config, rope_parameters returns rope_scaling without folding in rope_theta, so SGLang's get_rope_config hits rope_params["rope_theta"] and dies at load:

KeyError: 'rope_theta'

This fork folds rope_theta into rope_scaling (at both the top level and in text_config) so rope_parameters exposes it:

"rope_scaling": {
  "mrope_section": [16, 24, 24],
  "rope_type": "default",
  "type": "default",
  "rope_theta": 1000000.0
}

rope_theta is also kept as a top-level key for transformers-4.x backward compatibility. Nothing else is modified — tokenizer, preprocessor, chat template, and all safetensors shards are byte-identical to upstream.

Usage (SGLang)

python -m sglang.launch_server \
  --model-path cua-lite/Fara-7B \
  --host 0.0.0.0 --port 30088

Or, keeping microsoft/Fara-7B as the logical model id and only overriding the weights/config path:

python scripts/serve_sglang.py \
  --model-id microsoft/Fara-7B \
  --model-path cua-lite/Fara-7B \
  --port 30088

License & attribution

All rights, license, and model behavior follow the upstream model. See microsoft/Fara-7B for the model card, intended use, and limitations.