Image-Text-to-Text
Transformers
Safetensors
RWKV
English
modrwkv
rwkv7
vision-language
multimodal
custom-code
conversational
custom_code
Instructions to use ZoomFly/rwkv-vl-1.5v100m-finevisionmax with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ZoomFly/rwkv-vl-1.5v100m-finevisionmax with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="ZoomFly/rwkv-vl-1.5v100m-finevisionmax", trust_remote_code=True) 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 AutoModelForImageTextToText model = AutoModelForImageTextToText.from_pretrained("ZoomFly/rwkv-vl-1.5v100m-finevisionmax", trust_remote_code=True, device_map="auto") - RWKV
How to use ZoomFly/rwkv-vl-1.5v100m-finevisionmax with RWKV:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use ZoomFly/rwkv-vl-1.5v100m-finevisionmax with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "ZoomFly/rwkv-vl-1.5v100m-finevisionmax" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "ZoomFly/rwkv-vl-1.5v100m-finevisionmax", "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/ZoomFly/rwkv-vl-1.5v100m-finevisionmax
- SGLang
How to use ZoomFly/rwkv-vl-1.5v100m-finevisionmax 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 "ZoomFly/rwkv-vl-1.5v100m-finevisionmax" \ --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": "ZoomFly/rwkv-vl-1.5v100m-finevisionmax", "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 "ZoomFly/rwkv-vl-1.5v100m-finevisionmax" \ --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": "ZoomFly/rwkv-vl-1.5v100m-finevisionmax", "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 ZoomFly/rwkv-vl-1.5v100m-finevisionmax with Docker Model Runner:
docker model run hf.co/ZoomFly/rwkv-vl-1.5v100m-finevisionmax
RWKV-VL 1.5B-v100M FineVisionMax
Evaluation
Evaluated with lmms-eval commit 8e2e7026, greedy decoding, and no dataset limit. TextVQA uses the 500-example textvqa_val_lite configuration; the other benchmarks use their complete test sets.
| Benchmark | Metric | Samples | Score |
|---|---|---|---|
| AI2D | Exact match | 3,088 | 57.38% |
| ChartQA | Relaxed overall | 2,500 | 74.80% |
| ChartQA Human | Relaxed accuracy | 1,250 | 57.92% |
| ChartQA Augmented | Relaxed accuracy | 1,250 | 91.68% |
| MME | Cognition | 260 | 377.50 |
| MME | Perception | 2,114 | 1258.31 |
| MME | Total | 2,374 | 1635.81 |
| TextVQA Val Lite | VQA consensus | 500 | 71.30% |
MME values are category-aggregated point totals rather than percentages.
Quick Start
The model uses custom code and Flash Linear Attention. Install a PyTorch build compatible with your CUDA environment, then install:
pip install "transformers==5.8.0" "accelerate==1.13.0" \
"flash-linear-attention==0.5.0" pillow
import torch
from transformers import AutoModelForImageTextToText, AutoProcessor
model_id = "ZoomFly/rwkv-vl-1.5v100m-finevisionmax"
processor = AutoProcessor.from_pretrained(
model_id,
trust_remote_code=True,
)
model = AutoModelForImageTextToText.from_pretrained(
model_id,
trust_remote_code=True,
dtype=torch.bfloat16,
device_map="auto",
).eval()
messages = [
{
"role": "user",
"content": [
{
"type": "image",
"image": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg",
},
{"type": "text", "text": "Describe this image."},
],
}
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.inference_mode():
output_ids = model.generate(
**inputs,
max_new_tokens=256,
do_sample=False,
)
generated_ids = output_ids[:, inputs.input_ids.shape[1] :]
answer = processor.batch_decode(
generated_ids,
skip_special_tokens=True,
clean_up_tokenization_spaces=False,
)[0]
print(answer)
Model Configuration
| Setting | Value |
|---|---|
| Parameters | 1,653,177,600 |
| Weight dtype | BF16 |
| Context length | 8,192 |
| Vocabulary size | 65,536 |
| Image pixel budget | 65,536 to 3,145,728 pixels per sample |
| BOS / PAD token ID | 0 |
| EOS token IDs | 10060 and 0 |
Notes
trust_remote_code=Trueis required. Review the bundled Python files before loading code from an untrusted source.- The model may emit an empty
<think>...</think>block before its final answer. - This is a research checkpoint and can make visual-reading, counting, and arithmetic errors.
- AI2D is an in-domain benchmark for this checkpoint. TextVQA Val Lite is not comparable to evaluations on the full TextVQA validation set.
- The publisher should review and add the appropriate model and data licenses before public release.
- Downloads last month
- 26