OpenAI
GPT-6 Sol
Wie GPT-6 Sol von OpenAI mit echten Geschäftsdokumenten umgeht: Genauigkeit, echte Kosten, Tempo und wo es Fehler macht.
Listenpreis: 1,84 € pro 1 Mio. Eingabe-Tokens, 9,20 € pro 1 Mio. Ausgabe-Tokens · openai/gpt-6-sol
Ergebnisse
| Aufgabe · Dokumente | Rang | Richtige Felder | Fehlerfreie Dokumente | Pro 1.000 Dokumente | Zu korrigieren / 1.000 | Tempo (Median) | Schwelle |
|---|---|---|---|---|---|---|---|
| Vertragsklauseln · Deutsch | 2/10 | 100,0 % | 100 % | 4,01 € | 0 | 2,9 Sek. | erreicht die Schwelle |
| Vertragsklauseln · Englisch (USA) | 3/10 | 100,0 % | 100 % | 3,06 € | 0 | 2,5 Sek. | erreicht die Schwelle |
| Vertragsklauseln · Tschechisch | 6/10 | 100,0 % | 100 % | 4,25 € | 0 | 2,0 Sek. | erreicht die Schwelle |
| E-Mail-Triage · Deutsch | 2/10 | 98,2 % | 84 % | 2,51 € | 160 | 2,9 Sek. | erreicht die Schwelle |
| E-Mail-Triage · Englisch (USA) | 1/10 | 99,0 % | 92 % | 2,24 € | 80 | 2,8 Sek. | erreicht die Schwelle |
| E-Mail-Triage · Tschechisch | 2/10 | 99,0 % | 91 % | 2,94 € | 93 | 2,8 Sek. | erreicht die Schwelle |
| Rechnungsextraktion · Deutsch | 2/10 | 100,0 % | 99 % | 9,80 € | 7 | 4,9 Sek. | erreicht die Schwelle |
| Rechnungsextraktion · Englisch (USA) | 1/10 | 99,9 % | 99 % | 8,88 € | 7 | 4,1 Sek. | erreicht die Schwelle |
| Rechnungsextraktion · Tschechisch | 4/10 | 99,9 % | 99 % | 9,31 € | 13 | 3,9 Sek. | erreicht die Schwelle |
| Rechnungsextraktion · Spanisch | 1/10 | 99,2 % | 89 % | 9,90 € | 110 | 5,7 Sek. | erreicht die Schwelle |
| Rechnungsextraktion · Französisch | 2/10 | 99,9 % | 99 % | 10,17 € | 10 | 5,9 Sek. | erreicht die Schwelle |
| Erkennung personenbezogener Daten · Deutsch | 6/10 | 99,7 % | 98 % | 1,96 € | 20 | 2,6 Sek. | erreicht die Schwelle |
| Erkennung personenbezogener Daten · Englisch (USA) | 5/10 | 99,7 % | 98 % | 1,92 € | 20 | 2,6 Sek. | erreicht die Schwelle |
| Erkennung personenbezogener Daten · Tschechisch | 4/10 | 99,7 % | 98 % | 2,04 € | 20 | 2,5 Sek. | erreicht die Schwelle |
Wo es Fehler macht
Die Felder, bei denen es am häufigsten danebenliegt, und die Fehlerarten, aus allen Dokumenten des Benchmarks.
Vertragsklauseln · Deutsch
Keine Fehler bei dieser Aufgabe.
Vertragsklauseln · Englisch (USA)
Keine Fehler bei dieser Aufgabe.
Vertragsklauseln · Tschechisch
Keine Fehler bei dieser Aufgabe.
E-Mail-Triage · Deutsch
Schwächste Felder
- Stimmung86,7 %
- Priorität97,3 %
Fehlerarten (Anzahl Felder)
E-Mail-Triage · Englisch (USA)
Schwächste Felder
- Stimmung93,3 %
- Priorität98,0 %
Fehlerarten (Anzahl Felder)
E-Mail-Triage · Tschechisch
Schwächste Felder
- Stimmung92,7 %
- Priorität98,0 %
Fehlerarten (Anzahl Felder)
Rechnungsextraktion · Deutsch
Schwächste Felder
- Bankverbindung99,3 %
Fehlerarten (Anzahl Felder)
Rechnungsextraktion · Englisch (USA)
Schwächste Felder
- Bankverbindung99,3 %
Fehlerarten (Anzahl Felder)
Rechnungsextraktion · Tschechisch
Schwächste Felder
- Lieferant99,3 %
- Zahlungsreferenz99,3 %
Fehlerarten (Anzahl Felder)
Rechnungsextraktion · Spanisch
Schwächste Felder
- Netto nach Steuersatz92,0 %
- Lieferant98,0 %
- Bankverbindung99,0 %
Fehlerarten (Anzahl Felder)
Rechnungsextraktion · Französisch
Schwächste Felder
- Zahlungsreferenz99,0 %
Fehlerarten (Anzahl Felder)
Erkennung personenbezogener Daten · Deutsch
Schwächste Felder
- Adressen98,0 %
Fehlerarten (Anzahl Felder)
Erkennung personenbezogener Daten · Englisch (USA)
Schwächste Felder
- Adressen98,0 %
Fehlerarten (Anzahl Felder)
Erkennung personenbezogener Daten · Tschechisch
Schwächste Felder
- Adressen98,0 %
Fehlerarten (Anzahl Felder)
Sprachsteuer
Wie viele Tokens mehr dieses Modell für denselben Text braucht als auf Englisch.
- Tschechisch 1,71×
- Deutsch 1,29×
- Französisch 1,34×
- Spanisch 1,31×
- Polnisch 1,77×
Compliance
- In der EU ja
- Keine Speicherung (ZDR) ja
- AVV/DPA ja
- Open Weights nein
EU and ZDR: Azure. OpenAI direct: EU data residency needs approval.
Direkt einsetzen
Genau die Anfrage des Benchmarks (gleicher Prompt, JSON-Schema, Temperatur 0), bereit für den Aufruf von GPT-6 Sol über OpenRouter.
Vertragsklauseln · Deutsch
import json
import os
import httpx
PROMPT = "Extrahieren Sie die wesentlichen Bedingungen des nachstehenden Vertrages und geben Sie nur JSON mit diesen Schlüsseln zurück:\n\nprovider_name die leistende Partei (Auftragnehmer, Verkäufer, Vermieter, Lizenzgeber),\n genau wie angegeben, einschließlich der Rechtsform\nprovider_id Registernummer dieser Partei (z. B. Handelsregisternummer), sofern angegeben\nclient_name die zahlende Partei (Auftraggeber, Käufer, Mieter, Lizenznehmer)\nclient_id Registernummer dieser Partei, sofern angegeben\ncontract_type einer der Werte: services, supply, lease, license, maintenance\nprice vereinbarter Preis ohne Umsatzsteuer (Zahl)\ncurrency Währungscode nach ISO 4217 (EUR, CHF, USD, …)\nprice_period einer der Werte: one_time, monthly, yearly\neffective_date Datum des Inkrafttretens des Vertrages (YYYY-MM-DD)\nend_date Ende einer festen Laufzeit (YYYY-MM-DD); null, wenn der Vertrag auf\n unbestimmte Zeit geschlossen ist\nnotice_period_months Kündigungsfrist in Monaten (Zahl); null, wenn es keine gibt\npenalty_pct_per_day Vertragsstrafe für Zahlungsverzug in Prozent des offenen Betrags pro Tag\n (z. B. 0.05 für 0,05 %); null, wenn es keine gibt\ngoverning_law Ländercode des anwendbaren Rechts nach ISO 3166 (z. B. DE); US-Bundesstaaten\n als US-XX\n\nRegeln:\n- Relative Daten („mit Unterzeichnung“, „zum Ersten des folgenden Monats“) bezogen auf das\n Datum der Unterzeichnung umrechnen.\n- Das Datum der Unterzeichnung ist nicht das Datum des Inkrafttretens, sofern der Vertrag dies\n nicht ausdrücklich bestimmt.\n- Anzahlung, Kaution und feste Vertragsstrafen für andere Verstöße sind weder der Preis noch die\n Vertragsstrafe für Zahlungsverzug.\n- Steht ein Wert nicht im Vertrag, null zurückgeben. Nicht raten.\n- Beträge als Zahlen mit Dezimalpunkt, ohne Tausendertrennzeichen und ohne Währungssymbol.\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": "openai/gpt-6-sol",
"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"])
E-Mail-Triage · Deutsch
import json
import os
import httpx
PROMPT = "Sie sortieren E-Mails des Kundensupports. Lesen Sie die E-Mail unten und geben Sie nur JSON mit diesen Schlüsseln zurück:\n\ncategory einer der Werte: billing (Rechnungen, Zahlungen, Abrechnung), delivery (wo ist die Bestellung,\n Versand, Adressänderung), complaint (beschädigte, falsche oder defekte Ware, Reklamation),\n technical (Anmeldung, Fehler in Anwendung oder System, Schnittstellen), cancellation (Stornierung\n einer Bestellung, Kündigung eines Vertrags oder Abonnements), sales (Anfrage, Preise, Interesse vor dem Kauf)\npriority einer der Werte: urgent, high, normal, low (Regeln unten)\nsentiment einer der Werte: positive, neutral, negative (Ton des Kunden)\ncustomer_name vollständiger Name des Kunden, der die Anfrage geschrieben hat\norder_number Bestellnummer des Kunden, falls angegeben\ninvoice_number Rechnungsnummer, falls angegeben\namount Betrag, um den es in der Anfrage geht (Zahl)\ncurrency Währungscode dieses Betrags nach ISO 4217 (EUR, CZK, USD, …)\ndeadline Datum, bis zu dem der Kunde eine Lösung oder Antwort wünscht (YYYY-MM-DD)\n\nRegeln für die Priorität:\n- urgent: der Kunde kann gerade nicht arbeiten, oder die Frist liegt höchstens 1 Tag nach dem Datum der E-Mail\n- high: die Frist liegt höchstens 7 Tage nach dem Datum der E-Mail, oder der Kunde droht mit dem Ende\n der Zusammenarbeit oder einer Eskalation (Anwalt)\n- low: der Kunde schreibt ausdrücklich, dass es nicht eilt\n- normal: alles andere\n\nRegeln:\n- Verlauf: bewerten Sie die neueste Nachricht; Bestell- und Rechnungsnummern sowie Beträge können aus\n zitierten älteren Nachrichten stammen. Weitergeleitete E-Mail: Kunde ist der ursprüngliche Absender,\n nicht der Kollege, der sie weitergeleitet hat.\n- Relative Fristen („bis Freitag“, „bis morgen“, „bis Ende des Monats“) rechnen Sie ausgehend vom Datum\n der Nachricht um, in der sie stehen.\n- Ticketnummern des Supports, Handelsregisternummern, USt-IdNr. und Telefonnummern sind keine\n Bestell- oder Rechnungsnummern.\n- Steht ein Wert nicht in der E-Mail, geben Sie null zurück. Raten Sie nicht.\n- Beträge als Zahlen mit Dezimalpunkt, ohne Tausendertrennzeichen und ohne Währungssymbol.\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": "openai/gpt-6-sol",
"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"])
Rechnungsextraktion · Deutsch
import json
import os
import httpx
PROMPT = "Entnimm dem beigefügten Beleg die folgenden Angaben und gib ausschließlich JSON mit diesen Schlüsseln zurück:\n\nsupplier_name Name des Rechnungsstellers (genau wie auf dem Beleg, einschließlich Umlauten und Rechtsform)\nsupplier_id Steuernummer des Rechnungsstellers (nicht die USt-IdNr. und nicht die Handelsregisternummer)\nvat_id Umsatzsteuer-Identifikationsnummer (USt-IdNr.) des Rechnungsstellers\ninvoice_number Belegnummer\npayment_reference Verwendungszweck, der bei der Zahlung anzugeben ist\nissue_date Rechnungsdatum (YYYY-MM-DD)\ntax_point_date Liefer- bzw. Leistungsdatum (YYYY-MM-DD)\ndue_date Fälligkeitsdatum bzw. „zahlbar bis“ (YYYY-MM-DD)\nnet_by_rate Nettobetrag nach Umsatzsteuersätzen, z. B. {\"19\": 18450.00, \"7\": 1200.00}\nvat_by_rate Umsatzsteuer nach Sätzen, z. B. {\"19\": 3505.50}\ntotal Gesamtbetrag / Zahlbetrag (Zahl, bei Gutschriften negativ)\ncurrency Währung nach ISO 4217 (EUR, CHF, …)\nbank_account IBAN des Rechnungsstellers\n\nRegeln:\n- Gib keine Angaben des Rechnungsempfängers zurück, nur die des Rechnungsstellers.\n- Steht eine Angabe nicht auf dem Beleg, gib null zurück. Erfinde nichts.\n- Enthält der Beleg keine Aufschlüsselung der Umsatzsteuer (Kleinunternehmer, Anzahlungsanforderung), gib net_by_rate und vat_by_rate als null zurück.\n- Beträge als Zahlen mit Dezimalpunkt, ohne Tausendertrennzeichen und ohne Währung.\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": "openai/gpt-6-sol",
"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"])
Erkennung personenbezogener Daten · Deutsch
import json
import os
import httpx
PROMPT = "Finden Sie im Text unten alle personenbezogenen Daten natürlicher Personen (zur Anonymisierung) und geben Sie nur JSON\nmit diesen Schlüsseln zurück, jeweils als Liste von Zeichenketten (eine leere Liste, wenn es keine gibt):\n\nperson_names vollständige Namen von Personen, jede Person einmal, wie im Text geschrieben\nemail_addresses E-Mail-Adressen von Personen\nphone_numbers Telefonnummern von Personen, wie im Text geschrieben\npostal_addresses Wohn- oder Lieferadressen von Personen, wie im Text geschrieben (Straße, Ort, PLZ)\nbirth_dates Geburtsdaten (YYYY-MM-DD)\nnational_ids nationale Identifikationsnummern (z. B. Steuer-ID, Sozialversicherungsnummer)\nbank_accounts Bankkontonummern (IBAN) von Personen, wie im Text geschrieben\n\nRegeln:\n- Nur Daten natürlicher Personen. Firmennamen, Handelsregisternummern, USt-IdNr. und andere Nummern von\n Firmen, allgemeine Firmenadressen wie info@ oder support@, Bestell- und Ticketnummern sind keine\n personenbezogenen Daten: lassen Sie sie weg.\n- Daten, die kein Geburtsdatum sind (Besprechungen, Lieferungen, Eintritt), sind keine personenbezogenen Daten.\n- Erfinden oder ergänzen Sie keine Werte; übernehmen Sie sie aus dem Text.\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": "openai/gpt-6-sol",
"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"])
Badge
Binden Sie das aktuelle Ergebnis auf Ihrer Website ein; das Badge aktualisiert sich mit jedem Lauf.
<a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/contracts-de.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/contracts-en.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/contracts-cs.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/emails-de.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/emails-en.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/emails-cs.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/invoices-de.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/invoices-en.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/invoices-cs.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/invoices-es.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/invoices-fr.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/pii-de.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/pii-en.svg" alt="GPT-6 Sol on ModelVerdict"></a><a href="https://modelverdict.ai/de/models/gpt-6-sol/"><img src="https://modelverdict.ai/badge/gpt-6-sol/pii-cs.svg" alt="GPT-6 Sol on ModelVerdict"></a>