Qwen: Qwen3.8 2.4T A95B
Qwen3.8-2.4T-A95B ist Qwens spärlich aktiviertes Mixture-of-Experts-Textmodell für Schlussfolgerungen, mit insgesamt 2.4 Billionen Parametern und 95 Milliarden aktivierten Parametern. Dieser offene Checkpoint verwendet immer Thinking, unterstützt anpassbaren Denkaufwand und bewahrt Denkkontext für anhaltende Programmier- und professionelle Aufgaben.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen/qwen3.8-2.4t-a95b - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen/qwen3.8-2.4t-a95b
Ü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.8-Schwerpunkte: anhaltendes Schlussfolgern mit Text
Qwen3.8-2.4T-A95B ist der offene Qwen3.8-Checkpoint für textbasiertes Schlussfolgern. Qwen beschreibt Verbesserungen bei Programmierung, professioneller Arbeit, Forschung und langfristigen Agentenaufgaben, einschließlich Planung und Nutzung von Umgebungsrückmeldungen. Es nimmt Text entgegen und liefert Text zurück. Der Hersteller trennt es ausdrücklich vom verwalteten Angebot Qwen3.8-Max: Bildeingabe und Non-Thinking-Unterstützung sind zusätzliche Funktionen dieses Angebots und keine Fähigkeiten dieses konkreten offenen Checkpoints.
Stellen Sie für eine Codeaufgabe die relevanten Module, die Anforderung und eine Eingabe bereit, die das aktuelle Verhalten sichtbar macht. Fordern Sie eine erklärte Änderung und ein prüfbares abschließendes Artefakt an. Stellen Sie für einen Forschungs- oder Fachbericht die Belege, erforderlichen Abschnitte und Bewertungskriterien bereit und bitten Sie das Modell anschließend, gestützte Befunde von Annahmen zu unterscheiden. Das sind praktische Anwendungen des dokumentierten Aufgabenbereichs, keine Versprechen über ausgeführten Code oder von Fachleuten bestätigte Schlussfolgerungen.
Modellüberblick
Das spärlich aktivierte Mixture-of-Experts-Modell besitzt insgesamt 2.4 Billionen Parameter und aktiviert 95 Milliarden. Es hat 92 Schichten und 512 geroutete Experten und wählt zehn geroutete Experten gemeinsam mit einem geteilten Experten aus. Seine hybriden Blöcke kombinieren Gated DeltaNet und Gated Attention mit Expertenschichten in einem Drei-zu-eins-Muster. Multi-Token Prediction ist Teil seines Trainings. Die aktivierte Parameteranzahl ist nicht die vollständige Checkpoint-Größe, und eine hohe Gesamtzahl begründet keine garantierte Antwortzeit.
Der native Kontext umfasst 262,144 Tokens, mit dokumentierter Erweiterung auf bis zu 1,010,000. Das unterscheidet sich vom standardmäßigen Kontext von einer Million Tokens der Referenz für verwaltetes Max. Verwenden Sie das tatsächlich konfigurierte Sequenzbudget für Quelltext, Gesprächsverlauf, Überlegungen und endgültige Antwort, statt anzunehmen, dass alle größten Zahlen gleichzeitig gelten.
Den konkreten Thinking-Checkpoint verwenden
Thinking ist für jede Interaktion erforderlich und kann nicht deaktiviert werden. Die dokumentierte Ausgabe beginnt mit einem Denkblock vor dem endgültigen Text. reasoning_effort unterstützt xhigh, medium und low; xhigh ist der Standard. Low reduziert die beabsichtigte Tiefe, bleibt aber ein Thinking-Modus. Eine Anfrage nach einer knappen endgültigen Antwort kann das gewünschte Ergebnis steuern, ohne dieses Modell in eine Non-Thinking-Ausführung zu verwandeln.
preserve_thinking ist standardmäßig aktiviert. Das Bewahren von Überlegungen früherer Gesprächsrunden hilft einer iterativen Aufgabe, ihren Entscheidungskontext weiterzuführen. Ordnen Sie Korrekturen, Tool-Ergebnisse und die endgültige Antwort den Gesprächsrunden zu, in denen sie entstanden sind. Dieses Modell sollte seinem eigenen Verlaufsvertrag folgen, statt ältere Empfehlungen zu übernehmen, jeden Denkblock aus früheren Nachrichten zu entfernen. Welche Optionen für Aufwand und Erhaltung tatsächlich angeboten werden, hängt von der Schnittstelle ab, die das Checkpoint-Rezept implementiert.
Harnesses und Umgebungsrückmeldungen
Qwen beschreibt Kompatibilität mit Entwicklungs-Harnesses und Tools. Eine anhaltende Aufgabe kann als Ziel, erlaubte Aktionen und Abschlussbelege formuliert werden; die Anwendung kann dann Beobachtungen aus Prüfung oder Ausführung bereitstellen. Bitten Sie das Modell zu erklären, wie jedes neue Ergebnis den Plan verändert, und offene Punkte zu melden. Eine Aktion zu planen und ein tatsächliches Ergebnis zu empfangen sind unterschiedliche Teile dieses Ablaufs.
Die Beispiele der Karte für verwaltetes Max enthalten zusätzliche integrierte Tools. Daraus dürfen keine automatische Websuche, Codeausführung oder visuelle Eingabe für dieses offene Modell abgeleitet werden. Seine hilfreiche Rolle ist die einer Text-Reasoning-Komponente in einem angebundenen Ablauf; Tools und externe Auswirkungen gehören zur Anwendung, die sie bereitstellt.
Generierungsempfehlungen
Der Hersteller empfiehlt temperature 1.0, top_p 0.95, top_k 20, min_p 0, Presence Penalty 0 und Repetition Penalty 1.0. Wo unterstützt, kann eine Presence Penalty zwischen null und zwei wiederholten Text reduzieren; höhere Werte können jedoch Sprachen vermischen oder die Qualität leicht verringern. Die Parameterunterstützung variiert je nach Implementierung.
Für einen konfigurierten Ablauf mit einer Million Tokens und separaten Grenzen für Überlegungen und endgültige Antwort empfiehlt Qwen 262,144 Tokens für Überlegungen und 131,072 für die endgültige Antwort. Das sind bedingte Budgets, keine separat festgelegten harten Obergrenzen oder Budgets, die gemeinsam in den nativen Kontext von 262,144 Tokens passen. Reservieren Sie ausreichend Platz für ein vollständiges Artefakt und fordern Sie ein nach den Überlegungen leicht auffindbares endgültiges Ergebnis an.
Praktische Grenzen
Dieser Checkpoint akzeptiert keine Bilder, Audio oder Video. Wandeln Sie relevante Belege bei Bedarf über einen separaten Ablauf in eine geeignete Textdarstellung um und bewahren Sie Kennungen, anhand derer sich die Antwort prüfen lässt. Die Karte nennt einen erweiterten Kontext, liefert aber weder ein vollständiges aufgabenspezifisches Erweiterungsrezept noch eine universelle Mediengrenze für dieses reine Textmodell. Bewahren Sie die genaue Checkpoint-Identität und Konfiguration, prüfen Sie Berechnungen und Codevorschläge anhand der Quelle und behandeln Sie das endgültige Artefakt als zu prüfendes Ergebnis statt als Beleg dafür, dass eine ganze externe Aufgabe abgeschlossen wurde.
Praktische Aufgabe
Praktische Aufgabe
Technisches Beispiel auf Englisch
Review a resumable migration plan
Review this migration design against the requirement that every row is copied exactly once. Step 1 copies 100 rows after last_id. Step 2 saves last_id. A crash can occur between steps. Explain the duplicate risk after restart and propose a minimal idempotent write or atomic checkpoint design. Include a test that interrupts precisely between the two steps.Erwartetes Ergebnis
A cause analysis, one concrete correction strategy and a crash-point regression scenario.Ergebnis prüfen
Rerunning after the interruption cannot produce duplicate destination rows or skip uncopied source rows.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen/qwen3.8-2.4t-a95b
qwen/qwen3.8-2.4t-a95bEinstieg
Qwen3.8-2.4T-A95B ist Qwens spärlich aktiviertes Mixture-of-Experts-Textmodell für Schlussfolgerungen, mit insgesamt 2.4 Billionen Parametern und 95 Milliarden aktivierten Parametern. Dieser offene Checkpoint verwendet immer Thinking, unterstützt anpassbaren Denkaufwand und bewahrt Denkkontext für anhaltende Programmier- und professionelle Aufgaben.
- 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.8-2.4t-a95b | 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
- Denkaufwand · niedrig
- Standardtarif Wenn der Denkaufwand niedrig ist
- Denkaufwand · mittel
- Standardtarif Wenn der Denkaufwand mittel ist
- Denkaufwand · xhigh
- Standardtarif Wenn der Denkaufwand xhigh ist
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 einschließlich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.004 / 1K Tokens Ausgabe · Ausgabetoken $0.012 / 1K Tokens Eingabe · Cache lesen $0.0005 / 1K Tokens Eingabe · In Cache schreiben $0.005 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.004 / 1K Tokens Ausgabe · Ausgabetoken $0.012 / 1K Tokens Eingabe · Cache lesen $0.0005 / 1K Tokens Eingabe · In Cache schreiben $0.005 / 1K Tokens Eingabe · In 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 abschließenden 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.8-2.4t-a95b", "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.8-2.4t-a95b',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.8-2.4t-a95b',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.8-2.4t-a95b
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen/qwen3.8-2.4t-a95b
qwen/qwen3.8-2.4t-a95bEinstieg
Qwen3.8-2.4T-A95B ist Qwens spärlich aktiviertes Mixture-of-Experts-Textmodell für Schlussfolgerungen, mit insgesamt 2.4 Billionen Parametern und 95 Milliarden aktivierten Parametern. Dieser offene Checkpoint verwendet immer Thinking, unterstützt anpassbaren Denkaufwand und bewahrt Denkkontext für anhaltende Programmier- und professionelle Aufgaben.
- 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.8-2.4t-a95b | 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
- Denkaufwand · niedrig
- Standardtarif Wenn der Denkaufwand niedrig ist
- Denkaufwand · mittel
- Standardtarif Wenn der Denkaufwand mittel ist
- Denkaufwand · xhigh
- Standardtarif Wenn der Denkaufwand xhigh ist
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 einschließlich | Gebühr |
|---|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Kontexttoken, mehr als— | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.004 / 1K Tokens Ausgabe · Ausgabetoken $0.012 / 1K Tokens Eingabe · Cache lesen $0.0005 / 1K Tokens Eingabe · In Cache schreiben $0.005 / 1K Tokens Eingabe · In Cache schreiben, 1 Stunde — / 1K Tokens |
| KonfigurationAnfragelängenstufe 1 | Tarifstaffel— | Kontexttoken, mehr als0 | Kontexttoken, bis einschließlichKeine Obergrenze | Gebühr Eingabe · Eingabetoken $0.004 / 1K Tokens Ausgabe · Ausgabetoken $0.012 / 1K Tokens Eingabe · Cache lesen $0.0005 / 1K Tokens Eingabe · In Cache schreiben $0.005 / 1K Tokens Eingabe · In 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 abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Anthropic Messages
{
"model": "qwen/qwen3.8-2.4t-a95b",
"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.8-2.4t-a95b', '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.8-2.4t-a95b', '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.8-2.4t-a95b
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · Qwen: Qwen3.8 2.4T A95B
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/chat/completions·qwen/qwen3.8-2.4t-a95b:text→textPOST /v1/messages·qwen/qwen3.8-2.4t-a95b:text→json,sse- Welche Felder verwendet die Anfrage?
POST /v1/chat/completions·qwen/qwen3.8-2.4t-a95b:model,messages,stream,modalities,providerPOST /v1/messages·qwen/qwen3.8-2.4t-a95b:model,messages,max_tokens,stream- Welche Grenzen gelten?
POST /v1/chat/completions·qwen/qwen3.8-2.4t-a95b:messages.min_items:1