Source: https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/
Canonical: https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/
Language: pl

# Qwen: Qwen3.8 2.4T A95B

[Markdown](https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/index.md) · [JSON](https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/facts.json)

## [Qwen: Qwen3.8 2.4T A95B](https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/)

Qwen3.8-2.4T-A95B to model rozumowania tekstowego Qwen o architekturze mixture-of-experts z rzadką aktywacją, z 2.4 biliona parametrów ogółem i 95 miliardami aktywowanych. Ta otwarta wersja zawsze używa rozumowania, obsługuje regulowany poziom wysiłku rozumowania i zachowuje kontekst rozumowania dla długotrwałych zadań programistycznych i profesjonalnych.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/qwen-qwen3-8-2-4t-a95b/#method-1)

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.

Najważniejsze cechy Qwen3.8: długotrwałe rozumowanie tekstowe

Qwen3.8-2.4T-A95B to otwarta wersja Qwen3.8 do rozumowania tekstowego. Qwen opisuje usprawnienia w programowaniu, pracy profesjonalnej, badaniach i długofalowych zadaniach agentowych, w tym planowaniu i korzystaniu z informacji zwrotnych ze środowiska. Przyjmuje tekst i zwraca tekst. Producent wyraźnie oddziela go od zarządzanej oferty Qwen3.8-Max: wejście wizualne i obsługa trybu bez rozumowania są dodatkowymi funkcjami tej oferty, a nie możliwościami tej konkretnej otwartej wersji.

W zadaniu programistycznym dostarcz odpowiednie moduły, wymaganie i dane wejściowe ujawniające obecne zachowanie. Poproś o zmianę z wyjaśnieniem i końcowy rezultat możliwy do sprawdzenia. W raporcie badawczym lub profesjonalnym dostarcz dowody, wymagane sekcje i kryteria oceny, a następnie poproś model o odróżnienie popartych ustaleń od założeń. Są to praktyczne zastosowania udokumentowanego zakresu zadań, a nie obietnice wykonanego kodu lub wniosków zatwierdzonych przez eksperta.

Przegląd modelu

Model mixture-of-experts z rzadką aktywacją ma łącznie 2.4 biliona parametrów i aktywuje 95 miliardów. Ma 92 warstwy i 512 ekspertów obsługiwanych przez router, z których wybiera dziesięciu wraz z jednym ekspertem współdzielonym. Jego bloki hybrydowe łączą Gated DeltaNet i bramkowaną uwagę z warstwami ekspertów według wzorca trzy do jednego. Przewidywanie wielu tokenów jest częścią treningu. Liczba aktywowanych parametrów nie jest pełnym rozmiarem wersji, a duża łączna liczba parametrów nie stanowi gwarancji czasu odpowiedzi.

Natywny kontekst wynosi 262,144 tokenów, z udokumentowanym rozszerzeniem do 1,010,000. Różni się to od domyślnego kontekstu miliona tokenów w dokumentacji referencyjnej zarządzanego Max. Używaj rzeczywistego skonfigurowanego limitu sekwencji na tekst źródłowy, historię rozmowy, rozumowanie i odpowiedź końcową, zamiast zakładać, że wszystkie największe liczby obowiązują jednocześnie.

Korzystanie z konkretnej wersji rozumującej

Rozumowanie jest wymagane przy każdej interakcji i nie można go wyłączyć. Udokumentowane wyjście rozpoczyna się blokiem rozumowania przed tekstem końcowym. reasoning\_effort obsługuje xhigh, medium i low; xhigh jest wartością domyślną. Low zmniejsza zamierzoną głębokość, ale pozostaje trybem rozumowania. Prośba o zwięzłą odpowiedź końcową może sterować żądanym rezultatem bez przekształcania tego modelu w wersję bez rozumowania.

preserve\_thinking jest domyślnie włączone. Zachowywanie rozumowania z wcześniejszych tur pomaga zadaniu iteracyjnemu przenosić dalej kontekst decyzji. Zachowuj poprawki, wyniki narzędzi i odpowiedź końcową w powiązaniu z turami, które je utworzyły. Ten model powinien przestrzegać własnego kontraktu historii zamiast dziedziczyć starszą radę usuwania każdego bloku rozumowania z dawnych wiadomości. Dokładny sposób udostępniania ustawień wysiłku i zachowywania zależy od interfejsu implementującego procedurę tej wersji.

Środowiska pracy i informacje zwrotne ze środowiska

Qwen opisuje zgodność ze środowiskami pracy programistycznej i narzędziami. Długotrwałe zadanie można wyrazić jako cel, dozwolone działania i dowody ukończenia; aplikacja może następnie dostarczać obserwacje ze sprawdzania lub wykonania. Poproś model o wyjaśnienie, jak każdy nowy wynik zmienia plan, i o zgłoszenie kwestii nierozstrzygniętych. Planowanie działania i otrzymanie rzeczywistego wyniku to różne części tego procesu.

Przykłady zarządzanego Max w karcie obejmują dodatkowe narzędzia wbudowane. Nie należy zamieniać ich w automatyczne wyszukiwanie w sieci, wykonywanie kodu lub wejście wizualne tego otwartego modelu. Jego użyteczną rolą jest komponent rozumowania tekstowego w połączonym procesie; narzędzia i efekty zewnętrzne należą do dostarczającej je aplikacji.

Zalecenia generowania

Producent zaleca temperature 1.0, top\_p 0.95, top\_k 20, min\_p 0, presence penalty 0 i repetition penalty 1.0. Tam, gdzie jest obsługiwana, kara obecności między zero a dwa może ograniczać powtarzany tekst, ale wyższe wartości mogą mieszać języki lub nieznacznie obniżać jakość. Obsługa parametrów różni się między implementacjami.

Dla skonfigurowanego procesu miliona tokenów z osobnymi limitami rozumowania i odpowiedzi końcowej Qwen zaleca 262,144 tokenów na rozumowanie i 131,072 na odpowiedź końcową. Są to warunkowe przydziały, a nie osobno ustanowione sztywne limity lub budżety mieszczące się razem w natywnym kontekście 262,144 tokenów. Przydziel wystarczająco dużo miejsca na kompletny rezultat i poproś o wynik końcowy łatwy do znalezienia po rozumowaniu.

Praktyczne ograniczenia

Ta wersja nie przyjmuje obrazów, dźwięku ani wideo. W razie potrzeby przekształć odpowiednie dowody w odpowiednią reprezentację tekstową przez osobny proces, zachowując identyfikatory pozwalające sprawdzić odpowiedź. Karta podaje rozszerzony kontekst, ale nie przedstawia kompletnej procedury rozszerzenia dla poszczególnych zadań ani uniwersalnego limitu mediów dla tego wyłącznie tekstowego modelu. Zachowaj dokładną tożsamość wersji i konfigurację, sprawdź obliczenia i propozycje kodu względem źródła oraz traktuj końcowy rezultat jako wynik do oceny, a nie dowód ukończenia całego zadania zewnętrznego.

Zadanie praktyczne

### Zadanie praktyczne

Przykład techniczny po angielsku

```
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.
```

#### Oczekiwany wynik

```
A cause analysis, one concrete correction strategy and a crash-point regression scenario.
```

#### Sprawdź wynik

```
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-a95b`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3.8-2.4t-a95b&route=Ultra&caller=qwen%2Fqwen3.8-2.4t-a95b&fmt=chat)

Alibaba /`qwen/qwen3.8-2.4t-a95b`

### Start

Qwen3.8-2.4T-A95B to model rozumowania tekstowego Qwen o architekturze mixture-of-experts z rzadką aktywacją, z 2.4 biliona parametrów ogółem i 95 miliardami aktywowanych. Ta otwarta wersja zawsze używa rozumowania, obsługuje regulowany poziom wysiłku rozumowania i zachowuje kontekst rozumowania dla długotrwałych zadań programistycznych i profesjonalnych.

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

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity qwen/qwen3.8-2.4t-a95b | Domyślnie— |
| Pole`messages` | Typ`message[]` | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 | Domyślnie— |
| Pole`messages[].role` | Typ`string` | WymaganieWymagane | Wartości i limity Przykłady: system, user, assistant, tool, function Warunki: Te role są jawnie reprezentowane przez typy zgodności w kodzie źródłowym; dokładny zestaw ról pozostaje właściwy dla danego modelu. Zależy od modelu | Domyślnie— |
| Pole`messages[].content` | Typ`string\|content_part[]\|null` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`messages[].tool_calls` | Typ`tool_call[]` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`messages[].tool_call_id` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: role=tool; użyj rzeczywiście zwróconego ID | Domyślnie— |
| Pole`messages[].name` | Typ`string` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`messages[].reasoning_content` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: Przekazuj z powrotem rzeczywiście zwróconą treść rozumowania, gdy ten model jej używa | Domyślnie— |
| Pole`messages[].reasoning_details` | Typ`object\|array` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`max_tokens` | Typ`integer` | WymaganieOpcjonalne | Wartości i limity Minimum: 1 Zależy od modelu | Domyślnie— |
| Pole`max_completion_tokens` | Typ`integer` | WymaganieOpcjonalne | Wartości i limity Minimum: 1 Zależy od modelu | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |
| Pole`stream_options.include_usage` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`temperature` | Typ`number` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`top_p` | Typ`number` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`stop` | Typ`string\|string[]` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`tools` | Typ`function_tool[]` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`tools[].type` | Typ`string` | WymaganieOpcjonalne | Wartości i limity function Zależy od modelu | Domyślnie— |
| Pole`tools[].function.name` | Typ`string` | WymaganieWymagane | Wartości i limity Obowiązuje, gdy: udostępnione narzędzie funkcji | Domyślnie— |
| Pole`tools[].function.description` | Typ`string` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`tools[].function.parameters` | Typ`JSON_schema` | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
| Pole`tool_choice` | Typ`string\|object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`parallel_tool_calls` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`response_format` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`reasoning_effort` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`reasoning` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`service_tier` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`instructions` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Pole zgodności | Domyślnie— |
| Pole`functions` | Typ`function[]` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`function_call` | Typ`string\|object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`prompt_cache_options` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`modalities` | Typ`string[]` | WymaganieOpcjonalne | Wartości i limity text | Domyślnie— |
| Pole`provider` | Typ`object` | WymaganieOpcjonalne | Wartości i limity Warunki: provider.options jest odrzucane na tej tekstowej trasie Ultra | Domyślnie— |
| Pole`cache_control.ttl` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Warunki: 1h jest odrzucane w rzeczywistych miejscach pamięci podręcznej promptów | Domyślnie— |

Kombinacje materiałów wejściowych

**Tekst** · tekst UTF8

`messages[].content`

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages |
| Parametr`material_types` | Kontrakttext |
| Parametr`messages` | Kontrakttablica wiadomości o strukturze role/content |
| Parametr`file_material` | Kontraktrzeczywisty dokument UTF-8 wstawiony jako dosłowny tekst; bez wywnioskowanego ID pliku |
| Parametr`optional_controls` | Kontraktstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametr`control_scope` | Kontraktwłaściwe dla modelu; narzędzia funkcji użytkownika różnią się od narzędzi hostowanych |
| Parametr`output_modalities` | Kontrakttext |
| Parametr`hosted_operations` | Kontraktfalse |
| Parametr`multimodal_input_binding` | Kontraktnull |

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

Stawka standardowa Gdy wybrany jest tryb szybki

Tryb flex

Stawka standardowa Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Intensywność rozumowania · low

Stawka standardowa Gdy intensywność rozumowania jest ustawiona na low

Intensywność rozumowania · medium

Stawka standardowa Gdy intensywność rozumowania jest ustawiona na medium

Intensywność rozumowania · xhigh

Stawka standardowa Gdy intensywność rozumowania jest ustawiona na xhigh

#### Stawki Ailoot

#### Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

| Konfiguracja | Tabela stawek | Tokeny kontekstu, więcej niż | Tokeny kontekstu, do podanej wartości włącznie | Opłata |
| --- | --- | --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Tokeny kontekstu, więcej niż— | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.004** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.012** / 1K tokenów Wejście · Odczyt cache **$0.0005** / 1K tokenów Wejście · Zapis do cache **$0.005** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |
| KonfiguracjaPrzedział długości żądania 1 | Tabela stawek— | Tokeny kontekstu, więcej niż0 | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.004** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.012** / 1K tokenów Wejście · Odczyt cache **$0.0005** / 1K tokenów Wejście · Zapis do cache **$0.005** / 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 →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · OpenAI Chat

curlPython SDKStrumień w Pythonie

```bash
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
```

```python
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"))
```

```python
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")
```

### 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

| Pole | Typ |
| --- | --- |
| Pole`choices[].index` | Typinteger |
| Pole`choices[].message.content` | Typstring\|null |
| Pole`choices[].message.tool_calls` | Typtool\_call\[\] |
| Pole`choices[].message.reasoning_content` | Typstring |
| Pole`choices[].message.reasoning_details` | Typobject\|array |
| Pole`choices[].finish_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3.8-2.4t-a95b&route=Ultra&caller=qwen%2Fqwen3.8-2.4t-a95b&fmt=chat)

#### Aliasy ścieżek metod

Użyj ścieżek metod podanych powyżej.

#### Powiązane ID modeli

[`qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3.8-2.4t-a95b&route=Ultra&caller=qwen%2Fqwen3.8-2.4t-a95b&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3.8-2.4t-a95b`

[`qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3.8-2.4t-a95b&route=Ultra&caller=qwen%2Fqwen3.8-2.4t-a95b&fmt=messages)

Alibaba /`qwen/qwen3.8-2.4t-a95b`

### Start

Qwen3.8-2.4T-A95B to model rozumowania tekstowego Qwen o architekturze mixture-of-experts z rzadką aktywacją, z 2.4 biliona parametrów ogółem i 95 miliardami aktywowanych. Ta otwarta wersja zawsze używa rozumowania, obsługuje regulowany poziom wysiłku rozumowania i zachowuje kontekst rozumowania dla długotrwałych zadań programistycznych i profesjonalnych.

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

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity qwen/qwen3.8-2.4t-a95b | Domyślnie— |
| Pole`messages` | Typ`message[]` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`messages[].role` | Typ`string` | WymaganieWymagane | Wartości i limity user, assistant | Domyślnie— |
| Pole`messages[].content` | Typ`string` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`max_tokens` | Typ`integer` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |

Kombinacje materiałów wejściowych

**Tekst** · tekst UTF-8

`ciąg messages[].content`

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages, max\_tokens |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`material_types` | Kontrakttext |
| Parametr`text_file_material` | KontraktOdczytaj 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

Stawka standardowa Gdy wybrany jest tryb szybki

Tryb flex

Stawka standardowa Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Stawka standardowa Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Intensywność rozumowania · low

Stawka standardowa Gdy intensywność rozumowania jest ustawiona na low

Intensywność rozumowania · medium

Stawka standardowa Gdy intensywność rozumowania jest ustawiona na medium

Intensywność rozumowania · xhigh

Stawka standardowa Gdy intensywność rozumowania jest ustawiona na xhigh

#### Stawki Ailoot

#### Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

| Konfiguracja | Tabela stawek | Tokeny kontekstu, więcej niż | Tokeny kontekstu, do podanej wartości włącznie | Opłata |
| --- | --- | --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Tokeny kontekstu, więcej niż— | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.004** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.012** / 1K tokenów Wejście · Odczyt cache **$0.0005** / 1K tokenów Wejście · Zapis do cache **$0.005** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |
| KonfiguracjaPrzedział długości żądania 1 | Tabela stawek— | Tokeny kontekstu, więcej niż0 | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.004** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.012** / 1K tokenów Wejście · Odczyt cache **$0.0005** / 1K tokenów Wejście · Zapis do cache **$0.005** / 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 →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · Anthropic Messages

Kompletna minimalna treść żądania JSONcurl · użyj swojego dokumentu UTF-8Python · zapisz kompletny wynik

```json
{
  "model": "qwen/qwen3.8-2.4t-a95b",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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
```

```python
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))
```

### 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

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`content[]` | Typtext\|thinking\|tool\_use\|other content block |
| Pole`stop_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3.8-2.4t-a95b&route=Ultra&caller=qwen%2Fqwen3.8-2.4t-a95b&fmt=messages)

#### Aliasy ścieżek metod

Użyj ścieżek metod podanych powyżej.

#### Powiązane ID modeli

[`qwen/qwen3.8-2.4t-a95b`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3.8-2.4t-a95b&route=Ultra&caller=qwen%2Fqwen3.8-2.4t-a95b&fmt=messages)

FAQ · Qwen: Qwen3.8 2.4T A95B

Jakie dane wejściowe i wyniki są dostępne?

`POST /v1/chat/completions` · `qwen/qwen3.8-2.4t-a95b`: `text` → `text` `POST /v1/messages` · `qwen/qwen3.8-2.4t-a95b`: `text` → `json`, `sse`

Jakich pól używa żądanie?

`POST /v1/chat/completions` · `qwen/qwen3.8-2.4t-a95b`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3.8-2.4t-a95b`: `model`, `messages`, `max_tokens`, `stream`

Jakie limity obowiązują?

`POST /v1/chat/completions` · `qwen/qwen3.8-2.4t-a95b`: `messages.min_items`: `1`

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ę](https://ailoot.ai/docs/pl/billing/subscriptions/) · [Sprawdź ceny modeli](https://ailoot.ai/models/pl/)

## 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ą](mailto:support@ailoot.ai) · [Oferta i umowa licencyjna](https://ailoot.ai/legal/offer?lang=pl)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





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





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
