Source: https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/
Canonical: https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/
Language: pl

# LiquidAI: LFM2.5-24B-A2B

[Markdown](https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/index.md) · [JSON](https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/facts.json)

## [LiquidAI: LFM2.5-24B-A2B](https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/)

LFM2.5-24B-A2B to model rozumowania tekstowego LiquidAI dla agentów korzystających z narzędzi, z 24B parametrów ogółem i 2,45B aktywnych. Rozumuje przed odpowiedzią, obsługuje wywołania narzędzi i wyjście kierowane schematem, z opublikowanym kontekstem 128 000 tokenów i limitem odpowiedzi 8 192 tokenów.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/liquid-lfm-2-5-24b-a2b/#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.

LFM2.5-24B-A2B to model mieszanki ekspertów LiquidAI do rozumowania tekstowego i agentów używających narzędzi. Ma 24 miliardy parametrów ogółem, z 2,45 miliarda aktywnych dla tokenu. Rozumowanie jest częścią każdej odpowiedzi, więc zadanie powinno definiować cel, dowody do użycia i wynik potrzebny aplikacji.

#### Nadaj agentowi ograniczony cel

Model pasuje do procesów, w których model językowy wybiera następny krok, odczytuje wynikową obserwację, a następnie kontynuuje w kierunku rezultatu. Określ cel w kategoriach, które aplikacja może sprawdzić: znalezienie odpowiedniego rekordu, porównanie dwóch konfiguracji, przygotowanie propozycji zmiany lub stworzenie ustrukturyzowanej oceny.

Dostarcz narzędzia o jasnych celach i zachowuj zwrócone obserwacje w kontekście zadania. Model publikuje obsługę wywoływania narzędzi, w tym wyboru narzędzia, gdy interfejs zapewnia tę możliwość. Wykonanie należy do aplikacji sterującej narzędziami. Oddzielaj zwróconą obserwację od instrukcji napisanej przez model, zwłaszcza gdy późniejszy krok zależy od wyniku wyszukiwania lub odczytu.

#### Wyszukiwanie dla pracy wymagającej wiedzy

Wydawca zaleca pozyskiwanie informacji lub wyszukiwanie w sieci dla zadań zależnych od szczegółowej wiedzy zewnętrznej. Włącz krok gromadzenia dowodów do procesu, zamiast prosić model o wymyślanie faktów, których nie otrzymał. Oznacz odnalezione fragmenty i poproś, aby odpowiedź wiązała wnioski z tymi fragmentami.

W procesie wsparcia może to oznaczać znalezienie odpowiedniej polityki i wyjaśnienie jej zastosowania do podanego przypadku. W zadaniu technicznym może to oznaczać porównanie dokumentacji i konfiguracji przed proponowaniem zmiany. Zachowuj ważne odnalezione treści w kontekście, aby odpowiedź końcową można było sprawdzić bez powtarzania każdego wyszukiwania.

#### Ustrukturyzowane odpowiedzi i wybór próbkowania

Opublikowany model obsługuje ustrukturyzowane wyjście kierowane schematem. Zdefiniuj niewielki format wyniku wokół tego, co wykorzystuje aplikacja, na przykład wybraną kategorię, wyjaśnienie, odniesienia do dowodów i następne działanie. Oddzielaj proces rozumowania modelu od pól, które kolejny komponent musi przechować lub wyświetlić.

LiquidAI podaje temperature 0,1, top\_k 50 i repetition\_penalty 1,05 jako opublikowane zalecenia próbkowania, a zapisany katalog powtarza te wartości domyślne. Zapewniają powtarzalny punkt wyjścia do oceny konkretnego procesu. Zachowuj spójność wybranych ustawień przy porównywaniu reprezentatywnych zadań.

#### Pojemność i język

Opublikowany wpis usługi podaje okno kontekstu 128 000 tokenów i limit odpowiedzi 8 192 tokenów. Przygotuj zwięzłą specyfikację odpowiedzi, aby końcowy rezultat mieścił się w tym limicie wyjścia. Zachowuj razem odpowiednie dowody i pozostaw wystarczająco dużo miejsca na żądany rezultat.

Producent wymienia wielojęzyczny zestaw obejmujący angielski, rosyjski, chiński, hiszpański, arabski i inne języki. Zachowuj terminologię źródłową i nazwy wymagające zachowania, korzystając z modelu w pracy wielojęzycznej. Zadanie ze stałym słownictwem korzysta z jednoznacznego słownika i tych samych konwencji wyjścia w różnych językach.

#### Możliwości

- Rozumowanie wyłącznie tekstowe w mieszance ekspertów: 24B parametrów ogółem, 2,45B aktywnych.
- Obowiązkowe rozumowanie przed odpowiedzią końcową.
- Opublikowane narzędzia, wybór narzędzia i ustrukturyzowane wyjście zgodne z JSON-schema.
- Procesy zorientowane na pozyskiwanie informacji dla zadań wymagających wiedzy.
- Opublikowany kontekst 128 000 tokenów i limit odpowiedzi 8 192 tokenów.

#### Zastosowania

- **Asystent oparty na wyszukanych informacjach** — Pytanie, odnalezione fragmenty i wymagany układ odpowiedzi. Wynik: Odpowiedź powiązana z dowodami, którą można sprawdzić w tych fragmentach.
- **Wstępne sortowanie spraw z użyciem narzędzi** — Przypadek o ograniczonym zakresie i kontrolowane narzędzia wyszukiwania. Wynik: Ustrukturyzowana ocena i proponowane następne działanie.
- **Porównanie konfiguracji** — Odpowiednia konfiguracja, dokumentacja i kryteria porównania. Wynik: Zestaw zidentyfikowanych różnic ze wspierającymi dowodami.
- **Ustrukturyzowana analiza wielojęzyczna** — Tekst źródłowy, słownik i spójne pola wyników. Wynik: Porównywalne rekordy zachowujące chronioną terminologię.

#### Ograniczenia

- **Kontekst** — Opublikowane okno kontekstu usługi: 128 000 tokenów.
- **Odpowiedź** — Opublikowany limit odpowiedzi: 8 192 tokeny.
- **Rozumowanie** — Model rozumuje przed odpowiedzią; obowiązkowe rozumowanie jest częścią opublikowanej konfiguracji.
- **Wejście/wyjście** — Opublikowany model przyjmuje tekst i zwraca tekst.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `liquid/lfm-2.5-24b-a2b`

[`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/#m=liquid%2Flfm-2.5-24b-a2b&route=Ultra&caller=liquid%2Flfm-2.5-24b-a2b&fmt=chat)

LiquidAI /`liquid/lfm-2.5-24b-a2b`

### Start

LFM2.5-24B-A2B to model rozumowania tekstowego LiquidAI dla agentów korzystających z narzędzi, z 24B parametrów ogółem i 2,45B aktywnych. Rozumuje przed odpowiedzią, obsługuje wywołania narzędzi i wyjście kierowane schematem, z opublikowanym kontekstem 128 000 tokenów i limitem odpowiedzi 8 192 tokenów.

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 liquid/lfm-2.5-24b-a2b | 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 Zależy od modelu | Domyślnie— |
| Pole`messages[].content` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: Rozmowa tekstowa | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |

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 |
| Parametr`control_scope` | KontraktRozmowa tekstowa; stream jest wartością logiczną i domyślnie wynosi false. |
| Parametr`output_modalities` | Kontrakttext |
| Parametr`hosted_operations` | Kontraktfalse |
| Parametr`multimodal_input_binding` | Kontraktnull |

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

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.0001** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0014** / 1K tokenów Wejście · Odczyt cache **$0.00005** / 1K tokenów Wejście · Zapis do cache **—** / 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.0001** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0014** / 1K tokenów Wejście · Odczyt cache **$0.00005** / 1K tokenów Wejście · Zapis do cache **—** / 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 SDK

```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":"liquid/lfm-2.5-24b-a2b","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
```

```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="liquid/lfm-2.5-24b-a2b", 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

| 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** [`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/#m=liquid%2Flfm-2.5-24b-a2b&route=Ultra&caller=liquid%2Flfm-2.5-24b-a2b&fmt=chat)

#### Aliasy ścieżek metod

`/chat/completions`

#### Powiązane ID modeli

[`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/#m=liquid%2Flfm-2.5-24b-a2b&route=Ultra&caller=liquid%2Flfm-2.5-24b-a2b&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `liquid/lfm-2.5-24b-a2b`

[`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/#m=liquid%2Flfm-2.5-24b-a2b&route=Ultra&caller=liquid%2Flfm-2.5-24b-a2b&fmt=messages)

LiquidAI /`liquid/lfm-2.5-24b-a2b`

### Start

LFM2.5-24B-A2B to model rozumowania tekstowego LiquidAI dla agentów korzystających z narzędzi, z 24B parametrów ogółem i 2,45B aktywnych. Rozumuje przed odpowiedzią, obsługuje wywołania narzędzi i wyjście kierowane schematem, z opublikowanym kontekstem 128 000 tokenów i limitem odpowiedzi 8 192 tokenów.

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 liquid/lfm-2.5-24b-a2b | 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

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.0001** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0014** / 1K tokenów Wejście · Odczyt cache **$0.00005** / 1K tokenów Wejście · Zapis do cache **—** / 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.0001** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0014** / 1K tokenów Wejście · Odczyt cache **$0.00005** / 1K tokenów Wejście · Zapis do cache **—** / 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": "liquid/lfm-2.5-24b-a2b",
  "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': 'liquid/lfm-2.5-24b-a2b', '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': 'liquid/lfm-2.5-24b-a2b', '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** [`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/#m=liquid%2Flfm-2.5-24b-a2b&route=Ultra&caller=liquid%2Flfm-2.5-24b-a2b&fmt=messages)

#### Aliasy ścieżek metod

`/chat/completions`

#### Powiązane ID modeli

[`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pl/#m=liquid%2Flfm-2.5-24b-a2b&route=Ultra&caller=liquid%2Flfm-2.5-24b-a2b&fmt=messages)

FAQ · LiquidAI: LFM2.5-24B-A2B

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

`POST /v1/chat/completions` · `liquid/lfm-2.5-24b-a2b`: `text` → `text` `POST /v1/messages` · `liquid/lfm-2.5-24b-a2b`: `text` → `json`, `sse`

Jakich pól używa żądanie?

`POST /v1/chat/completions` · `liquid/lfm-2.5-24b-a2b`: `model`, `messages`, `stream` `POST /v1/messages` · `liquid/lfm-2.5-24b-a2b`: `model`, `messages`, `max_tokens`, `stream`

Jakie limity obowiązują?

`POST /v1/chat/completions` · `liquid/lfm-2.5-24b-a2b`: `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.
