Qwen: Qwen3 235B A22B Thinking 2507
Qwen3-235B-A22B-Thinking-2507 ist Qwens ausschliesslich schlussfolgerndes Textmodell für anspruchsvolle Mathematik, Wissenschaft, Programmierung und Langdokumentanalyse. Sein nativer Kontext von 262’144 Tokens und ausführliches Schlussfolgern eignen sich für Probleme mit mehreren verbundenen Schritten.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen/qwen3-235b-a22b-thinking-2507 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen/qwen3-235b-a22b-thinking-2507
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Qwen3-235B-A22B-Thinking-2507 entwickelt den Schlussfolgerungszweig von Qwen3 für komplexe logische, mathematische, wissenschaftliche und Programmieraufgaben weiter. Qwen nennt auch Anweisungsbefolgung, Werkzeugnutzung, Textgenerierung und Langkontextverständnis als in dieser Edition verbesserte Bereiche. Es nimmt Textgespräche entgegen und generiert Text. Ein nützlicher Auftrag liefert die vollständige Aufgabe, relevante Belege, Bedingungen und die genaue Form des endgültigen Ergebnisses: einen Beweis, Implementierungsplan, ein korrigiertes Programm oder eine durch gelieferte Dokumente gestützte Entscheidung.
Das Modell verwendet eine Mixture-of-Experts-Architektur mit insgesamt 235 Milliarden Parametern und 22 Milliarden aktivierten Parametern für jedes Token. Sein nativer Kontext beträgt 262’144 Tokens. Dieser Platz ist nützlich, um mehrere zusammenhängende Spezifikationen, Quelldateien oder Forschungsauszüge in einem Gespräch zusammenzubringen und gleichzeitig Raum für Schlussfolgern und die endgültige Antwort zu lassen. Kennzeichnen Sie Dokumente und Codeblöcke, legen Sie den Vorrang der Quellen fest und verweisen Sie auf die wichtigen Abschnitte. Ein Softwareanalyseauftrag kann beispielsweise fehlerhaftes Verhalten, erwartetes Verhalten, relevante Funktionen und Bedingungen liefern und anschliessend eine vorgeschlagene Korrektur mit separat aufgeführten Annahmen verlangen.
Dies ist eine reine Thinking-Edition. Sie wechselt nicht in den Non-Thinking-Modus des ursprünglichen Qwen3-Modells. Die offizielle Chatvorlage beginnt den Schlussfolgerungsabschnitt automatisch, sodass eine Ausgabe im erzeugten Text eine schliessende </think>-Markierung ohne öffnende Markierung enthalten kann. Das Beispiel des Herstellers trennt diesen Schlussfolgerungsabschnitt von der endgültigen Antwort. Für eine mathematische Aufgabe empfiehlt Qwen, schrittweises Schlussfolgern und eine endgültige Antwort innerhalb von \boxed{} zu verlangen. Bei einer Multiple-Choice-Aufgabe schlägt der Hersteller ein Antwortfeld vor, das ausschliesslich den ausgewählten Buchstaben enthält. Diese Anweisungen machen das Ergebnis nach Abschluss des Schlussfolgerns leichter lesbar oder verarbeitbar.
Qwens Generierungsanleitung empfiehlt temperature 0,6, top-p 0,95, top-k 20 und min-p 0. Sie empfiehlt 32’768 Tokens Ausgabelänge für die meisten Anfragen und nennt 81’920 Tokens für aussergewöhnlich anspruchsvolle Mathematik- und Programmierprobleme. Diese Zahlen sind Generierungsempfehlungen des Herstellers, keine separat garantierte Antwortgrenze. Längeres Schlussfolgern benötigt Platz vor der endgültigen Antwort: Ein zu kleines Budget kann die Antwort vor der verlangten Schlussfolgerung beenden. Für spätere Gesprächsrunden behält die offizielle Anleitung die endgültige Antwort im Verlauf und lässt frühere Thinking-Inhalte weg.
Für agentenartige Arbeit empfiehlt Qwen Qwen-Agent, das Werkzeugaufrufvorlagen und Parsing liefert. Seine Beispiele verbinden definierte Werkzeuge wie Informationsabruf und einen Codeinterpreter mit dem Modellgespräch. Bereiten Sie verfügbare Werkzeugbeschreibungen, die Abbruchbedingung der Aufgabe und das erforderliche Ergebnis vor, bevor Sie die Planung der Werkzeugnutzung verlangen. Ein praktischer Rechercheauftrag könnte vorgegebene Belege sammeln, konkurrierende Erklärungen vergleichen und eine Schlussfolgerung mit nach Quellen geordneten Belegen zurückgeben lassen. Werkzeugaufrufe beschreiben Arbeit, die eine Anwendung ausführen soll; der Text des Modells allein ist weder die externe Handlung noch ihr Ergebnis.
Die offizielle Modellkarte beschreibt auch eine optionale Kontexterweiterung auf ungefähr eine Million Tokens mit einer separaten Konfiguration, Dual Chunk Attention und Sparse Attention. Diese unterscheidet sich vom nativen Fenster mit 262’144 Tokens und hängt von der vorgeschriebenen Implementierung und beträchtlichen Speicherressourcen ab. Der Hersteller warnt, dass Kontext- und Speicherbeschränkungen kürzere Sequenzen erfordern können. Ordnen Sie bei gewöhnlicher Langdokumentarbeit die Eingabe um die tatsächliche Frage, bewahren Sie Dokumentgrenzen und verlangen Sie eine knappe endgültige Synthese, die ungeklärte Belege kennzeichnet. So bleibt das nützliche Ergebnis vom möglicherweise langen Schlussfolgerungsprozess getrennt.
Praktische Aufgabe
Praktische Aufgabe
Technisches Beispiel auf Englisch
Check a constrained allocation
Allocate 17 identical work units to two teams. Team A must receive at least 6 and an even number; Team B must receive at least 5. Minimize the difference between team totals. List the valid allocations nearest equality, select the best and explain why no smaller difference is possible under the parity rule.Erwartetes Ergebnis
A compact allocation analysis with feasible candidates, selected totals and a checkable optimality argument.Ergebnis prüfen
Verify the totals sum to 17, A is even, both minimums hold and the comparison includes both sides of equality.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3-235b-a22b-thinking-2507
qwen/qwen3-235b-a22b-thinking-2507
qwen/qwen3-235b-a22b-thinking-2507Einstieg
Qwen3-235B-A22B-Thinking-2507 ist Qwens ausschliesslich schlussfolgerndes Textmodell für anspruchsvolle Mathematik, Wissenschaft, Programmierung und Langdokumentanalyse. Sein nativer Kontext von 262’144 Tokens und ausführliches Schlussfolgern eignen sich für Probleme mit mehreren verbundenen Schritten.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Eingabe
text- Ausgabe
text- Ausgabeformat
- json oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits qwen/qwen3-235b-a22b-thinking-2507 | Standard— |
Feldmessages | Typmessage[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldmessages[].role | Typstring | AnforderungErforderlich | Werte und Limits Beispiele: system, user, assistant, tool, function Bedingungen: Diese Rollen sind in den Kompatibilitätstypen des Quellcodes ausdrücklich dargestellt; der genaue Rollenumfang bleibt modellspezifisch. Modellabhängig | Standard— |
Feldmessages[].content | Typstring|content_part[]|null | AnforderungOptional | Werte und Limits | Standard— |
Feldmessages[].tool_calls | Typtool_call[] | AnforderungOptional | Werte und Limits | Standard— |
Feldmessages[].tool_call_id | Typstring | AnforderungOptional | Werte und Limits Gilt, wenn: role=tool; die tatsächlich zurückgegebene ID verwenden | Standard— |
Feldmessages[].name | Typstring | AnforderungOptional | Werte und Limits | Standard— |
Feldmessages[].reasoning_content | Typstring | AnforderungOptional | Werte und Limits Gilt, wenn: Tatsächlich zurückgegebene Reasoning-Daten erneut übermitteln, sofern dieses Modell sie verwendet | Standard— |
Feldmessages[].reasoning_details | Typobject|array | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldmax_tokens | Typinteger | AnforderungOptional | Werte und Limits Minimum: 1 Modellabhängig | Standard— |
Feldmax_completion_tokens | Typinteger | AnforderungOptional | Werte und Limits Minimum: 1 Modellabhängig | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Feldstream_options.include_usage | Typboolean | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldtemperature | Typnumber | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldtop_p | Typnumber | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldstop | Typstring|string[] | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldtools | Typfunction_tool[] | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldtools[].type | Typstring | AnforderungOptional | Werte und Limits function Modellabhängig | Standard— |
Feldtools[].function.name | Typstring | AnforderungErforderlich | Werte und Limits Gilt, wenn: Funktionswerkzeug bereitgestellt | Standard— |
Feldtools[].function.description | Typstring | AnforderungOptional | Werte und Limits | Standard— |
Feldtools[].function.parameters | TypJSON_schema | AnforderungOptional | Werte und Limits | Standard— |
Feldtool_choice | Typstring|object | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldparallel_tool_calls | Typboolean | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldresponse_format | Typobject | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldreasoning_effort | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldreasoning | Typobject | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldservice_tier | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldinstructions | Typstring | AnforderungOptional | Werte und Limits Kompatibilitätsfeld | Standard— |
Feldfunctions | Typfunction[] | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldfunction_call | Typstring|object | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldprompt_cache_options | Typobject | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldmodalities | Typstring[] | AnforderungOptional | Werte und Limits text | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits Bedingungen: provider.options wird auf dieser Ultra-Textroute abgelehnt | Standard— |
Feldcache_control.ttl | Typstring | AnforderungOptional | Werte und Limits Bedingungen: 1h wird in den tatsächlichen Prompt-Cache-Feldern abgelehnt | Standard— |
Kombinationen von Eingabematerialien
Text · UTF8-Text
messages[].content
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, messages |
Parametermaterial_types | Vertragtext |
Parametermessages | VertragNachrichtenarray mit role/content-Struktur |
Parameterfile_material | VertragTatsächliches UTF-8-Dokument als wörtlicher Text eingefügt; keine Datei-ID abgeleitet |
Parameteroptional_controls | Vertragstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | VertragModellspezifisch; benutzerseitige Funktionswerkzeuge unterscheiden sich von gehosteten Werkzeugen |
Parameteroutput_modalities | Vertragtext |
Parameterhosted_operations | Vertragfalse |
Parametermultimodal_input_binding | Vertragnull |
Lebenszyklus: synchronous_or_streamed
Die genaue Modell-ID zusammen mit messages senden.
Die Kontextlänge ist keine Ausgabeobergrenze.
Eine Textdatei kann wörtlichen Text liefern; Bild-, Audio- und Dateiobjekteingaben benötigen eine exakte Zuordnung.
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Standardtarif Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Standardtarif Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschliesslich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0009 / 1K Tokens Ausgabe · Ausgabetoken $0.007 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0009 / 1K Tokens Ausgabe · Ausgabetoken $0.007 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "qwen/qwen3-235b-a22b-thinking-2507", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='qwen/qwen3-235b-a22b-thinking-2507',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='qwen/qwen3-235b-a22b-thinking-2507',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Ergebnisse abrufen und speichern
Ailoot Ultra · OpenAI Chat
json oder SSE
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Alle Antwortvarianten mit ihren Inhalten, Werkzeugaufrufen und Reasoning-Daten beibehalten. In SSE die Deltas nach Varianten- und Werkzeugindex zusammensetzen; endgültigen Beendigungsgrund und Verbrauchsdaten beibehalten.
Wenn die ursprüngliche Antwort geprüft werden muss
Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.
Antwortfelder
| Feld | Typ |
|---|---|
Feldchoices[].index | Typinteger |
Feldchoices[].message.content | Typstring|null |
Feldchoices[].message.tool_calls | Typtool_call[] |
Feldchoices[].message.reasoning_content | Typstring |
Feldchoices[].message.reasoning_details | Typobject|array |
Feldchoices[].finish_reason | Typstring|null |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra qwen/qwen3-235b-a22b-thinking-2507
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3-235b-a22b-thinking-2507
qwen/qwen3-235b-a22b-thinking-2507
qwen/qwen3-235b-a22b-thinking-2507Einstieg
Qwen3-235B-A22B-Thinking-2507 ist Qwens ausschliesslich schlussfolgerndes Textmodell für anspruchsvolle Mathematik, Wissenschaft, Programmierung und Langdokumentanalyse. Sein nativer Kontext von 262’144 Tokens und ausführliches Schlussfolgern eignen sich für Probleme mit mehreren verbundenen Schritten.
- Zulässige Eingaben
- Text
- Ergebnisse
- json · sse
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Eingabe
text- Ausgabe
json,sse- Ausgabeformat
- JSON oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits qwen/qwen3-235b-a22b-thinking-2507 | Standard— |
Feldmessages | Typmessage[] | AnforderungErforderlich | Werte und Limits | Standard— |
Feldmessages[].role | Typstring | AnforderungErforderlich | Werte und Limits user, assistant | Standard— |
Feldmessages[].content | Typstring | AnforderungErforderlich | Werte und Limits | Standard— |
Feldmax_tokens | Typinteger | AnforderungErforderlich | Werte und Limits | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Kombinationen von Eingabematerialien
Text · UTF-8-Text
Zeichenfolge messages[].content
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, messages, max_tokens |
Parameteroptional_controls | Vertragstream |
Parametermaterial_types | Vertragtext |
Parametertext_file_material | VertragDas tatsächliche UTF-8-Dokument lesen und seinen Text in die angegebene Zeichenfolge für Eingabe oder Nachrichteninhalt einfügen. |
Lebenszyklus: synchronous_or_streamed
Tarife
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Standardtarif Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Standardtarif Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Standardtarif Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Kontexttoken, mehr als | Kontexttoken, bis einschliesslich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0009 / 1K Tokens Ausgabe · Ausgabetoken $0.007 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschliesslichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.0009 / 1K Tokens Ausgabe · Ausgabetoken $0.007 / 1K Tokens Eingabe · Cache lesen — / 1K Tokens Eingabe · Cache schreiben — / 1K Tokens Eingabe · Cache schreiben, 1 Stunde — / 1K Tokens |
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Anthropic Messages
{
"model": "qwen/qwen3-235b-a22b-thinking-2507",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-235b-a22b-thinking-2507', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen/qwen3-235b-a22b-thinking-2507', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Ergebnisse abrufen und speichern
Ailoot Ultra · Anthropic Messages
JSON oder SSE
Alle fertiggestellten Ergebnisse aufbewahren
Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.
Alle Inhaltsblöcke, Thinking-Signaturen und tatsächlichen Werkzeugaufruf-IDs beibehalten. Alle SSE-Blockdeltas zusammensetzen; der erste Textblock ist nicht die vollständige Ausgabe.
Wenn die ursprüngliche Antwort geprüft werden muss
Anfrage- und Antwort-IDs sowie Header beibehalten. Eine allgemeine URL zum Abrufen von Textaufträgen wird nicht angegeben.
Antwortfelder
| Feld | Typ |
|---|---|
Feldid | Typstring |
Feldmodel | Typstring |
Feldcontent[] | Typtext|thinking|tool_use|other content block |
Feldstop_reason | Typstring|null |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Aliasnamen
Modellaliasnamen
Ailoot Ultra qwen/qwen3-235b-a22b-thinking-2507
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Qwen: Qwen3 235B A22B Thinking 2507
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/chat/completions·qwen/qwen3-235b-a22b-thinking-2507:text→textPOST /v1/messages·qwen/qwen3-235b-a22b-thinking-2507:text→json,sse- Welche Felder verwendet die Anfrage?
POST /v1/chat/completions·qwen/qwen3-235b-a22b-thinking-2507:model,messages,stream,modalities,providerPOST /v1/messages·qwen/qwen3-235b-a22b-thinking-2507:model,messages,max_tokens,stream- Welche Grenzen gelten?
POST /v1/chat/completions·qwen/qwen3-235b-a22b-thinking-2507:messages.min_items:1