modele

qwen-max

Markdown · JSON

qwen-max

Qwen-Max to model tekstowy do rozmowy wielojęzycznej, rozumowania logicznego, programowania i tworzenia treści. Łączy szczegółowe wykonywanie instrukcji z wyjściem ukierunkowanym na JSON i kontrolą stylu odpowiedzi.

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

Qwen-Max to duży model tekstowy rodziny Qwen do zadań łączących rozumienie języka, rozumowanie logiczne i obszerny rezultat pisemny. Producent wyróżnia programowanie po chińsku i angielsku, pracę wielojęzyczną, pisanie kreatywne i rozmowę opartą na rolach. Model ma dawać jaśniejsze, bardziej szczegółowe odpowiedzi przy zachowaniu żądanego stylu.

Nazwa modelu jest aktualizowana na bieżąco. Producent obecnie opisuje qwen-max jako funkcjonalnie równoważny wersji qwen-max-2025-01-25. Nazwa zmienna i datowana wersja mają różne cele: jedna podąża za rozwojem linii, druga wskazuje konkretną edycję. Zachowaj tę różnicę podczas porównywania powtarzanych zadań lub utrzymywania spójnej konfiguracji asystenta.

Możliwości modelu

Qwen-Max przyjmuje tekst i generuje tekst. Może pracować z rozmową, fragmentami źródłowymi, wymaganiem programistycznym lub istniejącym fragmentem kodu. Używaj go, gdy wynikiem ma być wyjaśnienie, przeredagowany dokument, implementacja lub zestaw wyodrębnionych pól. Zeskanowana strona lub zrzut ekranu wymagają oddzielnego kroku udostępniającego potrzebne informacje jako tekst; udokumentowane wejście tego modelu nie jest obrazem.

Producent szczególnie wskazuje przestrzeganie formatu JSON. Praktyczne zadanie ekstrakcji może określać pola takie jak temat, warunki wyraźnie wymienione w źródle i nierozstrzygnięte pytanie. Dostarcz fragment źródłowy i zamierzone nazwy pól oraz określ sposób przedstawiania brakujących informacji. Zamienia to odpowiedź konwersacyjną w dane, które aplikacja może sprawdzić i przetworzyć. Żądanie JSON i żądanie wyjaśnienia prozą są różnymi wymaganiami wyjścia i powinny być podane osobno.

Udokumentowane interfejsy obejmują także wywoływanie funkcji, ustrukturyzowane wyjście, kontynuację prefiksu odpowiedzi, buforowanie kontekstu i inferencję grupową. Wywołania funkcji i wyszukiwanie internetowe nie są udostępniane identycznie w każdej konfiguracji producenta. Traktuj je jako opcje otaczającego interfejsu: aplikacja dostarcza narzędzia, wykonuje wybrane działania i zwraca ich wyniki. Buforowanie i przetwarzanie grupowe dotyczą sposobu przekazywania i ponownego używania pracy, a nie nowej modalności treści.

Limity kontekstu

Opublikowana specyfikacja podaje okno kontekstu 32 768 tokenów, maksymalne wejście 30 720 tokenów i maksymalne wyjście 8192 tokenów. Utrzymuj materiał źródłowy, rozmowę i żądaną odpowiedź w odpowiednich limitach. Limit wyjścia przydaje się przy wyborze zwięzłej odpowiedzi lub długiego dokumentu; nie należy interpretować go jako gwarancji wykorzystania tej długości przez każdą odpowiedź.

W zadaniu dotyczącym dokumentu umieść istotne sekcje źródłowe przed opcjonalnymi przykładami i określ obowiązkową zawartość wyniku końcowego. Przykładowo: dostarcz opis produktu i pytania klienta, a następnie poproś o odpowiedź zachowującą podane warunki, używającą języka klienta i oddzielającą pytania bez odpowiedzi od potwierdzonych informacji. Wynikiem może być odpowiedź dla klienta i niewielki rekord JSON do następnego kroku aplikacji.

W zadaniu programistycznym podaj cel funkcji, akceptowane wejście, oczekiwane wyjście i istniejący fragment, który musi pozostać zgodny. Poproś o implementację, wyjaśnienie decyzji i przykłady obejmujące zwykłe wejście oraz przypadek brzegowy. Wykorzystuje to udokumentowane skupienie modelu na programowaniu i rozumowaniu, bez zakładania dostępu do repozytorium, kompilatora lub działającej aplikacji.

Przy pisaniu kreatywnym lub dialogu opartym na rolach określ odbiorców, ton i fakty, które muszą przetrwać poprawki. Rola może organizować rozmowę, a materiał źródłowy określać to, co model powinien powiedzieć. Poproś o alternatywne wprowadzenia lub wyjaśnienia dla różnych czytelników, zamiast nieokreślonego przeredagowania; każdy wariant ma wtedy obserwowalny cel.

Istotne ograniczenia

Qwen-Max to linia tekst–tekst, a nie edycja wizualna lub generująca mowę. Producent nie wymienia na tej karcie dostrajania jako obsługiwanej możliwości interfejsu. Zachowanie narzędziowe zależy od podłączonego interfejsu, a zmienna nazwa nie ustala trwałej wersji. Te różnice pomagają wybrać właściwą edycję i przygotować wejście odpowiadające rzeczywiście potrzebnemu rezultatowi.

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen-max-latest

qwen-max-latest

Alibaba /qwen-max-latest

Start

Qwen-Max to model tekstowy do rozmowy wielojęzycznej, rozumowania logicznego, programowania i tworzenia treści. Łączy szczegółowe wykonywanie instrukcji z wyjściem ukierunkowanym na JSON i kontrolą stylu odpowiedzi.

Akceptowane dane wejściowe
Tekst
Wyniki
Tekst

Dostępne w Ailoot · dane wejściowe i metody

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Wejście
text
Wyjście
text
Format wyjściowy
json lub SSE
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
qwen-max-latest
Domyślnie—
PolemessagesTypmessage[]WymaganieWymaganeWartości i limity
Minimalna liczba elementów: 1
Domyślnie—
Polemessages[].roleTypstringWymaganieWymaganeWartości i limity
Zależy od modelu
Domyślnie—
Polemessages[].contentTypstringWymaganieOpcjonalneWartości i limity
Obowiązuje, gdy: Rozmowa tekstowa
Domyślnie—
PolestreamTypbooleanWymaganieOpcjonalneWartości i limityDomyślniefalse
Kombinacje materiałów wejściowych

Tekst · tekst UTF8

messages[].content

Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages
Parametrmaterial_typesKontrakttext
ParametrmessagesKontrakttablica wiadomości o strukturze role/content
Parametrfile_materialKontraktrzeczywisty dokument UTF-8 wstawiony jako dosłowny tekst; bez wywnioskowanego ID pliku
Parametroptional_controlsKontraktstream
Parametrcontrol_scopeKontraktRozmowa tekstowa; stream jest wartością logiczną i domyślnie wynosi false.
Parametroutput_modalitiesKontrakttext
Parametrhosted_operationsKontraktfalse
Parametrmultimodal_input_bindingKontraktnull

Aliasy metody: /chat/completions

Cykl życia: synchronous_or_streamed

Wyślij dokładne ID modelu wraz z messages.

Długość kontekstu nie jest limitem wyjścia.

Plik tekstowy może dostarczyć dosłowny tekst; wejścia obrazowe/dźwiękowe/obiekty plików wymagają dokładnego powiązania.

Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki
Nie określono Gdy wybrany jest tryb szybki
Tryb flex
Nie określono Gdy wybrany jest tryb flex
Maksymalna intensywność rozumowania
Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Stawki Ailoot

Ceny według konfiguracji

KonfiguracjaTabela stawekOpłata
KonfiguracjaPodstawowe stawki za tokenyTabela stawekStawka podstawowaOpłata
Wejście · Tokeny wejściowe $0.000686 / 1K tokenów
Wyjście · Tokeny wyjściowe $0.002744 / 1K tokenów
Wejście · Odczyt cache $0 / 1K tokenów
Wejście · Zapis do cache $0 / 1K tokenów
Wejście · Zapis do cache, 1 godz. — / 1K tokenów

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →

Przykładowe żądania

Ailoot Ultra · OpenAI Chat

curlPython SDK
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"))

Odbieranie i zapisywanie wyników

Ailoot Ultra · OpenAI Chat

json lub SSE

Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj każdy wariant i jego treść/wywołania narzędzi/rozumowanie. W SSE składaj przyrosty według indeksu wariantu/narzędzia, zachowując końcowy powód zakończenia i dane użycia.

Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.

Pola odpowiedzi
PoleTyp
Polechoices[].indexTypinteger
Polechoices[].message.contentTypstring|null
Polechoices[].message.tool_callsTyptool_call[]
Polechoices[].message.reasoning_contentTypstring
Polechoices[].message.reasoning_detailsTypobject|array
Polechoices[].finish_reasonTypstring|null
PoleusageTypobject
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź400 · invalid_request_errorWarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametruNastępny krokPopraw wskazane pola przed nowym żądaniem utworzenia.

Aliasy

Aliasy modelu

Ailoot Ultra qwen-max-latest

Aliasy ścieżek metod

/chat/completions

Powiązane ID modeli

qwen-max-latest

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen-max-latest

qwen-max-latest

Alibaba /qwen-max-latest

Start

Qwen-Max to model tekstowy do rozmowy wielojęzycznej, rozumowania logicznego, programowania i tworzenia treści. Łączy szczegółowe wykonywanie instrukcji z wyjściem ukierunkowanym na JSON i kontrolą stylu odpowiedzi.

Akceptowane dane wejściowe
Tekst
Wyniki
json · sse

Dostępne w Ailoot · dane wejściowe i metody

Ailoot Ultra · Anthropic Messages POST /v1/messages
Wejście
text
Wyjście
json, sse
Format wyjściowy
JSON lub SSE
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
qwen-max-latest
Domyślnie—
PolemessagesTypmessage[]WymaganieWymaganeWartości i limityDomyślnie—
Polemessages[].roleTypstringWymaganieWymaganeWartości i limity
user, assistant
Domyślnie—
Polemessages[].contentTypstringWymaganieWymaganeWartości i limityDomyślnie—
Polemax_tokensTypintegerWymaganieWymaganeWartości i limityDomyślnie—
PolestreamTypbooleanWymaganieOpcjonalneWartości i limityDomyślniefalse
Kombinacje materiałów wejściowych

Tekst · tekst UTF-8

ciąg messages[].content

Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, messages, max_tokens
Parametroptional_controlsKontraktstream
Parametrmaterial_typesKontrakttext
Parametrtext_file_materialKontraktOdczytaj rzeczywisty dokument UTF-8 i umieść jego tekst we wskazanym polu input lub w ciągu treści wiadomości.

Cykl życia: synchronous_or_streamed

Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki
Nie określono Gdy wybrany jest tryb szybki
Tryb flex
Nie określono Gdy wybrany jest tryb flex
Maksymalna intensywność rozumowania
Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Stawki Ailoot

Ceny według konfiguracji

KonfiguracjaTabela stawekOpłata
KonfiguracjaPodstawowe stawki za tokenyTabela stawekStawka podstawowaOpłata
Wejście · Tokeny wejściowe $0.000686 / 1K tokenów
Wyjście · Tokeny wyjściowe $0.002744 / 1K tokenów
Wejście · Odczyt cache $0 / 1K tokenów
Wejście · Zapis do cache $0 / 1K tokenów
Wejście · Zapis do cache, 1 godz. — / 1K tokenów

Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →

Przykładowe żądania

Ailoot Ultra · Anthropic Messages

Kompletna minimalna treść żądania JSONcurl · użyj swojego dokumentu UTF-8Python · zapisz kompletny wynik
{
  "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))

Odbieranie i zapisywanie wyników

Ailoot Ultra · Anthropic Messages

JSON lub SSE

Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj wszystkie bloki treści, sygnatury myślenia i rzeczywiste ID użycia narzędzi. Złóż wszystkie przyrosty bloków SSE; pierwszy blok tekstowy nie jest pełnym wyjściem.

Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.

Pola odpowiedzi
PoleTyp
PoleidTypstring
PolemodelTypstring
Polecontent[]Typtext|thinking|tool_use|other content block
Polestop_reasonTypstring|null
PoleusageTypobject
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź400 · invalid_request_errorWarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametruNastępny krokPopraw wskazane pola przed nowym żądaniem utworzenia.

Aliasy

Aliasy modelu

Ailoot Ultra qwen-max-latest

Aliasy ścieżek metod

/chat/completions

Powiązane ID modeli

qwen-max-latest

FAQ · qwen-max
Jakie dane wejściowe i wyniki są dostępne?

POST /v1/chat/completions · qwen-max-latest: text → text

POST /v1/messages · qwen-max-latest: text → json, sse

Jakich pól używa żądanie?

POST /v1/chat/completions · qwen-max-latest: model, messages, stream

POST /v1/messages · qwen-max-latest: model, messages, max_tokens, stream

Jakie limity obowiązują?

POST /v1/chat/completions · qwen-max-latest: messages.min_items: 1

Więcej szczegółów

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja
Wybierz plan z rabatem do regularnych żądań.
Kod promocyjny do 50%
Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.
Koszty w historii
Model, tokeny i kwota są zapisywane dla każdego żądania.

Wybierz subskrypcję · Sprawdź ceny modeli

Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna
Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.
Licencja resellerska
Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.
Dokumenty na stronie
Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

Poproś o licencję resellerską · Oferta i umowa licencyjna