qwen-max
Qwen-Max ist ein Textmodell für mehrsprachige Gespräche, logisches Schlussfolgern, Programmierung und Inhaltserstellung. Es verbindet detailliertes Befolgen von Anweisungen mit JSON-orientierter Ausgabe und Steuerung des Antwortstils.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen-max-latest - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen-max-latest
Ü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.
Qwen-Max ist ein großes Textmodell der Qwen-Familie für Aufgaben, die Sprachverständnis, logisches Schlussfolgern und ein umfangreiches schriftliches Ergebnis verbinden. Der Hersteller hebt chinesisch- und englischsprachige Programmieraufgaben, mehrsprachige Arbeit, kreatives Schreiben und rollenbasierte Gespräche hervor. Das Modell soll klarere, detailliertere Antworten erzeugen und dabei den gewünschten Antwortstil einhalten.
Der Modellname wird fortlaufend aktualisiert. Der Hersteller beschreibt qwen-max derzeit als funktional gleichwertig mit der Momentaufnahme qwen-max-2025-01-25. Der fortlaufende Name und die datierte Momentaufnahme haben unterschiedliche Zwecke: Einer folgt der Entwicklung der Reihe, die andere kennzeichnet eine bestimmte Edition. Bewahren Sie diesen Unterschied beim Vergleich wiederholter Aufgaben oder bei der Pflege einer einheitlichen Assistentenkonfiguration.
Modellfähigkeiten
Qwen-Max nimmt Text entgegen und erzeugt Text. Es kann mit einem Gespräch, Quellpassagen, einer Softwareanforderung oder einem vorhandenen Codefragment arbeiten. Verwenden Sie es, wenn das Ergebnis eine Erklärung, ein umgeschriebenes Dokument, eine Implementierung oder ein Satz extrahierter Felder sein soll. Eine gescannte Seite oder ein Screenshot benötigt einen separaten Schritt, der die erforderlichen Informationen als Text verfügbar macht; die dokumentierte Eingabe dieses Modells ist kein Bild.
Der Hersteller nennt insbesondere das Einhalten von JSON-Formatierung. Eine praktische Extraktionsaufgabe kann Felder wie Thema, ausdrücklich in der Quelle genannte Bedingungen und eine ungeklärte Frage vorgeben. Geben Sie die Quellpassage und die gewünschten Feldnamen vor und benennen Sie die Darstellung fehlender Informationen. Dadurch wird eine Gesprächsantwort zu Daten, die eine Anwendung prüfen und verarbeiten kann. Eine Anfrage nach JSON und eine Anfrage nach einer Erklärung in Prosa sind unterschiedliche Ausgabeanforderungen und sollten getrennt benannt werden.
Die dokumentierten Schnittstellen umfassen außerdem Funktionsaufrufe, strukturierte Ausgabe, Fortsetzung von Antwortpräfixen, Kontext-Caching und gebündelte Inferenz. Funktionsaufrufe und Websuche werden nicht in jeder Herstellerkonfiguration identisch bereitgestellt. Behandeln Sie sie als Optionen der umgebenden Schnittstelle: Die Anwendung stellt Werkzeuge bereit, führt ausgewählte Aktionen aus und gibt deren Ergebnisse zurück. Caching und gebündelte Verarbeitung betreffen die Übermittlung und Wiederverwendung von Arbeit und keine neue Inhaltsmodalität.
Kontextgrenzen
Die veröffentlichte Spezifikation nennt ein Kontextfenster von 32.768 Token, eine maximale Eingabe von 30.720 Token und eine maximale Ausgabe von 8.192 Token. Halten Sie Quellmaterial, Gespräch und gewünschte Antwort innerhalb der geltenden Grenzen. Die Ausgabeobergrenze hilft bei der Wahl zwischen einer kompakten Antwort und einem langen Dokument; sie darf nicht als Garantie verstanden werden, dass jede Antwort diese Länge nutzt.
Stellen Sie bei einer Dokumentaufgabe die wesentlichen Quellabschnitte vor optionale Beispiele und benennen Sie die erforderlichen Inhalte des Endergebnisses. Geben Sie beispielsweise eine Produktbeschreibung und Kundenfragen vor und verlangen Sie anschließend eine Antwort, die die bereitgestellten Bedingungen bewahrt, die Sprache des Kunden verwendet und unbeantwortete Fragen von bestätigten Informationen trennt. Das Ergebnis kann eine Kundenantwort samt kleinem JSON-Datensatz für den nächsten Anwendungsschritt sein.
Geben Sie für Programmierung den Zweck der Funktion, die akzeptierte Eingabe, die erwartete Ausgabe und das vorhandene Fragment vor, dessen Kompatibilität erhalten bleiben muss. Verlangen Sie die Implementierung, eine Erklärung der Entscheidungen und Beispiele für eine gewöhnliche Eingabe und einen Grenzfall. So wird der dokumentierte Programmier- und Reasoning-Schwerpunkt des Modells genutzt, ohne Zugriff auf ein Repository, einen Compiler oder eine laufende Anwendung anzunehmen.
Definieren Sie für kreatives Schreiben oder rollenbasierte Dialoge Zielgruppe, Ton und die nach einer Überarbeitung zu bewahrenden Fakten. Eine Rolle kann das Gespräch ordnen; das Quellmaterial bestimmt, was das Modell sagen soll. Verlangen Sie unterschiedliche Einleitungen oder Erklärungen für verschiedene Leser statt eines nicht näher bestimmten Umschreibens; jede Variante hat dann einen erkennbaren Zweck.
Wesentliche Grenzen
Qwen-Max ist eine Text-zu-Text-Reihe; diese Edition ist weder für Bildverarbeitung noch für Sprachsynthese vorgesehen. Der Hersteller führt Feinabstimmung auf dieser Modellkarte nicht als unterstützte Schnittstellenfähigkeit auf. Werkzeuggestütztes Verhalten hängt von der verbundenen Schnittstelle ab; der fortlaufende Name legt keine dauerhafte Momentaufnahme fest. Diese Unterschiede helfen bei der Wahl der richtigen Edition und bei der Vorbereitung einer Eingabe, die zum tatsächlich benötigten Ergebnis passt.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen-max-latest
qwen-max-latestStart
Qwen-Max ist ein Textmodell für mehrsprachige Gespräche, logisches Schlussfolgern, Programmierung und Inhaltserstellung. Es verbindet detailliertes Befolgen von Anweisungen mit JSON-orientierter Ausgabe und Steuerung des Antwortstils.
- Zulässige Eingaben
- Text
- Ergebnisse
- Text
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Eingabetypen
text- Ausgabetypen
text- Ausgabeformat
- json oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits qwen-max-latest | Standard— |
Feldmessages | Typmessage[] | AnforderungErforderlich | Werte und Limits Mindestanzahl Elemente: 1 | Standard— |
Feldmessages[].role | Typstring | AnforderungErforderlich | Werte und Limits Modellabhängig | Standard— |
Feldmessages[].content | Typstring | AnforderungOptional | Werte und Limits Gilt, wenn: Textgespräch | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
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 |
Parametercontrol_scope | VertragTextgespräch; stream ist ein boolescher Wert und standardmäßig false. |
Parameteroutput_modalities | Vertragtext |
Parameterhosted_operations | Vertragfalse |
Parametermultimodal_input_binding | Vertragnull |
Methodenaliasnamen: /chat/completions
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
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.000686 / 1K Token Ausgabe · Ausgabetoken $0.002744 / 1K Token Eingabe · Cache-Lesen $0 / 1K Token Eingabe · Cache-Schreiben $0 / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
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-max-latest","messages":[{"role":"user","content":"hello"}],"stream":false}')
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-max-latest", messages=[{"role":"user","content":"hello"}], stream=False)
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"))
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-max-latest
Aliasnamen für Methodenpfade
/chat/completions
Zugehörige Aufrufer-IDs
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen-max-latest
qwen-max-latestStart
Qwen-Max ist ein Textmodell für mehrsprachige Gespräche, logisches Schlussfolgern, Programmierung und Inhaltserstellung. Es verbindet detailliertes Befolgen von Anweisungen mit JSON-orientierter Ausgabe und Steuerung des Antwortstils.
- Zulässige Eingaben
- Text
- Ergebnisse
- json · sse
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Eingabetypen
text- Ausgabetypen
json,sse- Ausgabeformat
- JSON oder SSE
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits qwen-max-latest | 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
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Ailoot-Tarife
Preise nach Konfiguration
| Konfiguration | Tarifstaffel | Gebühr |
|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Gebühr Eingabe · Eingabetoken $0.000686 / 1K Token Ausgabe · Ausgabetoken $0.002744 / 1K Token Eingabe · Cache-Lesen $0 / 1K Token Eingabe · Cache-Schreiben $0 / 1K Token Eingabe · Cache-Schreiben, 1 Stunde — / 1K Token |
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-max-latest",
"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-max-latest', '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-max-latest', '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-max-latest
Aliasnamen für Methodenpfade
/chat/completions
Zugehörige Aufrufer-IDs
FAQ · qwen-max
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/chat/completions·qwen-max-latest:text→textPOST /v1/messages·qwen-max-latest:text→json,sse- Welche Felder verwendet die Anfrage?
POST /v1/chat/completions·qwen-max-latest:model,messages,streamPOST /v1/messages·qwen-max-latest:model,messages,max_tokens,stream- Welche Grenzen gelten?
POST /v1/chat/completions·qwen-max-latest:messages.min_items:1