/ Модель

Характеристики

Размер весов
8,6 ГБ
Лицензия
Gemma
Архитектура
gemma3 · dense
Базовая модель
gemma-3-4b-it
Библиотека
transformers
Опубликована
13 янв 2026

arabic-legal-documents-ocr-1.0

Изображение и текст → текст4 профессии

LoRA-адаптер Gemma 3 4B IT для распознавания сканов арабских юридических документов и извлечения структурированных данных.

345скачиваний за 30 дней49лайковвеса обновлены4 фев 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Изображение → текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Arabic Legal Documents OCR 1.0 — адаптер, дообученный автором карточки на базе мультимодальной Gemma 3 4B IT от Google для извлечения структурированных данных из сканированных арабских юридических документов, в том числе низкого качества. Модель принимает изображения документов и формирует текстовый ответ со структурированными данными; для повышения качества распознавания автор рекомендует предварительно изменить размер изображения и перевести его в оттенки серого.

Модель построена на архитектуре Gemma 3 и распространяется как LoRA-адаптер для базовой модели google/gemma-3-4b-it. Карточка описывает использование через Transformers и vLLM. Поддерживаемые языки по метаданным — арабский и английский; язык документов, для которых она специально оптимизирована, — арабский. Лицензия указана как gemma.

Модель ориентирована на OCR юридических документов и извлечение из них структурированных сведений. Карточка не приводит оценки качества, перечень поддерживаемых типов документов или схему выходных полей; результаты могут зависеть от качества скана и предварительной обработки.

Сценарии применения

  • извлечение сведений из сканов арабских юридических документов
  • распознавание текста на низкокачественных сканах юридических бумаг
  • преобразование изображений юридических документов в структурированные текстовые данные

Ограничения

Для лучших результатов автор рекомендует предварительно изменить размер изображения и преобразовать его в оттенки серого. В карточке не приведены численные оценки качества и подробная схема извлекаемых полей.

Для каких профессий подходит4

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Arabic Legal Documents OCR 1.0 (VLM Finetuned)

Watch the Full 3.5-Hour Masterclass on YouTube

This model is a finetuned version of Gemma-3-4B-IT, optimized for extracting structured data from low-quality, scanned Arabic legal documents using Vision Language Model reasoning.

🛠 Installation

Depending on your usage (Local Inference vs. Production Serving), install the required packages:

For Transformers (Local Inference)

pip install transformers==4.57.6 optimum==1.26.0 accelerate==1.8.0 peft==0.17.0 json-repair PIL

For vLLM (High-Performance Serving)

!pip install -q transformers==4.57.6
!pip install -q optimum==1.26.0
!pip install -q datasets==4.4.0

!pip install -q torch==2.8.0
!pip install -q torchvision==0.23
!pip install -q torchaudio==2.8.0

!pip install -q vllm==0.15.0
!pip install json-repair


🖼 Mandatory Image Preprocessing

To achieve the best OCR results, images must be preprocessed (resized and converted to grayscale) before being sent to the model. Below are the utility functions for both standard PIL usage and Base64 (vLLM/OpenAI API).

import base64
from io import BytesIO
from PIL import Image, ImageEnhance

def preprocess_image(image_path, max_width=1024, do_enhance=True, return_base64=False):
    image = Image.open(image_path)
    
    # 1. Convert to grayscale
    gray_image = image.convert('L')
    
    # 2. Resize maintaining aspect ratio
    if gray_image.width > max_width:
        ratio = max_width / float(gray_image.width)
        new_height = int(gray_image.height * ratio)
        gray_image = gray_image.resize((max_width, new_height), Image.LANCZOS)

    # 3. Enhance contrast
    if do_enhance:
        enhancer = ImageEnhance.Contrast(gray_image)
        gray_image = enhancer.enhance(1.5)

    if return_base64:
        buffered = BytesIO()
        gray_image.save(buffered, format="JPEG", optimize=True, quality=95)
        img_str = base64.b64encode(buffered.getvalue()).decode('utf-8')
        return f"data:image/jpeg;base64,{img_str}"
    
    return gray_image


🚀 Usage Examples

1. Using Transformers & json-repair

import json_repair
from transformers import AutoProcessor, Gemma3ForConditionalGeneration

model_id = "bakrianoo/arabic-legal-documents-ocr-1.0"
model = Gemma3ForConditionalGeneration.from_pretrained(model_id, device_map="auto", torch_dtype=torch.bfloat16)
processor = AutoProcessor.from_pretrained(model_id)

# Preprocess image first
processed_img = preprocess_image("document.jpg", return_base64=False)

messages = [
    {"role": "user", "content": [{"type": "image", "image": processed_img}, {"type": "text", "text": "Extract details to JSON."}]}
]

inputs = processor.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
output = model.generate(**inputs, max_new_tokens=2048)
raw_text = processor.decode(output[0], skip_special_tokens=True)

# Fix and parse JSON output
json_data = json_repair.loads(raw_text)
print(json_data)

2. Using vLLM API

Run vLLM server

vllm serve "bakrianoo/arabic-legal-documents-ocr-1.0" \
--dtype bfloat16 --gpu_memory_utilization 0.8 \
--enable-chunked-prefill \
--allowed-local-media-path "/workspace/"

Inference

from openai import OpenAI
import json_repair

client = OpenAI(api_key="any", base_url="http://localhost:8000/v1")

# Preprocess to Base64
b64_image = preprocess_image("document.jpg", return_base64=True)

response = client.chat.completions.create(
    model="bakrianoo/arabic-legal-documents-ocr-1.0",
    messages=[{"role": "user", "content": [
        {"type": "image_url", "image_url": {"url": b64_image}},
        {"type": "text", "text": "Extract details to JSON."}
    ]}]
)

# Robust parsing
structured_output = json_repair.loads(response.choices[0].message.content)


📺 Full Tutorial

Watch the detailed walkthrough on YouTube to understand the training pipeline: VLM Finetuning for OCR Tasks

Resource

LoRA Adapter: https://huggingface.co/bakrianoo/arabic-legal-documents-ocr-1.0/tree/main/checkpoints

Data: https://huggingface.co/bakrianoo/arabic-legal-documents-ocr-1.0/tree/main/data

Scripts: https://huggingface.co/bakrianoo/arabic-legal-documents-ocr-1.0/tree/main/scripts

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Можно запустить

Подбираем GPU…

Класс архитектуры
Gemma3ForConditionalGeneration
Ревизия весов
9eb86fb

0 моделей