LiquidAI: LFM2.5-24B-A2B
LFM2.5-24B-A2B är LiquidAIs textmodell för resonemang hos verktygsdrivna agenter med totalt 24 miljarder och 2,45 miljarder aktiva parametrar. Den resonerar före svaret, stöder verktygsanrop och schemastyrda utdata och publiceras med en kontext på 128 000 token och en kompletteringsgräns på 8 192 token.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsliquid/lfm-2.5-24b-a2b - Ailoot Ultra · Anthropic Messages
POST /v1/messagesliquid/lfm-2.5-24b-a2b
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
LFM2.5-24B-A2B är en mixture-of-experts-modell från LiquidAI för textbaserat resonemang och agenter som använder verktyg. Den har totalt 24 miljarder parametrar med 2,45 miljarder aktiva för en token. Resonemang ingår i varje svar, så uppgiften bör definiera mål, beläggen som ska användas och resultatet applikationen behöver.
Ge en agent ett avgränsat mål
Modellen passar flöden där en språkmodell väljer nästa steg, läser observationen som följer och sedan fortsätter mot en leverans. Ange målet i termer som applikationen kan kontrollera: hitta rätt post, jämför två konfigurationer, förbered ett ändringsförslag eller producera en strukturerad bedömning.
Ge verktyg tydliga syften och bevara deras returnerade observationer i uppgiftskontexten. Modellen publicerar stöd för verktygsanrop, inklusive val av ett verktyg när gränssnittet ger den förmågan. Körning hör till applikationen som styr verktygen. Håll en returnerad observation skild från en instruktion skriven av modellen, särskilt när ett senare steg beror på resultatet av en sökning eller ett uppslag.
Hämtning för kunskapsintensivt arbete
Utgivaren rekommenderar hämtning eller webbsökning för uppgifter som beror på detaljerad extern kunskap. Bygg in beläggsteget i flödet i stället för att be modellen hitta på fakta den inte fått. Identifiera hämtade passager och be svaret koppla slutsatserna till dessa passager.
För ett supportflöde kan det innebära att hitta rätt policy och förklara hur den gäller för det angivna fallet. För en teknisk uppgift kan det innebära att jämföra dokumentation och konfiguration innan en ändring föreslås. Håll viktigt hämtat innehåll i kontexten så att slutsvaret kan kontrolleras utan att varje uppslag upprepas.
Strukturerade svar och samplingsval
Den publicerade modellen stöder schemastyrda strukturerade utdata. Definiera en liten resultatstruktur kring det applikationen använder, till exempel en vald kategori, en förklaring, belägghänvisningar och en nästa åtgärd. Skilj modellens resonemangsprocess från fälten som nästa komponent behöver lagra eller visa.
LiquidAI anger temperature 0.1, top_k 50 och repetition_penalty 1.05 som publicerade samplingsrekommendationer, och den sparade katalogen upprepar dessa standardvärden. De ger en reproducerbar startpunkt för att utvärdera ett visst flöde. Håll de valda inställningarna konsekventa när representativa uppgifter jämförs.
Kapacitet och språk
Den publicerade tjänsteposten anger ett kontextfönster på 128 000 token och en kompletteringsgräns på 8 192 token. Förbered en kort svarsspecifikation så att slutleveransen ryms inom utdatautrymmet. Håll relevanta belägg tillsammans och lämna tillräckligt med utdataplats för den begärda leveransen.
Tillverkaren listar en flerspråkig uppsättning som omfattar engelska, ryska, kinesiska, spanska, arabiska och andra språk. Bevara källterminologi och namn som ska vara oförändrade när modellen används i flerspråkigt arbete. En uppgift med fast ordförråd gynnas av en uttrycklig ordlista och samma utdatakonventioner mellan språk.
Förmågor
- Mixture-of-experts-resonemang för enbart text: totalt 24 miljarder parametrar, 2,45 miljarder aktiva.
- Obligatoriskt resonemang före slutsvaret.
- Publicerade verktyg, verktygsval och JSON-schema-baserade strukturerade utdata.
- Hämtningsinriktade flöden för kunskapsberoende uppgifter.
- Publicerad kontext på 128 000 token och kompletteringsgräns på 8 192 token.
Användningsfall
- Assistent med stöd av hämtade källor — En fråga, hämtade passager och en nödvändig svarslayout. Resultat: Ett beläggkopplat svar som kan kontrolleras mot passagerna.
- Verktygsdriven triage — Ett avgränsat fall och kontrollerade uppslagsverktyg. Resultat: En strukturerad bedömning och en föreslagen nästa åtgärd.
- Konfigurationsjämförelse — Relevant konfiguration, dokumentation och jämförelsekriterier. Resultat: En identifierad uppsättning skillnader med stödjande belägg.
- Flerspråkig strukturerad analys — Källtext, en ordlista och konsekventa resultatfält. Resultat: Jämförbara poster som bevarar terminologi som ska vara oförändrad.
Begränsningar
- Kontext — Publicerat tjänstekontextfönster: 128 000 token.
- Svar — Publicerad kompletteringsgräns: 8 192 token.
- Resonemang — Modellen resonerar före svaret; obligatoriskt resonemang ingår i den publicerade konfigurationen.
- Indata/utdata — Den publicerade modellen tar emot text och returnerar text.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions liquid/lfm-2.5-24b-a2b
liquid/lfm-2.5-24b-a2bStart
LFM2.5-24B-A2B är LiquidAIs textmodell för resonemang hos verktygsdrivna agenter med totalt 24 miljarder och 2,45 miljarder aktiva parametrar. Den resonerar före svaret, stöder verktygsanrop och schemastyrda utdata och publiceras med en kontext på 128 000 token och en kompletteringsgräns på 8 192 token.
- Godkända indata
- Text
- Resultat
- Text
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Indatatyper
text- Utdatatyper
text- Utdataformat
- json eller SSE
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser liquid/lfm-2.5-24b-a2b | Standard— |
Fältmessages | Typmessage[] | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 | Standard— |
Fältmessages[].role | Typstring | KravObligatoriskt | Värden & gränser Beror på modellen | Standard— |
Fältmessages[].content | Typstring | KravValfritt | Värden & gränser Gäller när: Textsamtal | Standard— |
Fältstream | Typboolean | KravValfritt | Värden & gränser | Standardfalse |
Kombinationer av indatamaterial
Text · UTF8-text
messages[].content
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, messages |
Parametermaterial_types | Avtaltext |
Parametermessages | Avtalmeddelandearray med strukturen role/content |
Parameterfile_material | Avtaldet faktiska UTF-8-dokumentet infogat som bokstavlig text; inget fil-ID härleds |
Parameteroptional_controls | Avtalstream |
Parametercontrol_scope | AvtalTextsamtal; stream är ett booleskt värde och har false som standard. |
Parameteroutput_modalities | Avtaltext |
Parameterhosted_operations | Avtalfalse |
Parametermultimodal_input_binding | Avtalnull |
Metodalias: /chat/completions
Livscykel: synchronous_or_streamed
Skicka det exakta modell-ID:t tillsammans med messages.
Kontextlängden är inte en utdatagräns.
En textfil kan tillhandahålla bokstavlig text; bild-/ljud-/filobjektsindata kräver exakt bindning.
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Kontexttoken, fler än | Kontexttoken, upp till och med | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Kontexttoken, fler än— | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.0001 / 1K token Utdata · Utdatatoken $0.0014 / 1K token Indata · Cacheläsning $0.00005 / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
| KonfigurationNivå 1 för förfrågans längd | Prislista— | Kontexttoken, fler än0 | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.0001 / 1K token Utdata · Utdatatoken $0.0014 / 1K token Indata · Cacheläsning $0.00005 / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · OpenAI Chat
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
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"))
Ta emot och spara resultat
Ailoot Ultra · OpenAI Chat
json eller SSE
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll varje svarsalternativ och dess innehåll/verktygsanrop/resonemang. Sätt i SSE samman deltauppdateringar efter svarsalternativets/verktygets index och behåll den slutliga avslutsorsaken och användningsuppgifterna.
Om det ursprungliga svaret behöver kontrolleras
Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.
Svarsfält
| Fält | Typ |
|---|---|
Fältchoices[].index | Typinteger |
Fältchoices[].message.content | Typstring|null |
Fältchoices[].message.tool_calls | Typtool_call[] |
Fältchoices[].message.reasoning_content | Typstring |
Fältchoices[].message.reasoning_details | Typobject|array |
Fältchoices[].finish_reason | Typstring|null |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra liquid/lfm-2.5-24b-a2b
Alias för metodsökvägar
/chat/completions
Relaterade anropar-ID:n
Ailoot Ultra · Anthropic Messages POST /v1/messages liquid/lfm-2.5-24b-a2b
liquid/lfm-2.5-24b-a2bStart
LFM2.5-24B-A2B är LiquidAIs textmodell för resonemang hos verktygsdrivna agenter med totalt 24 miljarder och 2,45 miljarder aktiva parametrar. Den resonerar före svaret, stöder verktygsanrop och schemastyrda utdata och publiceras med en kontext på 128 000 token och en kompletteringsgräns på 8 192 token.
- Godkända indata
- Text
- Resultat
- json · sse
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Indatatyper
text- Utdatatyper
json,sse- Utdataformat
- JSON eller SSE
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser liquid/lfm-2.5-24b-a2b | Standard— |
Fältmessages | Typmessage[] | KravObligatoriskt | Värden & gränser | Standard— |
Fältmessages[].role | Typstring | KravObligatoriskt | Värden & gränser user, assistant | Standard— |
Fältmessages[].content | Typstring | KravObligatoriskt | Värden & gränser | Standard— |
Fältmax_tokens | Typinteger | KravObligatoriskt | Värden & gränser | Standard— |
Fältstream | Typboolean | KravValfritt | Värden & gränser | Standardfalse |
Kombinationer av indatamaterial
Text · UTF-8-text
sträng i messages[].content
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, messages, max_tokens |
Parameteroptional_controls | Avtalstream |
Parametermaterial_types | Avtaltext |
Parametertext_file_material | AvtalLäs det faktiska UTF-8-dokumentet och placera texten i det angivna input-fältet eller i strängen för meddelandets innehåll. |
Livscykel: synchronous_or_streamed
Priser
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Ailoot-priser
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Kontexttoken, fler än | Kontexttoken, upp till och med | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Kontexttoken, fler än— | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.0001 / 1K token Utdata · Utdatatoken $0.0014 / 1K token Indata · Cacheläsning $0.00005 / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
| KonfigurationNivå 1 för förfrågans längd | Prislista— | Kontexttoken, fler än0 | Kontexttoken, upp till och medIngen övre gräns | Avgift Indata · Indatatoken $0.0001 / 1K token Utdata · Utdatatoken $0.0014 / 1K token Indata · Cacheläsning $0.00005 / 1K token Indata · Skrivning till cache — / 1K token Indata · Skrivning till cache, 1 tim — / 1K token |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Anthropic Messages
{
"model": "liquid/lfm-2.5-24b-a2b",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': '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
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))
Ta emot och spara resultat
Ailoot Ultra · Anthropic Messages
JSON eller SSE
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll alla innehållsblock, resonemangssignaturer och faktiska ID:n för verktygsanvändning. Sätt samman alla SSE-deltauppdateringar för blocken; ett första textblock är inte hela utdata.
Om det ursprungliga svaret behöver kontrolleras
Behåll begärans/svarets ID:n och huvuden. Ingen generell URL för hämtning av textjobb tillhandahålls.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältmodel | Typstring |
Fältcontent[] | Typtext|thinking|tool_use|other content block |
Fältstop_reason | Typstring|null |
Fältusage | Typobject |
Fel och nästa steg
| Svar | Villkor | Nästa steg |
|---|---|---|
Svar400 · invalid_request_error | VillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärde | Nästa stegKorrigera de angivna fälten före en ny begäran om att skapa. |
Alias
Modellalias
Ailoot Ultra liquid/lfm-2.5-24b-a2b
Alias för metodsökvägar
/chat/completions
Relaterade anropar-ID:n
FAQ · LiquidAI: LFM2.5-24B-A2B
- Vilka indata och resultat finns?
POST /v1/chat/completions·liquid/lfm-2.5-24b-a2b:text→textPOST /v1/messages·liquid/lfm-2.5-24b-a2b:text→json,sse- Vilka fält använder begäran?
POST /v1/chat/completions·liquid/lfm-2.5-24b-a2b:model,messages,streamPOST /v1/messages·liquid/lfm-2.5-24b-a2b:model,messages,max_tokens,stream- Vilka gränser gäller?
POST /v1/chat/completions·liquid/lfm-2.5-24b-a2b:messages.min_items:1