/ Модель

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

Контекст
262 144 токена
Параметры
3,4 млрд
Лицензия
Apache 2.0
Архитектура
qwen3_5_text · dense
Базовая модель
Qwen3.5-4B
Библиотека
transformers
Опубликована
21 сен 2026

distil-qwen3.5-4b-invoice-decision

Генерация текстаТекст → текст3 профессии

Дообученная Qwen3.5-4B, которая проверяет счета поставщиков по заказу и подтверждению приёмки и решает, одобрить оплату или приостановить её.

623скачиваний за 30 дней0лайковвеса обновлены27 сен 2026

Бенчмарки

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

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

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

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

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

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

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

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

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

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

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

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

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

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

Distil-Qwen3.5-4B-Invoice-Decision — дообученная командами distil labs версия Qwen3.5-4B для принятия решений по счетам поставщиков. Она сопоставляет данные счёта, заказа на закупку и подтверждения приёмки, проверяет их по заданной политике и выдаёт одно из пяти решений: оплатить или приостановить оплату с указанием причины. Модель основана на плотной архитектуре Qwen3_5ForCausalLM, содержит 3,4 млрд параметров и имеет контекст 262 144 токена. При обучении использовано 4 156 синтетических примеров, созданных учительской моделью GLM 5.3 на основе 40 исходных примеров. Для пошагового рассуждения авторы рекомендуют включать режим thinking; модель также поддерживает чатовый режим.

В тесте на 100 счетах модель приняла 98 правильных решений; ошибки возникли при суммировании строк с крупными суммами. Она предназначена для проверки счетов по одной конкретной политике, а не для роли универсального помощника. Обучающие данные написаны на английском языке для вымышленной компании и используют одну валюту, поэтому перенос на другие политики, языки и валюты не подтверждён. Лицензия — Apache-2.0.

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

  • Проверка счёта поставщика на соответствие заказу на закупку
  • Сверка счёта с подтверждением приёмки товаров
  • Выявление ошибок в итоговой сумме счёта
  • Решение об одобрении или приостановке оплаты по заданной политике

Ограничения

Модель обучена на синтетических англоязычных данных для одной политики вымышленной компании и одной валюты, поэтому её пригодность для других языков, валют и правил не подтверждена. В тесте допущены две ошибки при суммировании строк счёта.

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

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

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

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

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

Открыть на Hugging Face

Distil-Qwen3.5-4B-Invoice-Decision

A fine-tuned Qwen3.5-4B that reads a vendor invoice, the purchase order and the goods receipt, reasons through four checks, and answers pay or hold with one of five decisions. It is step 2a of the invoice processing pipeline: the decision-only variant, built to compare a model that reasons with Jev on an output Jev can produce. The pipeline itself uses the grounded decision model.

Trained on the distil labs platform from 40 seed examples: a teacher model (GLM 5.3 with reasoning) generated 4,156 synthetic training examples, and the student was fine-tuned on them. GGUF build for llama.cpp: distil-labs/distil-qwen3.5-4b-invoice-decision-gguf.

Results

ModelCorrect decisions (100 test invoices)
This model98
Qwen3.5-4B untuned, thinking on, same promptLLM-as-a-judge 0.41
Jev, average of three setups (84, 77, 75)79
GPT-5.6 Luna, reasoning high100
GLM 5.3, reasoning high (the teacher)96
GPT-5.6 Luna, reasoning off81
Gemini 3.5 Flash Lite76

The test set has 32 invoices to approve (20 of them near misses, such as a price 1.8% above the PO price), 60 that fail one check and 8 that fail two. Models that answer in one pass score 75 to 84; this model reasons first and catches all 16 wrong totals. Both of its errors are slips in the running sum on line totals in the thousands.

How it was scored, all baselines, and the raw outputs: https://github.com/distil-labs/invoice-processing-pipeline.

How to use it

The model was trained to reason before it answers, in a short fixed format (the checks in policy order, one line per invoice line, a running sum, stop at the first failure; median 272.5 tokens on the test set). Serve it with thinking on: chat_template_kwargs: {"enable_thinking": true}. The answer follows the reasoning.

Serve it behind an OpenAI-compatible endpoint:

vllm serve distil-labs/distil-qwen3.5-4b-invoice-decision --port 8001

Call it with the system prompt it was trained with, at temperature 0:

from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:8001/v1", api_key="EMPTY")
response = client.chat.completions.create(
    model="model",
    messages=[{"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": text}],
    temperature=0,
    extra_body={"chat_template_kwargs": {"enable_thinking": True}},
)

Example answer:

{"decision": "hold_price"}

The model degrades outside its training setup, so keep the system prompt exactly as below. The pipeline repo loads it from training/decider/job_description.json and shows the input format.

You check vendor invoices for the accounts payable team of Northwind before they are paid.

You receive three documents: the invoice message as it arrived by email, the purchase order (PO) from the ERP, and the goods receipt from the ERP. Invoice lines can be in a different order than the PO lines and can use the vendor's own item names or abbreviations, so match each invoice line to its PO line by item. Amounts in the message that are not part of this invoice (a previous balance, a payment received, a quote) are ignored.

Run these checks in order and stop at the first one that fails:
1. The PO number referenced on the invoice is exactly the number of the PO. If not: hold_no_po.
2. On every invoice line, the invoiced quantity is not more than the received quantity of that item. If not: hold_quantity.
3. On every invoice line, the invoiced unit price is not more than 2% above the PO unit price of that item. A lower price is fine. If not: hold_price.
4. The total stated on the invoice equals the sum of the invoice line totals, plus the freight charge only if the PO says freight may be added by the vendor. If the PO says freight is not allowed, a freight charge must not be part of the total. If not: hold_total.
If every check passes: approve.

Answer with a JSON object and nothing else: {"decision": "<label>"}, where <label> is one of approve, hold_no_po, hold_quantity, hold_price, hold_total.

Training

Base modelQwen/Qwen3.5-4B
TeacherGLM 5.3, reasoning effort high
Task typequestion answering with JSON output
Seed examples40
Synthetic examples4,156
MethodLoRA (rank 64), 4 epochs, merged weights

Seed data, test set, job description and config: training/decider.

Limits

The data is synthetic, written for this demo around a fictional company, in English, with amounts in one currency. The model is trained for this one task and this one policy; it is not a general assistant.

Links

distil labs · GitHub · Hugging Face · LinkedIn · Slack · X

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Qwen3_5ForCausalLM
Ревизия весов
938069d

0 моделей