Qwen2.5 14B Instruct
Qwen2.5-14B-Instruct je vícejazyčný textový model pro asistenty pracující podle instrukcí, kód a matematiku. Jeho verze se 14,7 miliardy parametrů podporuje interpretaci tabulek, generování JSON a odpovědi do 8 192 tokenů, s konfigurací rozšířeného kontextu pro dlouhé vstupy.
- 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
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Qwen2.5-14B-Instruct je instrukčně doladěná edice velikosti 14B z obecné rodiny Qwen2.5. Přijímá textovou konverzaci a vrací text: vysvětlení, dokument, programový kód nebo strukturovaná pole. Výrobce zdůrazňuje následování instrukcí, programování, matematiku, porozumění strukturovaným datům, například tabulkám, a vytváření strukturovaných odpovědí, zejména JSON.
Co rodina zlepšuje
Výrobce popisuje širší znalosti a lepší programátorské a matematické schopnosti než u předchozí generace Qwen2, spolu s generováním dlouhých odpovědí a lepším zpracováním různých systémových instrukcí. Rodina používá předtrénovací korpus, jehož rozsah je popisován jako dosahující 18 bilionů tokenů. Tyto schopnosti podporují oborového asistenta, jehož roli a výstup určuje zadání. Tento model zůstává obecnou edicí Instruct; samostatně pojmenované řady Qwen2.5-Coder a Qwen2.5-Math mají vlastní specializace.
Procesní asistent může dostat postup a otázku týkající se jedné jeho fáze. Určete roli čtenáře, požádejte o činnosti relevantní pro tuto fázi a vyžadujte, aby odpověď zachovala původní podmínky postupu. Užitečný výstup může oddělit následující činnost, podmínku její použitelnosti a informace, které ještě chybějí. Obecná žádost o radu se tak mění v odpověď navázanou na dodaný proces.
Pro vysvětlení kódu poskytněte funkci, příslušné pomocné definice a vstup, který vyvolává nejasnosti. Požádejte o posloupnost operací a hodnotu vrácenou pro tento vstup. Pro matematické vysvětlení uveďte symboly, předpoklady a cílový výraz, než požádáte o odvození. Obě úlohy využívají text; spuštění programu nebo zpřístupnění samostatného výpočetního nástroje je úkolem aplikace pracující s modelem.
Tabulky a JSON
U otázky k tabulce zachovejte názvy sloupců a jednotky, označte relevantní řádky a určete, co se má porovnat. Požadovaný výstup může uvádět identifikátory odpovídajících řádků a vysvětlovat, kterou dodanou podmínku každý řádek splňuje. Pokud v tabulce chybějí hodnoty, určete, zda je má odpověď ponechat neuvedené, nebo jejich nepřítomnost výslovně označit.
Pro strukturovanou extrakci ukažte názvy polí a požadované typy. Vstup, například identifikátor položky, množství na skladě a označení skladu, lze převést na záznam se stejnými poli. Požádejte pouze o záznam, pokud jej bude parsovat aplikace; požádejte o samostatné slovní vysvětlení, pokud uživatel potřebuje prověřit interpretaci zdroje. Zdokumentovaná schopnost modelu generovat JSON se liší od vynucování schématu konkrétním rozhraním.
Vícejazyčná konverzace je podporována ve více než 29 jazycích, včetně angličtiny, čínštiny, ruštiny, němčiny, francouzštiny, španělštiny, portugalštiny, italštiny, japonštiny, korejštiny, vietnamštiny, thajštiny a arabštiny. Určete jazyk konečné odpovědi a dodejte terminologii, která musí zůstat beze změny. U přeloženého technického vysvětlení požádejte model, aby zachoval názvy proměnných, citovaná označení a jednotky a přizpůsobil okolní text čtenáři.
Podrobnosti konkrétní verze 14B
Karta uvádí 14,7 miliardy parametrů, z toho 13,1 miliardy parametrů mimo embeddingy, a 48 vrstev Transformer. Architektura používá rotační poziční embeddingy, SwiGLU, RMSNorm a bias QKV v mechanismu pozornosti, se 40 dotazovými hlavami a 8 hlavami klíčů/hodnot v mechanismu grouped-query attention. Předtrénování a následné dotrénování vytvářejí tuto edici Instruct. Její počet parametrů a vrstev se liší od edice 32B, i když se schopnosti rodiny a zveřejněné hodnoty kontextu shodují.
Karta modelu uvádí plný kontext 131 072 tokenů a generování až 8 192 tokenů. První údaj se týká konverzace a materiálu uchovávaného pro úlohu; druhý se týká vygenerované odpovědi. Nastavení generování 512 tokenů v příkladu rychlého startu je pouze příklad a nenahrazuje kapacitu odpovědi uvedenou na kartě. Porozumění obrázkům, videu a zvuku patří samostatně pojmenovaným multimodálním verzím, nikoli tomuto textovému modelu.
Formát vstupu a úlohy s pomocí nástrojů
Příklad výrobce používá odpovídající šablonu chatu na oddělené systémové a uživatelské zprávy. Vymezte roli asistenta a pravidla odpovědi odděleně od zkoumaného materiálu. Poskytněte úplnou otázku a označte zdrojový text tak, aby se instrukce citovaná ve zdroji nepletla se zadáním aplikace.
Oficiální oznámení Qwen2.5 popisuje také šablony volání nástrojů a kompatibilní integrace. Úloha s pomocí nástrojů vyžaduje, aby aplikace pracující s modelem dodala popisy funkcí, provedla vybranou operaci a poskytla její výsledek pro další odpověď. Konverzace může například žádat výpočet pomocí dodaného výpočetního nástroje; výsledek funkce se pak stává informací, kterou model může vysvětlit. Dostupnost a spouštění nástrojů zajišťuje integrace, zatímco tato verze poskytuje textové chování v konverzaci.
Konfigurace pro dlouhý text
Zveřejněná konfigurace zpočátku pokrývá 32 768 tokenů. Zdokumentované rozšíření pro delší vstupy používá YaRN, s příkladem škálovacího faktoru 4,0 a původním nastavením maximálního počtu pozic na 32 768. Statické škálování může ovlivnit chování u kratších textů, proto výrobce doporučuje přidat je tehdy, když jsou potřeba dlouhé kontexty.
Při přípravě dlouhého zdroje určete část, která se má upravit, nebo otázku, na niž se má odpovědět, a ponechte podpůrné části pohromadě. Jasné zadání může požadovat opravenou pasáž, tabulku změn a odkazy na původní části. Rozšířený kontext se tak využívá pro konkrétní výsledek, zatímco odpověď zůstává v samostatném limitu generování.
Praktická úloha
Praktická úloha
Technický příklad v angličtině
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.Očekávaný výsledek
A reorder list and a separate unresolved-row list, each with a short source-based reason.Ověření výsledku
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
Úvod
Qwen2.5-14B-Instruct je vícejazyčný textový model pro asistenty pracující podle instrukcí, kód a matematiku. Jeho verze se 14,7 miliardy parametrů podporuje interpretaci tabulek, generování JSON a odpovědi do 8 192 tokenů, s konfigurací rozšířeného kontextu pro dlouhé vstupy.
- Přijímané vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vstup
text- Výstup
text- Výstupní formát
- json nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity Qwen/Qwen2.5-14B-Instruct | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity Příklady: system, user, assistant, tool, function Podmínky: Tyto role jsou výslovně zastoupeny typy kompatibility zdrojového kódu; přesná sada rolí zůstává specifická pro daný model. Závisí na modelu | Výchozí— |
Polemessages[].content | Typstring|content_part[]|null | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polemessages[].tool_calls | Typtool_call[] | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polemessages[].tool_call_id | Typstring | PožadavekVolitelné | Hodnoty a limity Platí, když: role=tool; použijte skutečně vrácené ID | Výchozí— |
Polemessages[].name | Typstring | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Polemessages[].reasoning_content | Typstring | PožadavekVolitelné | Hodnoty a limity Platí, když: Předávejte zpět skutečně vrácené uvažování tam, kde je tento model používá | Výchozí— |
Polemessages[].reasoning_details | Typobject|array | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polemax_tokens | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Závisí na modelu | Výchozí— |
Polemax_completion_tokens | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Závisí na modelu | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Polestream_options.include_usage | Typboolean | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletemperature | Typnumber | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletop_p | Typnumber | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polestop | Typstring|string[] | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletools | Typfunction_tool[] | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poletools[].type | Typstring | PožadavekVolitelné | Hodnoty a limity function Závisí na modelu | Výchozí— |
Poletools[].function.name | Typstring | PožadavekPovinné | Hodnoty a limity Platí, když: nástroj typu funkce je dodán | Výchozí— |
Poletools[].function.description | Typstring | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Poletools[].function.parameters | TypJSON_schema | PožadavekVolitelné | Hodnoty a limity | Výchozí— |
Poletool_choice | Typstring|object | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleparallel_tool_calls | Typboolean | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleresponse_format | Typobject | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polereasoning_effort | Typstring | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polereasoning | Typobject | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleservice_tier | Typstring | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleinstructions | Typstring | PožadavekVolitelné | Hodnoty a limity Pole kompatibility | Výchozí— |
Polefunctions | Typfunction[] | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polefunction_call | Typstring|object | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Poleprompt_cache_options | Typobject | PožadavekVolitelné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polemodalities | Typstring[] | PožadavekVolitelné | Hodnoty a limity text | Výchozí— |
Poleprovider | Typobject | PožadavekVolitelné | Hodnoty a limity Podmínky: provider.options je na této textové trase Ultra odmítáno | Výchozí— |
Polecache_control.ttl | Typstring | PožadavekVolitelné | Hodnoty a limity Podmínky: Hodnota 1h je ve skutečných umístěních mezipaměti promptů odmítána | Výchozí— |
Kombinace vstupních materiálů
Text · text UTF8
messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages |
Parametrmaterial_types | Kontrakttext |
Parametrmessages | Kontraktpole zpráv se strukturou role/content |
Parametrfile_material | Kontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje |
Parametroptional_controls | Kontraktstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrcontrol_scope | Kontraktspecifické pro model; nástroje uživatelských funkcí se liší od hostovaných nástrojů |
Parametroutput_modalities | Kontrakttext |
Parametrhosted_operations | Kontraktfalse |
Parametrmultimodal_input_binding | Kontraktnull |
Životní cyklus: synchronous_or_streamed
Odešlete přesné ID modelu spolu s messages.
Délka kontextu není limitem výstupu.
Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0002 / 1K tokenů Výstup · Výstupní tokeny $0.0002 / 1K tokenů Vstup · Čtení z mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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")
Přijímání a ukládání výsledků
Ailoot Ultra · OpenAI Chat
json nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.
Pokud je nutné ověřit původní odpověď
Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.
Pole odpovědi
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Aliasy cest metod
/chat/completions
Související ID modelů
Ailoot Ultra · Anthropic Messages POST /v1/messages Qwen/Qwen2.5-14B-Instruct
Qwen/Qwen2.5-14B-InstructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Úvod
Qwen2.5-14B-Instruct je vícejazyčný textový model pro asistenty pracující podle instrukcí, kód a matematiku. Jeho verze se 14,7 miliardy parametrů podporuje interpretaci tabulek, generování JSON a odpovědi do 8 192 tokenů, s konfigurací rozšířeného kontextu pro dlouhé vstupy.
- Přijímané vstupy
- Text
- Výsledky
- json · sse
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vstup
text- Výstup
json,sse- Výstupní formát
- JSON nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity Qwen/Qwen2.5-14B-Instruct | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
Polemessages[].content | Typstring | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemax_tokens | Typinteger | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Kombinace vstupních materiálů
Text · text UTF-8
řetězec messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages, max_tokens |
Parametroptional_controls | Kontraktstream |
Parametrmaterial_types | Kontrakttext |
Parametrtext_file_material | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |
Životní cyklus: synchronous_or_streamed
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0002 / 1K tokenů Výstup · Výstupní tokeny $0.0002 / 1K tokenů Vstup · Čtení z mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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))
Přijímání a ukládání výsledků
Ailoot Ultra · Anthropic Messages
JSON nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.
Pokud je nutné ověřit původní odpověď
Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polemodel | Typstring |
Polecontent[] | Typtext|thinking|tool_use|other content block |
Polestop_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Aliasy cest metod
/chat/completions
Související ID modelů
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2.5-14b-instruct
qwen2.5-14b-instructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Úvod
Qwen2.5-14B-Instruct je vícejazyčný textový model pro asistenty pracující podle instrukcí, kód a matematiku. Jeho verze se 14,7 miliardy parametrů podporuje interpretaci tabulek, generování JSON a odpovědi do 8 192 tokenů, s konfigurací rozšířeného kontextu pro dlouhé vstupy.
- Přijímané vstupy
- Text
- Výsledky
- Text
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vstup
text- Výstup
text- Výstupní formát
- json nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity qwen2.5-14b-instruct | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity Minimální počet položek: 1 | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity Závisí na modelu | Výchozí— |
Polemessages[].content | Typstring | PožadavekVolitelné | Hodnoty a limity Platí, když: Textová konverzace | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Kombinace vstupních materiálů
Text · text UTF8
messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages |
Parametrmaterial_types | Kontrakttext |
Parametrmessages | Kontraktpole zpráv se strukturou role/content |
Parametrfile_material | Kontraktskutečný dokument UTF-8 vložený jako doslovný text; ID souboru se neodvozuje |
Parametroptional_controls | Kontraktstream |
Parametrcontrol_scope | KontraktTextová konverzace; stream je booleovská hodnota a ve výchozím nastavení je false. |
Parametroutput_modalities | Kontrakttext |
Parametrhosted_operations | Kontraktfalse |
Parametrmultimodal_input_binding | Kontraktnull |
Aliasy metody: /chat/completions
Životní cyklus: synchronous_or_streamed
Odešlete přesné ID modelu spolu s messages.
Délka kontextu není limitem výstupu.
Textový soubor může dodat doslovný text; obrazové/zvukové vstupy a vstupy v podobě souborových objektů vyžadují přesnou vazbu.
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0002 / 1K tokenů Výstup · Výstupní tokeny $0.0002 / 1K tokenů Vstup · Čtení z mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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"))
Přijímání a ukládání výsledků
Ailoot Ultra · OpenAI Chat
json nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte každou volbu a její obsah/volání nástrojů/uvažování. V SSE sestavujte přírůstky podle indexu volby/nástroje a zachovejte konečný důvod ukončení i údaje o využití.
Pokud je nutné ověřit původní odpověď
Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.
Pole odpovědi
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Aliasy cest metod
/chat/completions
Související ID modelů
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2.5-14b-instruct
qwen2.5-14b-instructQwen/Qwen2.5-14B-Instructqwen2.5-14b-instruct
Úvod
Qwen2.5-14B-Instruct je vícejazyčný textový model pro asistenty pracující podle instrukcí, kód a matematiku. Jeho verze se 14,7 miliardy parametrů podporuje interpretaci tabulek, generování JSON a odpovědi do 8 192 tokenů, s konfigurací rozšířeného kontextu pro dlouhé vstupy.
- Přijímané vstupy
- Text
- Výsledky
- json · sse
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vstup
text- Výstup
json,sse- Výstupní formát
- JSON nebo SSE
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity qwen2.5-14b-instruct | Výchozí— |
Polemessages | Typmessage[] | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemessages[].role | Typstring | PožadavekPovinné | Hodnoty a limity user, assistant | Výchozí— |
Polemessages[].content | Typstring | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polemax_tokens | Typinteger | PožadavekPovinné | Hodnoty a limity | Výchozí— |
Polestream | Typboolean | PožadavekVolitelné | Hodnoty a limity | Výchozífalse |
Kombinace vstupních materiálů
Text · text UTF-8
řetězec messages[].content
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, messages, max_tokens |
Parametroptional_controls | Kontraktstream |
Parametrmaterial_types | Kontrakttext |
Parametrtext_file_material | KontraktPřečtěte skutečný dokument UTF-8 a vložte jeho text do uvedeného pole input nebo do řetězce obsahu zprávy. |
Životní cyklus: synchronous_or_streamed
Tarify
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Sazby Ailoot
Ceny podle konfigurace
| Konfigurace | Tabulka sazeb | Poplatek |
|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Poplatek Vstup · Vstupní tokeny $0.0002 / 1K tokenů Výstup · Výstupní tokeny $0.0002 / 1K tokenů Vstup · Čtení z mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti $0 / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina — / 1K tokenů |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
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))
Přijímání a ukládání výsledků
Ailoot Ultra · Anthropic Messages
JSON nebo SSE
Uchovejte všechny dokončené výsledky
Uchovejte každou úplnou vrácenou odpověď, soubor i část obsahu.
Zachovejte všechny bloky obsahu, podpisy uvažování a skutečná ID použití nástrojů. Sestavte všechny přírůstky bloků SSE; první textový blok není úplný výstup.
Pokud je nutné ověřit původní odpověď
Zachovejte ID požadavků/odpovědí a hlavičky. Není dodána obecná URL pro načtení textové úlohy.
Pole odpovědi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polemodel | Typstring |
Polecontent[] | Typtext|thinking|tool_use|other content block |
Polestop_reason | Typstring|null |
Poleusage | Typobject |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatná povinná pole, reprezentace podkladů nebo hodnota parametru | Další krokPřed novým požadavkem na vytvoření opravte uvedená pole. |
Aliasy
Aliasy modelu
Ailoot Ultra Qwen/Qwen2.5-14B-Instruct, qwen2.5-14b-instruct
Aliasy cest metod
/chat/completions
Související ID modelů
FAQ · Qwen/Qwen2.5-14B-Instruct
- Jaké vstupy a výsledky jsou dostupné?
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- Jaká pole požadavek používá?
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- Jaké limity platí?
POST /v1/chat/completions·Qwen/Qwen2.5-14B-Instruct:messages.min_items:1POST /v1/chat/completions·qwen2.5-14b-instruct:messages.min_items:1