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

# LiquidAI: LFM2.5-24B-A2B

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

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

LFM2.5-24B-A2B é o modelo de raciocínio de texto da LiquidAI para agentes orientados por ferramentas, com 24 mil milhões de parâmetros totais e 2,45 mil milhões ativos. Raciocina antes de responder, suporta chamadas a ferramentas e saída orientada por esquema e está publicado com um contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens.

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

Sobre o modelo

Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.

LFM2.5-24B-A2B é um modelo de mistura de especialistas da LiquidAI para raciocínio baseado em texto e agentes que utilizam ferramentas. Tem 24 mil milhões de parâmetros totais, com 2,45 mil milhões ativos para um token. O raciocínio faz parte de cada resposta, pelo que a tarefa deveria definir o objetivo, as evidências a usar e o resultado de que a aplicação necessita.

#### Dê a um agente um objetivo delimitado

O modelo adequa-se a fluxos em que um modelo de linguagem escolhe um próximo passo, lê a observação resultante e continua depois em direção a um resultado a entregar. Indique o objetivo em termos que a aplicação possa verificar: encontrar o registo relevante, comparar duas configurações, preparar uma proposta de alteração ou produzir uma avaliação estruturada.

Forneça ferramentas com finalidades claras e conserve as observações devolvidas no contexto da tarefa. O modelo publica suporte para chamadas a ferramentas, incluindo a seleção de uma ferramenta quando a interface disponibiliza essa capacidade. A execução pertence à aplicação que controla essas ferramentas. Mantenha uma observação devolvida distinta de uma instrução escrita pelo modelo, sobretudo quando um passo posterior depende do resultado de uma pesquisa ou consulta.

#### Recuperação de informação para trabalho intensivo em conhecimento

O editor recomenda recuperação de informação ou pesquisa na Web para tarefas que dependem de conhecimento externo detalhado. Integre o passo de obtenção de evidências no fluxo, em vez de pedir ao modelo que invente factos que não recebeu. Identifique as passagens recuperadas e peça que a resposta ligue as suas conclusões a essas passagens.

Num fluxo de apoio, isto pode significar encontrar a política relevante e explicar como se aplica ao caso fornecido. Numa tarefa técnica, pode significar comparar a documentação e a configuração antes de propor uma alteração. Mantenha o conteúdo recuperado importante no contexto, para que a resposta final possa ser verificada sem repetir todas as consultas.

#### Respostas estruturadas e escolhas de amostragem

O modelo publicado suporta saídas estruturadas orientadas por esquema. Defina uma estrutura de resultado pequena em torno do que a aplicação consome, como uma categoria selecionada, uma explicação, referências às evidências e uma próxima ação. Separe o processo de raciocínio do modelo dos campos que o componente seguinte precisa de guardar ou apresentar.

A LiquidAI indica temperatura 0,1, top\_k 50 e repetition\_penalty 1,05 como recomendações publicadas de amostragem, e o catálogo guardado repete essas predefinições. Fornecem um ponto de partida repetível para avaliar um fluxo específico. Mantenha as definições escolhidas consistentes ao comparar tarefas representativas.

#### Capacidade e linguagem

O registo de serviço publicado indica uma janela de contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens. Prepare uma especificação concisa da resposta para que o resultado final caiba nesse limite de saída. Mantenha as evidências relevantes em conjunto e deixe espaço de saída suficiente para o resultado pedido.

O fabricante indica um conjunto multilingue que inclui inglês, russo, chinês, espanhol, árabe e outras línguas. Conserve a terminologia de origem e os nomes a preservar ao usar o modelo em trabalho multilingue. Uma tarefa com vocabulário fixo beneficia de um glossário explícito e das mesmas convenções de saída entre línguas.

#### Capacidades

- Raciocínio de mistura de especialistas apenas em texto: 24 mil milhões de parâmetros totais, 2,45 mil milhões ativos.
- Raciocínio obrigatório antes da resposta final.
- Ferramentas publicadas, seleção de ferramentas e saída estruturada com esquema JSON.
- Fluxos orientados para recuperação de informação em tarefas dependentes de conhecimento.
- Contexto publicado de 128 000 tokens e limite de conclusão de 8 192 tokens.

#### Casos de utilização

- **Assistente apoiado por recuperação de informação** — Uma pergunta, passagens recuperadas e uma organização exigida para a resposta. Resultado: Uma resposta ligada às evidências que pode ser verificada face às passagens.
- **Triagem orientada por ferramentas** — Um caso delimitado e ferramentas de consulta controladas. Resultado: Uma avaliação estruturada e uma próxima ação proposta.
- **Comparação de configurações** — Configuração, documentação e critérios de comparação relevantes. Resultado: Um conjunto de diferenças identificado com evidências de apoio.
- **Análise estruturada multilingue** — Texto de origem, um glossário e campos de resultado consistentes. Resultado: Registos comparáveis que conservam a terminologia a preservar.

#### Limites

- **Contexto** — Janela de contexto do serviço publicada: 128 000 tokens.
- **Resposta** — Limite de conclusão publicado: 8 192 tokens.
- **Raciocínio** — O modelo raciocina antes de responder; o raciocínio obrigatório faz parte da configuração publicada.
- **Entrada/saída** — O modelo publicado aceita texto e devolve texto.

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

[`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pt-pt/#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`

### Introdução

LFM2.5-24B-A2B é o modelo de raciocínio de texto da LiquidAI para agentes orientados por ferramentas, com 24 mil milhões de parâmetros totais e 2,45 mil milhões ativos. Raciocina antes de responder, suporta chamadas a ferramentas e saída orientada por esquema e está publicado com um contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens.

Entradas aceites

Texto

Resultados

Texto

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Entrada

`text`

Saída

`text`

Formato de saída

json ou SSE

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites liquid/lfm-2.5-24b-a2b | Predefinição— |
| Campo`messages` | Tipo`message[]` | RequisitoObrigatório | Valores e limites Número mínimo de elementos: 1 | Predefinição— |
| Campo`messages[].role` | Tipo`string` | RequisitoObrigatório | Valores e limites Depende do modelo | Predefinição— |
| Campo`messages[].content` | Tipo`string` | RequisitoOpcional | Valores e limites Aplica-se quando: Conversação textual | Predefinição— |
| Campo`stream` | Tipo`boolean` | RequisitoOpcional | Valores e limites | Predefiniçãofalse |

Combinações de materiais de entrada

**Texto** · Texto UTF8

`messages[].content`

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, messages |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`messages` | ContratoLista de mensagens com estrutura role/content |
| Parâmetro`file_material` | ContratoDocumento UTF-8 real inserido como texto literal; nenhum ID de ficheiro inferido |
| Parâmetro`optional_controls` | Contratostream |
| Parâmetro`control_scope` | ContratoConversação textual; stream é um booleano e tem false como predefinição. |
| Parâmetro`output_modalities` | Contratotext |
| Parâmetro`hosted_operations` | Contratofalse |
| Parâmetro`multimodal_input_binding` | Contratonull |

Aliases do método: `/chat/completions`

Ciclo de vida: `synchronous_or_streamed`

Envie o ID exato do modelo com messages.

O comprimento do contexto não é um limite de saída.

Um ficheiro de texto pode fornecer texto literal; as entradas de imagem/áudio/objeto de ficheiro exigem uma associação exata.

### Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido

Não especificado Quando o modo rápido está selecionado

Modo flex

Não especificado Quando o modo flex está selecionado

Esforço máximo de raciocínio

Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

#### Tarifas Ailoot

#### Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0001** / 1K tokens Saída · Tokens de saída **$0.0014** / 1K tokens Entrada · Leitura da cache **$0.00005** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0001** / 1K tokens Saída · Tokens de saída **$0.0014** / 1K tokens Entrada · Leitura da cache **$0.00005** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. [Como funcionam a reserva e a liquidação →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

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

### Receber e guardar os resultados

#### Ailoot Ultra · OpenAI Chat

json ou SSE

##### Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve cada opção com o conteúdo, as chamadas de ferramentas e o raciocínio. Em SSE, junte os deltas por índice de opção e ferramenta e mantenha o motivo final de conclusão e os dados de utilização.

##### Se for necessário verificar a resposta original

Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`choices[].index` | Tipointeger |
| Campo`choices[].message.content` | Tipostring\|null |
| Campo`choices[].message.tool_calls` | Tipotool\_call\[\] |
| Campo`choices[].message.reasoning_content` | Tipostring |
| Campo`choices[].message.reasoning_details` | Tipoobject\|array |
| Campo`choices[].finish_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |

### Aliases

#### Aliases do modelo

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

#### Aliases dos caminhos dos métodos

`/chat/completions`

#### IDs de chamada relacionados

[`liquid/lfm-2.5-24b-a2b`](https://ailoot.ai/models/pt-pt/#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/pt-pt/#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`

### Introdução

LFM2.5-24B-A2B é o modelo de raciocínio de texto da LiquidAI para agentes orientados por ferramentas, com 24 mil milhões de parâmetros totais e 2,45 mil milhões ativos. Raciocina antes de responder, suporta chamadas a ferramentas e saída orientada por esquema e está publicado com um contexto de 128 000 tokens e um limite de conclusão de 8 192 tokens.

Entradas aceites

Texto

Resultados

json · sse

### Disponível no Ailoot · entradas e métodos

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Entrada

`text`

Saída

`json`, `sse`

Formato de saída

JSON ou SSE

| Campo | Tipo | Requisito | Valores e limites | Predefinição |
| --- | --- | --- | --- | --- |
| Campo`model` | Tipo`string` | RequisitoObrigatório | Valores e limites liquid/lfm-2.5-24b-a2b | Predefinição— |
| Campo`messages` | Tipo`message[]` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`messages[].role` | Tipo`string` | RequisitoObrigatório | Valores e limites user, assistant | Predefinição— |
| Campo`messages[].content` | Tipo`string` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`max_tokens` | Tipo`integer` | RequisitoObrigatório | Valores e limites | Predefinição— |
| Campo`stream` | Tipo`boolean` | RequisitoOpcional | Valores e limites | Predefiniçãofalse |

Combinações de materiais de entrada

**Texto** · Texto UTF-8

`Cadeia de caracteres messages[].content`

Parâmetros e ciclo de vida do método

| Parâmetro | Contrato |
| --- | --- |
| Parâmetro`content_type` | Contratoapplication/json |
| Parâmetro`required` | Contratomodel, messages, max\_tokens |
| Parâmetro`optional_controls` | Contratostream |
| Parâmetro`material_types` | Contratotext |
| Parâmetro`text_file_material` | ContratoLeia o documento UTF-8 real e coloque o texto na entrada indicada ou na cadeia de conteúdo da mensagem. |

Ciclo de vida: `synchronous_or_streamed`

### Tarifários

As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.

Modo rápido

Não especificado Quando o modo rápido está selecionado

Modo flex

Não especificado Quando o modo flex está selecionado

Esforço máximo de raciocínio

Não especificado Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)

#### Tarifas Ailoot

#### Preços por configuração

Associe cada custo às condições apresentadas. Use uma única tarifa para cada conjunto de configurações alternativas.

| Configuração | Tabela de tarifas | Tokens de contexto, mais de | Tokens de contexto, até ao limite inclusive | Custo |
| --- | --- | --- | --- | --- |
| ConfiguraçãoTarifas base dos tokens | Tabela de tarifasTarifa base | Tokens de contexto, mais de— | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0001** / 1K tokens Saída · Tokens de saída **$0.0014** / 1K tokens Entrada · Leitura da cache **$0.00005** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |
| ConfiguraçãoEscalão 1 por comprimento do pedido | Tabela de tarifas— | Tokens de contexto, mais de0 | Tokens de contexto, até ao limite inclusiveSem limite superior | Custo Entrada · Tokens de entrada **$0.0001** / 1K tokens Saída · Tokens de saída **$0.0014** / 1K tokens Entrada · Leitura da cache **$0.00005** / 1K tokens Entrada · Escrita na cache **—** / 1K tokens Entrada · Escrita na cache, 1 hora **—** / 1K tokens |

O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. [Como funcionam a reserva e a liquidação →](https://ailoot.ai/docs/pt-pt/billing/reserve/)

### Exemplos de pedidos

#### Ailoot Ultra · Anthropic Messages

Corpo JSON mínimo completocurl · use o seu documento UTF-8Python · guarde o resultado completo

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

### Receber e guardar os resultados

#### Ailoot Ultra · Anthropic Messages

JSON ou SSE

##### Guardar todos os resultados concluídos

Guarde cada resposta, ficheiro e parte de conteúdo devolvidos na íntegra.

Conserve todos os blocos de conteúdo, as assinaturas de raciocínio e os ID reais de utilização de ferramentas. Junte todos os deltas de blocos SSE; o primeiro bloco de texto não é a saída completa.

##### Se for necessário verificar a resposta original

Conserve os ID e cabeçalhos de pedido/resposta. Não é fornecido um URL genérico para obter uma tarefa textual.

Campos da resposta

| Campo | Tipo |
| --- | --- |
| Campo`id` | Tipostring |
| Campo`model` | Tipostring |
| Campo`content[]` | Tipotext\|thinking\|tool\_use\|other content block |
| Campo`stop_reason` | Tipostring\|null |
| Campo`usage` | Tipoobject |

Erros e passos seguintes

| Resposta | Condição | Passo seguinte |
| --- | --- | --- |
| Resposta400 · `invalid_request_error` | CondiçãoCampos obrigatórios, representação do material ou valor do parâmetro inválidos | Passo seguinteCorrija os campos indicados antes de um novo pedido de criação. |

### Aliases

#### Aliases do modelo

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

#### Aliases dos caminhos dos métodos

`/chat/completions`

#### IDs de chamada relacionados

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

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

Que entradas e resultados estão disponíveis?

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

Que campos utiliza o pedido?

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

Que limites se aplicam?

`POST /v1/chat/completions` · `liquid/lfm-2.5-24b-a2b`: `messages.min_items`: `1`

Ligue o Ailoot ao Claude Code, OpenCode, Hermes ou à sua aplicação.

## A empresa e a sua carteira de projetos

A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.

## Compre tokens com desconto.

Desconto por subscrição para trabalho regular. Códigos promocionais — até 50% na compra de tokens.

Subscrição

Escolha um plano com desconto para os pedidos regulares.

Código promocional até 50%

Introduza o código na compra. O preço é recalculado conforme a campanha em vigor.

Custos no histórico

O modelo, os tokens e o montante são guardados para cada pedido.

[Escolher subscrição](https://ailoot.ai/docs/pt-pt/billing/subscriptions/) · [Ver preços dos modelos](https://ailoot.ai/models/pt-pt/)

## Ligue a API ao produto que vende.

SaaS, aplicações e bots — ao abrigo da oferta e do contrato de licença Ailoot. Para revenda, peça uma licença de revendedor.

Aplicação comercial

Integre geração de texto, imagens, vídeo e som nas funcionalidades pagas do seu serviço.

Licença de revendedor

Envie uma descrição do projeto e do modelo de acesso. Peça condições escritas de utilização e revenda.

Documentos no site

A oferta, o contrato de licença e a política de tratamento de dados estão disponíveis antes da ligação.

[Pedir licença de revendedor](mailto:support@ailoot.ai) · [Oferta e contrato de licença](https://ailoot.ai/legal/offer?lang=pt-pt)

## Ailoot · A empresa e a sua carteira de projetos





A Ailoot assenta numa experiência operacional consolidada, numa ampla base de clientes, num serviço estável e no acompanhamento contínuo dos KPI.





A empresa e a sua carteira de projetos: milhões de clientes; vendas mensais na ordem dos milhares de milhões.





A Ailoot aplica essa experiência operacional ao acesso por API a funcionalidades de IA nos produtos dos clientes, agentes, aplicações e automatizações.
