ModelVerdict

Mistral · otevřené váhy

Mistral Small 4

Jak Mistral Small 4 od Mistral zvládá skutečné firemní dokumenty: přesnost, skutečná cena, rychlost a kde chybuje.

Ceníková cena: 3,45 Kč za 1 mil. vstupních tokenů, 13,80 Kč za 1 mil. výstupních tokenů · mistralai/mistral-small-2603

Výsledky

Úloha · dokumentyPořadíSprávná poleDoklady bez chybyZa 1000 dokladůK opravě / 1000Rychlost (medián)Laťka
Klauzule ze smluv · čeština10/1099,0 %92 %5,22 Kč801,2 ssplní laťku
Klauzule ze smluv · angličtina (USA)10/1091,5 %43 %3,91 Kč5671,1 spod laťkou
Klauzule ze smluv · němčina10/1094,0 %45 %4,73 Kč5531,2 spod laťkou
Třídění e-mailů · čeština10/1087,7 %32 %2,71 Kč6850,8 spod laťkou
Třídění e-mailů · angličtina (USA)10/1089,7 %37 %2,18 Kč6270,8 spod laťkou
Třídění e-mailů · němčina10/1087,1 %29 %2,46 Kč7060,8 spod laťkou
Vytěžování faktur · čeština8/1093,6 %56 %10,06 Kč4402,0 spod laťkou
Vytěžování faktur · angličtina (USA)9/1095,6 %58 %9,37 Kč4201,8 ssplní laťku
Vytěžování faktur · němčina9/1094,6 %50 %10,04 Kč5002,0 spod laťkou
Vytěžování faktur · španělština9/1091,9 %31 %10,22 Kč6912,2 spod laťkou
Vytěžování faktur · francouzština8/1094,2 %50 %10,27 Kč5002,1 spod laťkou
Hledání osobních údajů · čeština8/1098,8 %92 %2,13 Kč810,9 ssplní laťku
Hledání osobních údajů · angličtina (USA)9/1099,4 %96 %1,78 Kč400,8 ssplní laťku
Hledání osobních údajů · němčina10/1099,1 %94 %2,07 Kč650,9 ssplní laťku

Kde chybuje

Pole, ve kterých chybuje nejčastěji, a druhy chyb, ze všech dokumentů benchmarku.

Klauzule ze smluv · čeština

Nejslabší pole

  • Poskytovatel95,3 %
  • Objednatel95,3 %
  • Účinnost od96,7 %

Druhy chyb (počet polí)

  • špatná hodnota16
  • prohozená data3

Klauzule ze smluv · angličtina (USA)

Nejslabší pole

  • Poskytovatel43,3 %
  • Objednatel46,7 %

Druhy chyb (počet polí)

  • špatná hodnota165

Klauzule ze smluv · němčina

Nejslabší pole

  • IČO poskytovatele62,4 %
  • IČO objednatele63,1 %
  • Poskytovatel98,6 %
  • Objednatel98,6 %

Druhy chyb (počet polí)

  • vymyšlená hodnota99
  • špatná hodnota11

Třídění e-mailů · čeština

Nejslabší pole

  • Priorita52,4 %
  • Termín69,8 %
  • Nálada72,5 %
  • Částka98,0 %

Druhy chyb (počet polí)

  • špatná hodnota115
  • vymyšlená hodnota44
  • chybí pole6

Třídění e-mailů · angličtina (USA)

Nejslabší pole

  • Priorita61,3 %
  • Nálada71,3 %
  • Termín76,0 %
  • Částka99,3 %

Druhy chyb (počet polí)

  • špatná hodnota103
  • vymyšlená hodnota34
  • chybí pole2

Třídění e-mailů · němčina

Nejslabší pole

  • Priorita55,2 %
  • Nálada65,0 %
  • Termín70,6 %
  • Částka96,5 %

Druhy chyb (počet polí)

  • špatná hodnota114
  • vymyšlená hodnota46
  • chybí pole6

Vytěžování faktur · čeština

Nejslabší pole

  • DUZP76,0 %
  • Základ podle sazeb90,0 %
  • Účet90,0 %
  • Dodavatel91,3 %

Druhy chyb (počet polí)

  • špatná hodnota59
  • vymyšlená hodnota57
  • ztracená diakritika4
  • prohozená data4

Vytěžování faktur · angličtina (USA)

Nejslabší pole

  • Základ podle sazeb72,0 %
  • Variabilní symbol / reference87,3 %
  • Datum vystavení97,3 %
  • Účet98,0 %

Druhy chyb (počet polí)

  • špatná sazba39
  • špatná hodnota20
  • vymyšlená hodnota13
  • prohozená data1

Vytěžování faktur · němčina

Nejslabší pole

  • IČO / ID dodavatele80,0 %
  • Variabilní symbol / reference87,1 %
  • DUZP87,9 %
  • Účet91,4 %

Druhy chyb (počet polí)

  • vymyšlená hodnota64
  • špatná hodnota22
  • chybí pole10
  • prohozená data2

Vytěžování faktur · španělština

Nejslabší pole

  • DIČ / VAT ID53,6 %
  • DUZP69,1 %
  • Variabilní symbol / reference88,1 %
  • Účet95,2 %

Druhy chyb (počet polí)

  • vymyšlená hodnota72
  • špatná hodnota12
  • prohozená data3
  • chybí pole1

Vytěžování faktur · francouzština

Nejslabší pole

  • Účet75,0 %
  • Variabilní symbol / reference85,5 %
  • DUZP92,1 %
  • IČO / ID dodavatele93,4 %

Druhy chyb (počet polí)

  • špatná hodnota33
  • vymyšlená hodnota23
  • prohozená data1

Hledání osobních údajů · čeština

Nejslabší pole

  • Jména94,0 %
  • Adresy98,7 %
  • Data narození98,7 %

Druhy chyb (počet polí)

  • vymyšlená hodnota8
  • chybí pole5

Hledání osobních údajů · angličtina (USA)

Nejslabší pole

  • Jména97,3 %
  • Adresy98,7 %

Druhy chyb (počet polí)

  • vymyšlená hodnota3
  • chybí pole3

Hledání osobních údajů · němčina

Nejslabší pole

  • Jména95,0 %
  • Adresy99,3 %
  • Bankovní účty99,3 %

Druhy chyb (počet polí)

  • vymyšlená hodnota7
  • chybí pole1
  • špatná hodnota1

Compliance

EU a ZDR: Mistral. Mistral ukládá data standardně v EU.

Jak compliance ověřujeme →

Použijte to hned

Přesně ten požadavek, který posílá benchmark (stejné zadání, JSON schéma, teplota 0), připravený pro volání Mistral Small 4 přes OpenRouter.

Klauzule ze smluv · čeština

Python · httpx · OpenRouter
import json
import os

import httpx

PROMPT = "Vytěžte klíčové podmínky smlouvy níže a vraťte pouze JSON s těmito klíči:\n\nprovider_name         strana, která plní (poskytovatel, prodávající, pronajímatel, zhotovitel),\n                      přesně jak je uvedena, včetně právní formy\nprovider_id           IČO této strany, pokud je uvedeno\nclient_name           strana, která platí (objednatel, kupující, nájemce, nabyvatel)\nclient_id             IČO této strany, pokud je uvedeno\ncontract_type         jedna z hodnot: services, supply, lease, license, maintenance\nprice                 sjednaná cena bez DPH (číslo)\ncurrency              kód měny podle ISO 4217 (CZK, EUR, USD, …)\nprice_period          jedna z hodnot: one_time, monthly, yearly\neffective_date        datum účinnosti smlouvy (YYYY-MM-DD)\nend_date              konec doby určité (YYYY-MM-DD); null, je-li smlouva na dobu neurčitou\nnotice_period_months  výpovědní lhůta v měsících (číslo); null, pokud žádná není\npenalty_pct_per_day   smluvní pokuta za prodlení s platbou v procentech dlužné částky za den\n                      (např. 0.05 pro 0,05 %); null, pokud žádná není\ngoverning_law         kód státu rozhodného práva podle ISO 3166 (např. CZ); státy USA jako US-XX\n\nPravidla:\n- Relativní data („dnem podpisu“, „prvním dnem následujícího měsíce“) přepočtěte vůči datu podpisu.\n- Datum podpisu není datum účinnosti, pokud to smlouva neříká.\n- Záloha, jistota a pevné pokuty za jiná porušení nejsou cena ani pokuta za prodlení s platbou.\n- Pokud hodnota ve smlouvě není, vraťte null. Nehádejte.\n- Částky jako čísla s desetinnou tečkou, bez oddělovačů tisíců a bez symbolu měny.\n"
SCHEMA = json.loads("{\"type\":\"object\",\"properties\":{\"provider_name\":{\"type\":[\"string\",\"null\"]},\"provider_id\":{\"type\":[\"string\",\"null\"]},\"client_name\":{\"type\":[\"string\",\"null\"]},\"client_id\":{\"type\":[\"string\",\"null\"]},\"contract_type\":{\"type\":[\"string\",\"null\"],\"enum\":[\"services\",\"supply\",\"lease\",\"license\",\"maintenance\",null]},\"price\":{\"type\":[\"number\",\"null\"]},\"currency\":{\"type\":[\"string\",\"null\"]},\"price_period\":{\"type\":[\"string\",\"null\"],\"enum\":[\"one_time\",\"monthly\",\"yearly\",null]},\"effective_date\":{\"type\":[\"string\",\"null\"],\"description\":\"YYYY-MM-DD\"},\"end_date\":{\"type\":[\"string\",\"null\"],\"description\":\"YYYY-MM-DD\"},\"notice_period_months\":{\"type\":[\"integer\",\"null\"]},\"penalty_pct_per_day\":{\"type\":[\"number\",\"null\"]},\"governing_law\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"provider_name\",\"provider_id\",\"client_name\",\"client_id\",\"contract_type\",\"price\",\"currency\",\"price_period\",\"effective_date\",\"end_date\",\"notice_period_months\",\"penalty_pct_per_day\",\"governing_law\"],\"additionalProperties\":false}")


def run(document_text: str) -> dict:
    """Text of the document in, the extracted fields as a dict out."""
    response = httpx.post(
        "https://openrouter.ai/api/v1/chat/completions",
        headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
        json={
            "model": "mistralai/mistral-small-2603",
            "temperature": 0,
            "messages": [{"role": "user", "content": f"{PROMPT}\n\n---\n{document_text}"}],
            # For a scan or photo, send [{"type": "text", "text": PROMPT},
            # {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}] instead.
            "response_format": {
                "type": "json_schema",
                "json_schema": {"name": "contracts", "strict": False, "schema": SCHEMA},
            },
        },
        timeout=120,
    )
    response.raise_for_status()
    return json.loads(response.json()["choices"][0]["message"]["content"])

Třídění e-mailů · čeština

Python · httpx · OpenRouter
import json
import os

import httpx

PROMPT = "Třídíte e-maily zákaznické podpory. Přečtěte si e-mail níže a vraťte pouze JSON s těmito klíči:\n\ncategory        jedna z hodnot: billing (faktury, platby, vyúčtování), delivery (kde je objednávka,\n                doprava, změna adresy), complaint (poškozené, chybné nebo vadné zboží, reklamace),\n                technical (přihlášení, chyby aplikace či systému, napojení), cancellation (zrušení\n                objednávky, výpověď smlouvy či předplatného), sales (poptávka, ceny, zájem před nákupem)\npriority        jedna z hodnot: urgent, high, normal, low (pravidla níže)\nsentiment       jedna z hodnot: positive, neutral, negative (tón zákazníka)\ncustomer_name   celé jméno zákazníka, který požadavek napsal\norder_number    číslo objednávky zákazníka, pokud je uvedeno\ninvoice_number  číslo faktury, pokud je uvedeno\namount          částka, které se požadavek týká (číslo)\ncurrency        kód měny té částky podle ISO 4217 (CZK, EUR, USD, …)\ndeadline        datum, do kdy zákazník chce vyřešení nebo odpověď (YYYY-MM-DD)\n\nPravidla priority:\n- urgent: zákazník teď nemůže pracovat, nebo je termín nejvýše 1 den po datu e-mailu\n- high: termín je nejvýše 7 dní po datu e-mailu, nebo zákazník hrozí ukončením spolupráce\n  či eskalací (právník)\n- low: zákazník výslovně píše, že to nespěchá\n- normal: vše ostatní\n\nPravidla:\n- Vlákno: hodnoťte nejnovější zprávu; čísla objednávek, faktur a částky mohou pocházet z citovaných\n  starších zpráv. Přeposlaný e-mail: zákazníkem je původní odesílatel, ne kolega, který ho přeposlal.\n- Relativní termíny („do pátku“, „zítra“, „do konce měsíce“) přepočtěte vůči datu zprávy,\n  která je uvádí.\n- Čísla tiketů podpory, IČO, DIČ a telefonní čísla nejsou čísla objednávek ani faktur.\n- Pokud hodnota v e-mailu není, vraťte null. Nehádejte.\n- Částky jako čísla s desetinnou tečkou, bez oddělovačů tisíců a bez symbolu měny.\n"
SCHEMA = json.loads("{\"type\":\"object\",\"properties\":{\"category\":{\"type\":[\"string\",\"null\"],\"enum\":[\"billing\",\"delivery\",\"complaint\",\"technical\",\"cancellation\",\"sales\",null]},\"priority\":{\"type\":[\"string\",\"null\"],\"enum\":[\"urgent\",\"high\",\"normal\",\"low\",null]},\"sentiment\":{\"type\":[\"string\",\"null\"],\"enum\":[\"positive\",\"neutral\",\"negative\",null]},\"customer_name\":{\"type\":[\"string\",\"null\"]},\"order_number\":{\"type\":[\"string\",\"null\"]},\"invoice_number\":{\"type\":[\"string\",\"null\"]},\"amount\":{\"type\":[\"number\",\"null\"]},\"currency\":{\"type\":[\"string\",\"null\"]},\"deadline\":{\"type\":[\"string\",\"null\"],\"description\":\"YYYY-MM-DD\"}},\"required\":[\"category\",\"priority\",\"sentiment\",\"customer_name\",\"order_number\",\"invoice_number\",\"amount\",\"currency\",\"deadline\"],\"additionalProperties\":false}")


def run(document_text: str) -> dict:
    """Text of the document in, the extracted fields as a dict out."""
    response = httpx.post(
        "https://openrouter.ai/api/v1/chat/completions",
        headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
        json={
            "model": "mistralai/mistral-small-2603",
            "temperature": 0,
            "messages": [{"role": "user", "content": f"{PROMPT}\n\n---\n{document_text}"}],
            # For a scan or photo, send [{"type": "text", "text": PROMPT},
            # {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}] instead.
            "response_format": {
                "type": "json_schema",
                "json_schema": {"name": "emails", "strict": False, "schema": SCHEMA},
            },
        },
        timeout=120,
    )
    response.raise_for_status()
    return json.loads(response.json()["choices"][0]["message"]["content"])

Vytěžování faktur · čeština

Python · httpx · OpenRouter
import json
import os

import httpx

PROMPT = "Z přiloženého dokladu vytěž údaje a vrať pouze JSON s těmito klíči:\n\nsupplier_name      název dodavatele (přesně jak je na dokladu, včetně diakritiky a právní formy)\nsupplier_id        IČO dodavatele\nvat_id             DIČ dodavatele\ninvoice_number     číslo dokladu\npayment_reference  variabilní symbol\nissue_date         datum vystavení (YYYY-MM-DD)\ntax_point_date     datum uskutečnění zdanitelného plnění, DUZP (YYYY-MM-DD)\ndue_date           datum splatnosti (YYYY-MM-DD)\nnet_by_rate        základ daně podle sazeb DPH, např. {\"21\": 18450.00, \"12\": 1200.00}\nvat_by_rate        DPH podle sazeb, např. {\"21\": 3874.50}\ntotal              celkem k úhradě (číslo, záporné u dobropisu)\ncurrency           měna podle ISO 4217 (CZK, EUR, …)\nbank_account       číslo účtu dodavatele (tvar předčíslí-číslo/kód banky) nebo IBAN\n\nPravidla:\n- Údaje odběratele nevracej, jen dodavatele.\n- Pokud údaj na dokladu není, vrať null. Nic si nedomýšlej.\n- Pokud doklad neobsahuje rozpis DPH (neplátce, zálohová faktura), vrať net_by_rate a vat_by_rate jako null.\n- Částky jako čísla s desetinnou tečkou, bez oddělovačů tisíců a bez měny.\n"
SCHEMA = json.loads("{\"type\":\"object\",\"properties\":{\"supplier_name\":{\"type\":[\"string\",\"null\"]},\"supplier_id\":{\"type\":[\"string\",\"null\"]},\"vat_id\":{\"type\":[\"string\",\"null\"]},\"invoice_number\":{\"type\":[\"string\",\"null\"]},\"payment_reference\":{\"type\":[\"string\",\"null\"]},\"issue_date\":{\"type\":[\"string\",\"null\"],\"description\":\"YYYY-MM-DD\"},\"tax_point_date\":{\"type\":[\"string\",\"null\"],\"description\":\"YYYY-MM-DD\"},\"due_date\":{\"type\":[\"string\",\"null\"],\"description\":\"YYYY-MM-DD\"},\"net_by_rate\":{\"type\":[\"object\",\"null\"],\"additionalProperties\":{\"type\":\"number\"}},\"vat_by_rate\":{\"type\":[\"object\",\"null\"],\"additionalProperties\":{\"type\":\"number\"}},\"total\":{\"type\":[\"number\",\"null\"]},\"currency\":{\"type\":[\"string\",\"null\"]},\"bank_account\":{\"type\":[\"string\",\"null\"]}},\"required\":[\"supplier_name\",\"supplier_id\",\"vat_id\",\"invoice_number\",\"payment_reference\",\"issue_date\",\"tax_point_date\",\"due_date\",\"net_by_rate\",\"vat_by_rate\",\"total\",\"currency\",\"bank_account\"],\"additionalProperties\":false}")


def run(document_text: str) -> dict:
    """Text of the document in, the extracted fields as a dict out."""
    response = httpx.post(
        "https://openrouter.ai/api/v1/chat/completions",
        headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
        json={
            "model": "mistralai/mistral-small-2603",
            "temperature": 0,
            "messages": [{"role": "user", "content": f"{PROMPT}\n\n---\n{document_text}"}],
            # For a scan or photo, send [{"type": "text", "text": PROMPT},
            # {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}] instead.
            "response_format": {
                "type": "json_schema",
                "json_schema": {"name": "invoices", "strict": False, "schema": SCHEMA},
            },
        },
        timeout=120,
    )
    response.raise_for_status()
    return json.loads(response.json()["choices"][0]["message"]["content"])

Hledání osobních údajů · čeština

Python · httpx · OpenRouter
import json
import os

import httpx

PROMPT = "Najděte v textu níže všechny osobní údaje fyzických osob (pro anonymizaci) a vraťte pouze JSON\ns těmito klíči, každý jako seznam řetězců (prázdný seznam, když žádný není):\n\nperson_names       celá jména osob, každou osobu jednou, jak jsou v textu\nemail_addresses    e-mailové adresy osob\nphone_numbers      telefonní čísla osob, jak jsou v textu\npostal_addresses   adresy bydliště nebo doručení osob, jak jsou v textu (ulice, obec, PSČ)\nbirth_dates        data narození (YYYY-MM-DD)\nnational_ids       národní identifikační čísla (např. rodné číslo, SSN)\nbank_accounts      čísla bankovních účtů osob, jak jsou v textu\n\nPravidla:\n- Jen údaje fyzických osob. Názvy firem, IČO, DIČ a jiná čísla firem, obecné firemní adresy jako\n  info@ nebo support@, čísla objednávek a tiketů nejsou osobní údaje: vynechte je.\n- Data, která nejsou datem narození (porady, dodání, nástup), nejsou osobní údaje.\n- Hodnoty nevymýšlejte ani nedoplňujte; opište je z textu.\n"
SCHEMA = json.loads("{\"type\":\"object\",\"properties\":{\"person_names\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"email_addresses\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"phone_numbers\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"postal_addresses\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"birth_dates\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"national_ids\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}},\"bank_accounts\":{\"type\":[\"array\",\"null\"],\"items\":{\"type\":\"string\"}}},\"required\":[\"person_names\",\"email_addresses\",\"phone_numbers\",\"postal_addresses\",\"birth_dates\",\"national_ids\",\"bank_accounts\"],\"additionalProperties\":false}")


def run(document_text: str) -> dict:
    """Text of the document in, the extracted fields as a dict out."""
    response = httpx.post(
        "https://openrouter.ai/api/v1/chat/completions",
        headers={"Authorization": f"Bearer {os.environ['OPENROUTER_API_KEY']}"},
        json={
            "model": "mistralai/mistral-small-2603",
            "temperature": 0,
            "messages": [{"role": "user", "content": f"{PROMPT}\n\n---\n{document_text}"}],
            # For a scan or photo, send [{"type": "text", "text": PROMPT},
            # {"type": "image_url", "image_url": {"url": "data:image/png;base64,..."}}] instead.
            "response_format": {
                "type": "json_schema",
                "json_schema": {"name": "pii", "strict": False, "schema": SCHEMA},
            },
        },
        timeout=120,
    )
    response.raise_for_status()
    return json.loads(response.json()["choices"][0]["message"]["content"])

Odznak

Vložte si aktuální výsledek na svůj web; odznak se aktualizuje s každým během.

<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/contracts-cs.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/contracts-en.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/contracts-de.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/emails-cs.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/emails-en.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/emails-de.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/invoices-cs.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/invoices-en.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/invoices-de.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/invoices-es.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/invoices-fr.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/pii-cs.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/pii-en.svg" alt="Mistral Small 4 on ModelVerdict"></a>
<a href="https://modelverdict.ai/cs/models/mistral-small-4/"><img src="https://modelverdict.ai/badge/mistral-small-4/pii-de.svg" alt="Mistral Small 4 on ModelVerdict"></a>

Porovnat s jiným modelem