Source: https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/
Canonical: https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/
Language: pl

# Qwen3 30B A3B FP8

[Markdown](https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/index.md) · [JSON](https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/facts.json)

## [Qwen3 30B A3B FP8](https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/)

Qwen3-30B-A3B-FP8 to tekstowy model mixture-of-experts Qwen skwantyzowany do FP8, z wyborem trybu z myśleniem lub bezpośredniej odpowiedzi. Używaj go do rozumowania matematycznego, programowania, pisania wielojęzycznego i pracy z narzędziami, zachowując dokładną edycję FP8 i jej konfigurację kontekstu.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/pl/qwen-qwen3-30b-a3b-fp8/#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.

Możliwości Qwen3

Qwen3-30B-A3B-FP8 udostępnia hybrydowy model generowania tekstu Qwen jako checkpoint z drobnoziarnistą kwantyzacją FP8. Przyjmuje rozmowy tekstowe i tworzy tekst: wyjaśnienia, kod, tłumaczenia, twórcze teksty i odpowiedzi w wielu turach. Rodzina Qwen3 obsługuje 119 języków i dialektów, w tym instrukcje wielojęzyczne. Jej dwa tryby odpowiedzi pozwalają zarezerwować jawne rozumowanie dla matematyki, programowania i problemów logicznych, a następnie używać bezpośrednich odpowiedzi do prostego przeredagowania lub dialogu. Zakres językowy nie oznacza takiej samej niezawodności w każdym języku lub specjalistycznej dziedzinie.

Przegląd modelu

Model ma łącznie 30,5 miliarda parametrów i aktywuje 3,3 miliarda dla tokena. Jego architektura mixture-of-experts wykorzystuje 128 ekspertów, wybierając ośmiu na token, w 48 warstwach. Są to dane architektury modelu; mniejsza liczba aktywowanych parametrów nie oznacza, że cały checkpoint zawiera tylko 3,3 miliarda parametrów. Jest to edycja FP8 modelu Qwen3-30B-A3B, odrębna od checkpointu o pierwotnej precyzji numerycznej i od późniejszych wydań Thinking-2507 oraz Instruct-2507.

Korzystanie z interfejsu tekstowego

Przygotuj razem zadanie, istotny tekst źródłowy i oczekiwany format odpowiedzi. W prośbie o debugowanie podaj błędnie działającą funkcję, zaobserwowany błąd, zamierzone zachowanie i minimalne dane wejściowe, a następnie poproś o wyjaśnienie, poprawkę i sugerowane sprawdzenia. Przy edycji wielojęzycznej określ język docelowy, odbiorców i terminy, które muszą pozostać bez zmian. Poproś o zwięzły końcowy rezultat, gdy długie wyjaśnienie mogłoby przesłonić wynik. Są to praktyczne sposoby wykorzystania udokumentowanych możliwości tekstowych i programistycznych, a nie gwarancje, że wygenerowany kod został wykonany.

Edycja FP8

Qwen określa drobnoziarnistą kwantyzację FP8 z blokami wag 128 na 128. Konfiguracja checkpointu pozostawia wybrane komponenty poza konwersją i wykorzystuje dynamiczną kwantyzację aktywacji. FP8 opisuje reprezentację numeryczną, a nie nowy tryb rozmowy czy obiecany czas odpowiedzi. Zgodność ma znaczenie: karta Qwen odnotowuje zastrzeżenie dotyczące rozproszonej inferencji na wielu urządzeniach dla tej metody kwantyzacji. Dlatego skwantyzowany checkpoint powinien zachowywać dokładną nazwę edycji zamiast niejawnie przejmować twierdzenia dotyczące innej wersji.

Tryby z myśleniem i bezpośredniej odpowiedzi

Szablon rozmowy producenta domyślnie włącza myślenie. W tym trybie blok rozumowania poprzedza końcową odpowiedź. Twarde ustawienie enable\_thinking=False pomija ten blok. Przy włączonym myśleniu /think i /no\_think zapewniają wskazówki na poziomie tury zgodnie z najnowszą instrukcją; przy miękkim wyłączeniu nadal może pojawić się pusty blok rozumowania. Te znaczniki promptu nie mogą uchylić twardego wyłączenia. Są to udokumentowane kontrolki producenta; ich udostępnienie przez aplikację zależy od jej interfejsu.

Zastosowania agentowe

Qwen dokumentuje wywoływanie narzędzi w obu trybach i zaleca Qwen-Agent do wymaganych szablonów i parsowania. Przekaż agentowi jasny opis narzędzia, dozwolone dane wejściowe i konkretny rezultat, taki jak sprawdzenie dostarczonych danych przed przygotowaniem raportu. Model może uczestniczyć w przepływie narzędziowym; wyszukiwanie, wykonywanie kodu i działania zewnętrzne zapewniają narzędzia podłączone przez aplikację. Sama zdolność korzystania z narzędzi nie daje modelowi dostępu do plików ani aktualnych informacji.

Długi tekst

Qwen opisuje natywny kontekst 32 768 tokenów i potwierdza rozszerzenie do 131 072 z YaRN. Dane wejściowe, historia rozmowy, rozumowanie i odpowiedź konkurują o przestrzeń kontekstu. Dostarczona konfiguracja pozycji wynosi 40 960; Qwen wyjaśnia ją jako alokację na typowe prompty i rozbudowane generowanie, a nie zamiennik podanego natywnego kontekstu. Statyczny YaRN może obniżyć jakość przy krótszych danych wejściowych, więc rozszerzenie jest uzależnione od konfiguracji i potrzeb. W pracy z dokumentami oznacz sekcje i poproś, aby odpowiedź wskazywała fragmenty wspierające każdy wniosek.

Generowanie i ograniczenia

Qwen zaleca temperature 0,6, top\_p 0,95, top\_k 20 i min\_p 0 dla myślenia oraz 0,7, 0,8, 20 i 0 dla odpowiedzi bezpośrednich. Dekodowanie zachłanne może prowadzić do gorszego rozumowania lub powtarzanego tekstu. Wskazówki zalecają budżet generowania 32 768 tokenów dla większości zapytań i 38 912 dla wyjątkowo złożonych problemów; są to zalecenia, a nie osobno ustalony twardy limit wyjścia. Większe wartości presence penalty mogą zmniejszać powtórzenia, ale też mieszać języki lub obniżać jakość. Zachowuj w historii rozmowy tylko końcowe odpowiedzi. Wyraźnie określ wymagany schemat odpowiedzi i sprawdzaj wyniki matematyczne, wnioski faktyczne i wygenerowane poprawki względem dostarczonych dowodów przed ich użyciem.

Zadanie praktyczne

### Zadanie praktyczne

Przykład techniczny po angielsku

```
Edit a multilingual service message

Translate into German for an office administrator: “The Atlas Link update is available, but installing it will restart the device. Save your work before starting.” Keep Atlas Link unchanged, preserve the restart warning and use a polite, concise tone. Return only the translated notice without adding a duration or maintenance window.
```

#### Oczekiwany wynik

```
A concise German notice retaining the product name, restart warning and save-work instruction.
```

#### Sprawdź wynik

```
Check that the translation keeps the restart as a consequence of installation and does not add an unprovided downtime estimate.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `qwen/qwen3-30b-a3b-fp8`

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=chat)

Alibaba /`qwen/qwen3-30b-a3b-fp8`

### Start

Qwen3-30B-A3B-FP8 to tekstowy model mixture-of-experts Qwen skwantyzowany do FP8, z wyborem trybu z myśleniem lub bezpośredniej odpowiedzi. Używaj go do rozumowania matematycznego, programowania, pisania wielojęzycznego i pracy z narzędziami, zachowując dokładną edycję FP8 i jej konfigurację kontekstu.

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-30b-a3b-fp8 | 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

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

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.0002** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.001** / 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 →](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-30b-a3b-fp8", "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-30b-a3b-fp8',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-30b-a3b-fp8',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-30b-a3b-fp8`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=chat)

#### Aliasy ścieżek metod

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

#### Powiązane ID modeli

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `qwen/qwen3-30b-a3b-fp8`

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=messages)

Alibaba /`qwen/qwen3-30b-a3b-fp8`

### Start

Qwen3-30B-A3B-FP8 to tekstowy model mixture-of-experts Qwen skwantyzowany do FP8, z wyborem trybu z myśleniem lub bezpośredniej odpowiedzi. Używaj go do rozumowania matematycznego, programowania, pisania wielojęzycznego i pracy z narzędziami, zachowując dokładną edycję FP8 i jej konfigurację kontekstu.

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-30b-a3b-fp8 | 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

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

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.0002** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.001** / 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 →](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-30b-a3b-fp8",
  "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-30b-a3b-fp8', '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-30b-a3b-fp8', '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-30b-a3b-fp8`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=messages)

#### Aliasy ścieżek metod

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

#### Powiązane ID modeli

[`qwen/qwen3-30b-a3b-fp8`](https://ailoot.ai/models/pl/#m=qwen%2Fqwen3-30b-a3b-fp8&route=Ultra&caller=qwen%2Fqwen3-30b-a3b-fp8&fmt=messages)

FAQ · qwen/qwen3-30b-a3b-fp8

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

`POST /v1/chat/completions` · `qwen/qwen3-30b-a3b-fp8`: `text` → `text` `POST /v1/messages` · `qwen/qwen3-30b-a3b-fp8`: `text` → `json`, `sse`

Jakich pól używa żądanie?

`POST /v1/chat/completions` · `qwen/qwen3-30b-a3b-fp8`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen/qwen3-30b-a3b-fp8`: `model`, `messages`, `max_tokens`, `stream`

Jakie limity obowiązują?

`POST /v1/chat/completions` · `qwen/qwen3-30b-a3b-fp8`: `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.
