Qwen
Qwen3.8 Flash
Jak Qwen3.8 Flash od Qwen 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ů, 10,81 Kč za 1 mil. výstupních tokenů · qwen/qwen3.8-flash
Výsledky
| Úloha · dokumenty | Pořadí | Správná pole | Doklady bez chyby | Za 1000 dokladů | K opravě / 1000 | Rychlost (medián) | Laťka |
|---|---|---|---|---|---|---|---|
| Klauzule ze smluv · čeština | 8/10 | 99,9 % | 99 % | 14,49 Kč | 13 | 13,6 s | splní laťku |
| Klauzule ze smluv · angličtina (USA) | 9/10 | 95,1 % | 69 % | 14,22 Kč | 307 | 14,1 s | splní laťku |
| Klauzule ze smluv · němčina | 6/10 | 98,0 % | 87 % | 17,94 Kč | 127 | 19,7 s | splní laťku |
| Třídění e-mailů · čeština | 3/10 | 98,5 % | 87 % | 10,24 Kč | 133 | 13,0 s | splní laťku |
| Třídění e-mailů · angličtina (USA) | 6/10 | 97,5 % | 79 % | 7,00 Kč | 213 | 8,9 s | splní laťku |
| Třídění e-mailů · němčina | 4/10 | 97,9 % | 81 % | 9,00 Kč | 187 | 12,1 s | splní laťku |
| Vytěžování faktur · čeština | 10/10 | 91,8 % | 77 % | 23,43 Kč | 233 | 17,0 s | pod laťkou |
| Vytěžování faktur · angličtina (USA) | 10/10 | 82,4 % | 57 % | 26,55 Kč | 427 | 17,4 s | pod laťkou |
| Vytěžování faktur · němčina | 10/10 | 93,5 % | 87 % | 25,73 Kč | 127 | 19,0 s | pod laťkou |
| Vytěžování faktur · španělština | 10/10 | 87,9 % | 74 % | 32,09 Kč | 260 | 22,3 s | pod laťkou |
| Vytěžování faktur · francouzština | 10/10 | 90,6 % | 82 % | 28,27 Kč | 180 | 19,8 s | pod laťkou |
| Hledání osobních údajů · čeština | 10/10 | 97,0 % | 89 % | 9,34 Kč | 113 | 9,6 s | splní laťku |
| Hledání osobních údajů · angličtina (USA) | 10/10 | 99,2 % | 99 % | 6,42 Kč | 13 | 7,5 s | splní laťku |
| Hledání osobních údajů · němčina | 9/10 | 99,6 % | 99 % | 8,25 Kč | 7 | 12,2 s | splní 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
- Typ smlouvy98,7 %
Druhy chyb (počet polí)
Klauzule ze smluv · angličtina (USA)
Nejslabší pole
- Poskytovatel69,3 %
- Objednatel69,3 %
- Účinnost od99,3 %
- Pokuta z prodlení (% denně)99,3 %
Druhy chyb (počet polí)
Klauzule ze smluv · němčina
Nejslabší pole
- Rozhodné právo91,3 %
- IČO poskytovatele94,7 %
- IČO objednatele94,7 %
- Poskytovatel99,3 %
Druhy chyb (počet polí)
Třídění e-mailů · čeština
Nejslabší pole
- Nálada88,7 %
- Priorita99,3 %
- Jméno zákazníka99,3 %
- Číslo objednávky99,3 %
Druhy chyb (počet polí)
Třídění e-mailů · angličtina (USA)
Nejslabší pole
- Nálada80,7 %
- Priorita97,3 %
- Termín99,3 %
Druhy chyb (počet polí)
Třídění e-mailů · němčina
Nejslabší pole
- Nálada84,7 %
- Priorita96,0 %
Druhy chyb (počet polí)
Vytěžování faktur · čeština
Nejslabší pole
- Základ podle sazeb80,0 %
- Daň podle sazeb80,7 %
- Účet90,7 %
- Dodavatel93,3 %
Druhy chyb (počet polí)
Vytěžování faktur · angličtina (USA)
Nejslabší pole
- Základ podle sazeb70,0 %
- Daň podle sazeb76,0 %
- Variabilní symbol / reference79,3 %
- Účet81,3 %
Druhy chyb (počet polí)
Vytěžování faktur · němčina
Nejslabší pole
- Variabilní symbol / reference88,7 %
- Číslo dokladu92,7 %
- Dodavatel94,0 %
- IČO / ID dodavatele94,0 %
Druhy chyb (počet polí)
Vytěžování faktur · španělština
Nejslabší pole
- Variabilní symbol / reference85,0 %
- Dodavatel86,0 %
- DIČ / VAT ID86,0 %
- Základ podle sazeb86,0 %
Druhy chyb (počet polí)
Vytěžování faktur · francouzština
Nejslabší pole
- Variabilní symbol / reference86,0 %
- Splatnost89,0 %
- Číslo dokladu90,0 %
- Účet90,0 %
Druhy chyb (počet polí)
Hledání osobních údajů · čeština
Nejslabší pole
- Jména90,7 %
- Adresy96,7 %
- Telefonní čísla97,3 %
- E-mailové adresy98,0 %
Druhy chyb (počet polí)
Hledání osobních údajů · angličtina (USA)
Nejslabší pole
- Adresy98,7 %
- Jména99,3 %
- E-mailové adresy99,3 %
- Telefonní čísla99,3 %
Druhy chyb (počet polí)
Hledání osobních údajů · němčina
Nejslabší pole
- Jména99,3 %
- E-mailové adresy99,3 %
- Telefonní čísla99,3 %
- Adresy99,3 %
Druhy chyb (počet polí)
Jazyková daň
O kolik víc tokenů model potřebuje na stejný text než v angličtině.
- čeština 1,66×
- němčina 1,28×
- francouzština 1,37×
- španělština 1,32×
- polština 1,59×
Compliance
- V EU ne
- Bez ukládání (ZDR) ne
- DPA ano
- Otevřené váhy ne
Jediný poskytovatel na OpenRouteru: Alibaba (bez EU a ZDR). DPA: obecná DPA Alibaba Cloud International.
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í Qwen3.8 Flash přes OpenRouter.
Klauzule ze smluv · čeština
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": "qwen/qwen3.8-flash",
"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
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": "qwen/qwen3.8-flash",
"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
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": "qwen/qwen3.8-flash",
"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
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": "qwen/qwen3.8-flash",
"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/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/contracts-cs.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/contracts-en.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/contracts-de.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/emails-cs.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/emails-en.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/emails-de.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/invoices-cs.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/invoices-en.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/invoices-de.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/invoices-es.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/invoices-fr.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/pii-cs.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/pii-en.svg" alt="Qwen3.8 Flash on ModelVerdict"></a><a href="https://modelverdict.ai/cs/models/qwen3-8-flash/"><img src="https://modelverdict.ai/badge/qwen3-8-flash/pii-de.svg" alt="Qwen3.8 Flash on ModelVerdict"></a>