Qwen2.5 14B Instruct
Qwen2.5-14B-Instruct är en flerspråkig textmodell för instruktionsbaserade assistenter, kod och matematik. Versionen har 14,7 miljarder parametrar och stöder tabelltolkning, JSON-generering och en svarsgräns på 8 192 token, med utökad kontextkonfiguration för långa indata.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsQwen/Qwen2.5-14B-Instruct - Ailoot Ultra · Anthropic Messages
POST /v1/messagesQwen/Qwen2.5-14B-Instruct - Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen2.5-14b-instruct - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen2.5-14b-instruct
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.
Qwen2.5-14B-Instruct är den generella Qwen2.5-familjens instruktionsfinjusterade version i 14B-storlek. Den tar emot ett textsamtal och returnerar text: en förklaring, ett dokument, programkod eller strukturerade fält. Tillverkaren betonar instruktionsföljande, programmering, matematik, förståelse av strukturerade data som tabeller och generering av strukturerade svar, särskilt JSON.
Familjens förbättringar
Tillverkaren beskriver bredare kunskap och starkare kod- och matematikförmågor än föregående Qwen2-generation, tillsammans med generering av långa svar och bättre hantering av varierande systeminstruktioner. Familjen använder en förträningskorpus som uppges nå 18 biljoner token. Förmågorna stöder en ämnesspecifik assistent vars roll och utdata definieras av uppgiften. Modellen är fortfarande den generella Instruct-versionen; de separat namngivna serierna Qwen2.5-Coder och Qwen2.5-Math har sina egna specialiseringar.
En processassistent kan få en procedur och en fråga om ett steg. Definiera läsarens roll, be om de åtgärder som är relevanta för steget och kräv att svaret behåller procedurens ursprungliga villkor. Ett användbart resultat kan skilja nästa åtgärd, villkoret som gör den tillämplig och den information som fortfarande behövs. Det gör en bred begäran om råd till ett svar kopplat till den tillhandahållna processen.
För en kodförklaring ska du ge funktionen, relevanta hjälpfunktionsdefinitioner och de indata som skapar oklarhet. Be om operationsföljden och det värde som returneras för dessa indata. För en matematisk förklaring ska du ange symboler, antaganden och måluttryck innan du begär härledningen. Båda uppgifterna använder text; att köra programmet eller tillhandahålla ett separat numeriskt verktyg är arbete för applikationen runt modellen.
Tabeller och JSON
För en tabellfråga ska du bevara kolumnrubriker och enheter, ange relevanta rader och specificera jämförelsen. Det önskade resultatet kan lista identifierarna för matchande rader och förklara vilket angivet villkor varje rad uppfyller. Om tabellen har saknade värden ska du ange om svaret ska lämna dem frånvarande eller representera dem uttryckligt.
För strukturerad extraktion ska du visa fältnamn och obligatoriska typer. Indata som en artikelidentifierare, en lagermängd och en lagerbeteckning kan omvandlas till en post med samma fält. Be enbart om posten när en applikation ska tolka den; be om en separat textförklaring när användaren behöver granska tolkningen av källan. Modellens dokumenterade JSON-generering skiljer sig från att ett visst gränssnitt genomdriver ett schema.
Flerspråkiga samtal stöds på fler än 29 språk, däribland engelska, kinesiska, ryska, tyska, franska, spanska, portugisiska, italienska, japanska, koreanska, vietnamesiska, thailändska och arabiska. Ange det slutliga språket och tillhandahåll terminologi som ska förbli oförändrad. För en översatt teknisk förklaring ska du be modellen behålla variabelnamn, citerade etiketter och enheter och anpassa den omgivande texten till läsaren.
Den specifika 14B-versionen
Kortet anger 14,7 miljarder parametrar, varav 13,1 miljarder är parametrar utanför inbäddningarna, och 48 Transformer-lager. Arkitekturen använder roterande positionsinbäddningar, SwiGLU, RMSNorm och QKV-bias i uppmärksamhetsmekanismen, med 40 frågehuvuden och 8 nyckel-/värdehuvuden i grouped-query attention. Förträning och efterträning ger denna Instruct-version. Parameter- och lagerantalet skiljer sig från 32B-versionen även när familjens förmågor och publicerade kontextsiffror sammanfaller.
Modellkortet anger en full kontext på 131 072 token och generering av upp till 8 192 token. Den första siffran gäller samtalet och det material som bevaras för en uppgift; den andra gäller det genererade svaret. Snabbstartens genereringsinställning på 512 token är bara ett exempel och ersätter inte kortets angivna svarskapacitet. Bild-, video- och ljudförståelse hör till separat namngivna multimodala versioner, inte denna textmodell.
Indataformat och verktygsstödda uppgifter
Tillverkarens exempel använder den matchande chattmallen för separata system- och användarmeddelanden. Definiera assistentens roll och svarsregler separat från materialet som undersöks. Ge en komplett fråga och märk källtexten så att en instruktion som citeras inne i källan inte förväxlas med uppgiften som applikationen ger.
Det officiella Qwen2.5-meddelandet beskriver också verktygsanropsmallar och kompatibla integrationer. En verktygsstödd uppgift behöver den omgivande applikationen för att tillhandahålla funktionsbeskrivningar, köra den valda operationen och ge resultatet för nästa svar. Ett samtal kan till exempel be om en beräkning med ett tillhandahållet beräkningsverktyg; funktionsresultatet blir sedan information som modellen kan förklara. Verktygens tillgänglighet och körning kommer från integrationen, medan denna version ger det samtalsbaserade textbeteendet.
Konfiguration för långa texter
Den publicerade konfigurationen omfattar inledningsvis 32 768 token. Den dokumenterade utökningen för längre indata använder YaRN, med skalningsfaktorn 4,0 i exemplet och en ursprunglig inställning för maximalt antal positioner på 32 768. Statisk skalning kan påverka beteendet för kortare texter, så tillverkaren rekommenderar att den läggs till när lång kontext behövs.
Vid förberedelse av en lång källa ska du ange det avsnitt som ska revideras eller den fråga som ska besvaras och hålla de stödjande delarna tillsammans. En tydlig begäran kan be om ett rättat textavsnitt, en ändringstabell och de ursprungliga avsnittsreferenserna. Det använder den utökade kontexten till ett konkret resultat och håller samtidigt svaret inom den separata genereringsgränsen.
Praktisk uppgift
Praktisk uppgift
Tekniskt exempel på engelska
Filter a stock table with missing values
Use this stock table: item_id | stock | reorder_at; A7 | 3 | 5; B2 | 8 | 4; C9 | unknown | 6. Return the identifiers requiring reorder under stock < reorder_at, then list rows that cannot be decided. Preserve identifiers and explain the condition for each selected or unresolved row.Förväntat resultat
A reorder list and a separate unresolved-row list, each with a short source-based reason.Kontrollera resultatet
Check that equality would not trigger reorder and that unknown stock is not treated as zero.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions Qwen/Qwen2.5-14B-Instruct
Qwen/Qwen2.5-14B-InstructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Start
Qwen2.5-14B-Instruct är en flerspråkig textmodell för instruktionsbaserade assistenter, kod och matematik. Versionen har 14,7 miljarder parametrar och stöder tabelltolkning, JSON-generering och en svarsgräns på 8 192 token, med utökad kontextkonfiguration för långa indata.
- 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 Qwen/Qwen2.5-14B-Instruct | Standard— |
Fältmessages | Typmessage[] | KravObligatoriskt | Värden & gränser Minsta antal objekt: 1 | Standard— |
Fältmessages[].role | Typstring | KravObligatoriskt | Värden & gränser Exempel: system, user, assistant, tool, function Villkor: Dessa roller representeras uttryckligen av källkodens kompatibilitetstyper; den exakta rolluppsättningen är fortfarande modellspecifik. Beror på modellen | Standard— |
Fältmessages[].content | Typstring|content_part[]|null | KravValfritt | Värden & gränser | Standard— |
Fältmessages[].tool_calls | Typtool_call[] | KravValfritt | Värden & gränser | Standard— |
Fältmessages[].tool_call_id | Typstring | KravValfritt | Värden & gränser Gäller när: role=tool; använd det faktiska returnerade ID:t | Standard— |
Fältmessages[].name | Typstring | KravValfritt | Värden & gränser | Standard— |
Fältmessages[].reasoning_content | Typstring | KravValfritt | Värden & gränser Gäller när: Skicka tillbaka det faktiska returnerade resonemanget när modellen använder det | Standard— |
Fältmessages[].reasoning_details | Typobject|array | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältmax_tokens | Typinteger | KravValfritt | Värden & gränser Minimum: 1 Beror på modellen | Standard— |
Fältmax_completion_tokens | Typinteger | KravValfritt | Värden & gränser Minimum: 1 Beror på modellen | Standard— |
Fältstream | Typboolean | KravValfritt | Värden & gränser | Standardfalse |
Fältstream_options.include_usage | Typboolean | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttemperature | Typnumber | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttop_p | Typnumber | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältstop | Typstring|string[] | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttools | Typfunction_tool[] | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fälttools[].type | Typstring | KravValfritt | Värden & gränser function Beror på modellen | Standard— |
Fälttools[].function.name | Typstring | KravObligatoriskt | Värden & gränser Gäller när: verktyg av typen funktion har tillhandahållits | Standard— |
Fälttools[].function.description | Typstring | KravValfritt | Värden & gränser | Standard— |
Fälttools[].function.parameters | TypJSON_schema | KravValfritt | Värden & gränser | Standard— |
Fälttool_choice | Typstring|object | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältparallel_tool_calls | Typboolean | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältresponse_format | Typobject | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältreasoning_effort | Typstring | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältreasoning | Typobject | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältservice_tier | Typstring | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältinstructions | Typstring | KravValfritt | Värden & gränser Kompatibilitetsfält | Standard— |
Fältfunctions | Typfunction[] | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältfunction_call | Typstring|object | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältprompt_cache_options | Typobject | KravValfritt | Värden & gränser Beror på modellen | Standard— |
Fältmodalities | Typstring[] | KravValfritt | Värden & gränser text | Standard— |
Fältprovider | Typobject | KravValfritt | Värden & gränser Villkor: provider.options avvisas på denna Ultra-textrutt | Standard— |
Fältcache_control.ttl | Typstring | KravValfritt | Värden & gränser Villkor: 1h avvisas på de faktiska platserna för promptcache | Standard— |
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, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Avtalmodellspecifikt; användarens funktionsverktyg skiljer sig från värdbaserade verktyg |
Parameteroutput_modalities | Avtaltext |
Parameterhosted_operations | Avtalfalse |
Parametermultimodal_input_binding | Avtalnull |
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
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.0002 / 1K token Utdata · Utdatatoken $0.0002 / 1K token Indata · Cacheläsning $0 / 1K token Indata · Skrivning till cache $0 / 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": "Qwen/Qwen2.5-14B-Instruct", "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
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/Qwen2.5-14B-Instruct',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"))
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/Qwen2.5-14B-Instruct',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")
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 Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Alias för metodsökvägar
/chat/completions
Relaterade anropar-ID:n
Ailoot Ultra · Anthropic Messages POST /v1/messages Qwen/Qwen2.5-14B-Instruct
Qwen/Qwen2.5-14B-InstructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Start
Qwen2.5-14B-Instruct är en flerspråkig textmodell för instruktionsbaserade assistenter, kod och matematik. Versionen har 14,7 miljarder parametrar och stöder tabelltolkning, JSON-generering och en svarsgräns på 8 192 token, med utökad kontextkonfiguration för långa indata.
- 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 Qwen/Qwen2.5-14B-Instruct | 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
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.0002 / 1K token Utdata · Utdatatoken $0.0002 / 1K token Indata · Cacheläsning $0 / 1K token Indata · Skrivning till cache $0 / 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": "Qwen/Qwen2.5-14B-Instruct",
"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': 'Qwen/Qwen2.5-14B-Instruct', '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': 'Qwen/Qwen2.5-14B-Instruct', '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 Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Alias för metodsökvägar
/chat/completions
Relaterade anropar-ID:n
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2.5-14b-instruct
qwen2.5-14b-instructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Start
Qwen2.5-14B-Instruct är en flerspråkig textmodell för instruktionsbaserade assistenter, kod och matematik. Versionen har 14,7 miljarder parametrar och stöder tabelltolkning, JSON-generering och en svarsgräns på 8 192 token, med utökad kontextkonfiguration för långa indata.
- 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 qwen2.5-14b-instruct | 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
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.0002 / 1K token Utdata · Utdatatoken $0.0002 / 1K token Indata · Cacheläsning $0 / 1K token Indata · Skrivning till cache $0 / 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":"qwen2.5-14b-instruct","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="qwen2.5-14b-instruct", 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 Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Alias för metodsökvägar
/chat/completions
Relaterade anropar-ID:n
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2.5-14b-instruct
qwen2.5-14b-instructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Start
Qwen2.5-14B-Instruct är en flerspråkig textmodell för instruktionsbaserade assistenter, kod och matematik. Versionen har 14,7 miljarder parametrar och stöder tabelltolkning, JSON-generering och en svarsgräns på 8 192 token, med utökad kontextkonfiguration för långa indata.
- 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 qwen2.5-14b-instruct | 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
| Konfiguration | Prislista | Avgift |
|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Avgift Indata · Indatatoken $0.0002 / 1K token Utdata · Utdatatoken $0.0002 / 1K token Indata · Cacheläsning $0 / 1K token Indata · Skrivning till cache $0 / 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": "qwen2.5-14b-instruct",
"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': 'qwen2.5-14b-instruct', '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': 'qwen2.5-14b-instruct', '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 Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Alias för metodsökvägar
/chat/completions
Relaterade anropar-ID:n
FAQ · Qwen/Qwen2.5-14B-Instruct
- Vilka indata och resultat finns?
POST /v1/chat/completions·Qwen/Qwen2.5-14B-Instruct:text→textPOST /v1/messages·Qwen/Qwen2.5-14B-Instruct:text→json,ssePOST /v1/chat/completions·qwen2.5-14b-instruct:text→textPOST /v1/messages·qwen2.5-14b-instruct:text→json,sse- Vilka fält använder begäran?
POST /v1/chat/completions·Qwen/Qwen2.5-14B-Instruct:model,messages,stream,modalities,providerPOST /v1/messages·Qwen/Qwen2.5-14B-Instruct:model,messages,max_tokens,streamPOST /v1/chat/completions·qwen2.5-14b-instruct:model,messages,streamPOST /v1/messages·qwen2.5-14b-instruct:model,messages,max_tokens,stream- Vilka gränser gäller?
POST /v1/chat/completions·Qwen/Qwen2.5-14B-Instruct:messages.min_items:1POST /v1/chat/completions·qwen2.5-14b-instruct:messages.min_items:1