modely

Qwen2.5 VL 7B Instruct

Markdown · JSON

Qwen2.5 VL 7B Instruct

Qwen2.5-VL-7B-Instruct je vizuálno-jazykový model pre obrázky, dokumenty a video. Vytvára text a štruktúrované zistenia vrátane ohraničujúcich rámčekov objektov, bodov a atribútov a do vydania 7B prináša časovú lokalizáciu udalostí a schopnosti vizuálneho agenta.

O modeli

Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.

Qwen2.5-VL-7B-Instruct je vydanie Qwen2.5-VL veľkosti 7B doladené na pokyny. Prepája textový pokyn s obrázkami alebo videom a vracia textový výsledok. Hlavné zlepšenia výrobcu pokrývajú rozpoznávanie objektov a vizuálnych detailov, analýzu textu a rozloženia, úlohy vizuálneho agenta, porozumenie udalostiam v dlhých videách, lokalizáciu objektov a štruktúrovanú extrakciu z dokumentov.

Porozumenie vizuálnemu obsahu

Táto rodina presahuje určovanie hlavného predmetu fotografie. Medzi dokumentované úlohy patrí analýza textu, grafov, ikon, grafiky a usporiadania prvkov v obrázku. Pri grafe určte rad alebo vzťah, ktorý treba preskúmať, a zachovajte osi, legendu a jednotky. Pri diagrame sa pýtajte, ako sú označené komponenty prepojené a čo viditeľné usporiadanie hovorí o procese.

Pri užitočnom porovnaní môžete poskytnúť pôvodný a upravený návrh, označiť, ktorý je ktorý, a žiadať viditeľné zmeny podľa krátkeho zoznamu požiadaviek. Žiadajte pozorovanie spolu s relevantnou oblasťou obrázka. Odpoveď tak získava konkrétny účel namiesto všeobecného opisu dvoch nesúvisiacich obrázkov.

Postupy vizuálneho agenta

Výrobca prezentuje Qwen2.5-VL ako vizuálneho agenta, ktorý dokáže uvažovať o obrazovke a usmerňovať nástroje pri úlohách používania počítača alebo telefónu. Model poskytuje interpretáciu a navrhovanú operáciu; obklopujúca agentová aplikácia poskytuje ovládacie prvky, vykonáva operáciu a vracia nový stav. Textová odpoveď alebo predpovedaná súradnica je preto jednou časťou tohto integrovaného postupu.

Pri otázke o rozhraní poskytnite snímku obrazovky a skutočný cieľ a potom sa pýtajte, ktorý viditeľný ovládací prvok je relevantný a čo treba urobiť ďalej. Požadujte konkrétny výstup: označenie ovládacieho prvku, jeho polohu a zamýšľanú akciu. Ak aplikácia túto akciu následne vykoná, ďalšia snímka obrazovky poskytne aktualizovaný vizuálny vstup pre nasledujúce rozhodnutie.

Dlhé videá a lokalizácia udalostí

Výrobca opisuje porozumenie videám dlhším než jedna hodina a určenie úseku obsahujúceho požadovanú udalosť. Tým sa opis videa rozširuje o časovú lokalizáciu. Úloha sa môže pýtať, kedy sa objekt prvýkrát objaví, kde ukážka dosiahne konkrétny krok alebo ktorá viditeľná udalosť nastane pred inou. Uveďte, či má byť výsledkom súhrn, usporiadaný zoznam udalostí alebo počiatočné a koncové časy s opisom udalosti.

Rodina sa trénuje s dynamickým vzorkovaním snímkovej frekvencie a zarovnáva časové pozičné informácie s absolútnym časom. Informácia o snímkovej frekvencii preto patrí do prípravy videa; nie je ľubovoľným označením, ktoré možno zahodiť, keď záleží na časových značkách. Dokumentovaná schopnosť práce s dlhým videom nie je univerzálnou špecifikáciou veľkosti súboru ani maximálnej dĺžky pre každú vstupnú cestu.

Lokalizácia objektov a štruktúrované dokumenty

Qwen2.5-VL dokáže vracať ohraničujúce rámčeky alebo body a usporiadať súradnice a atribúty do JSON. Vydanie používa súradnice v mierke skutočnej veľkosti obrázka namiesto tradičných normalizovaných súradníc. Určte, či úloha potrebuje ohraničujúci rámček, konkrétny bod alebo opis objektu, a zachovajte rozmery obrázka aj všetky informácie o zmene veľkosti potrebné na interpretáciu vrátenej polohy.

Požiadavka na vizuálny inventár môže napríklad žiadať každý cieľový objekt, jeho rámček a viditeľný atribút. Úloha založená na bode sa môže pýtať na polohu označeného ovládacieho prvku alebo určenej časti objektu. Ide o navrhované podoby výstupu, nie pevné názvy polí, ktoré musí používať každá požiadavka. Pri dodaní viacerých obrázkov uchovávajte každú súradnicu priradenú k jej zdrojovému obrázku.

Výrobca osobitne vyzdvihuje štruktúrovanú extrakciu zo skenov faktúr, formulárov a tabuliek. Definujte polia, zachovajte pôvodné označenia a žiadajte explicitnú reprezentáciu pre prípad, keď hodnotu nemožno prečítať. Pri tabuľke uchovávajte hlavičky stĺpcov a jednotky spolu s požadovanými riadkami. Praktický záznam môže obsahovať identifikátor dokumentu, označenie poľa, extrahovanú hodnotu a polohu, čím sa výstup stáva použiteľným na neskoršie porovnanie alebo ľudskú kontrolu.

Architektúra a príprava vstupu

Model kombinuje dynamické rozlíšenie obrázkov a dynamické vzorkovanie videa s aktualizovanými multimodálnymi rotačnými pozičnými informáciami. Jeho vizuálny enkodér používa oknovú pozornosť, SwiGLU a RMSNorm. Ide o zmeny architektúry podporujúce vizuálne a časové spracovanie; do dokumentovaného postupu s textovým výsledkom nepridávajú zvukový vstup ani generovanie obrázkov.

Karta ukazuje jeden obrázok, viacero obrázkov, sekvenciu videosnímok, videosúbor alebo odkaz naň a dávky konverzácií. Obrazový procesor dokumentuje predvolený rozsah od 4 do 16,384 vizuálnych tokenov na obrázok. Nastavenia minimálneho a maximálneho počtu pixelov zachovávajú pomer strán; požadované presné rozmery sa zaokrúhľujú na násobok 28. Príklad rozsahu od 256 do 1,280 vizuálnych tokenov je nastaviteľnou ukážkou, nie samostatným pevným limitom obrázka. Pri výbere zmeny veľkosti zachovajte detail potrebný na zodpovedanie otázky.

Kontext a nastavenia citlivé na lokalizáciu

Vydaná konfigurácia nastavuje maximum pozícií na 128,000. Oddiel karty modelu o dlhom texte samostatne opisuje základ 32,768 tokenov a príklad rozšírenia YaRN. Výslovne upozorňuje, že toto rozšírenie výrazne ovplyvňuje časovú a priestorovú lokalizáciu, a neodporúča ho. Príručka tiež rozoberá zmenu maxima pozícií pre dlhé videá; ide o konfiguračné poznámky, nie jeden bezpodmienečný vstupný limit pre každú úlohu.

Konfiguráciu konkrétneho vydania a vizuálne predspracovanie udržujte v súlade s úlohou, najmä keď záleží na súradniciach alebo časoch udalostí. Príklad generovania 128 tokenov na karte neurčuje samostatnú maximálnu výstupnú kapacitu. Qwen2.5-VL-7B-Instruct vytvára text, súradnice a štruktúrované zistenia; externá akcia, vykreslený obrázok, video alebo hovorená odpoveď vyžadujú ďalšiu súčasť aplikácie.

Praktická úloha

Praktická úloha

Technický príklad v angličtine

Extract a transcribed invoice table

Extract line items from this invoice transcription: "Invoice N-33; item | quantity | unit price; Clip | 4 | 2.50; Folder | 2 | unreadable." Return each item with quantity, unit price and source invoice ID. Mark the unreadable price explicitly and do not infer it from a total. No image is supplied.

Očakávaný výsledok

A two-row field table retaining N-33 and an explicit unreadable value for the folder unit price.

Overenie výsledku

Verify quantities are not swapped and the unreadable price is neither zero nor a guessed amount.
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2.5-vl-7b-instruct

qwen2.5-vl-7b-instruct

Alibaba /qwen2.5-vl-7b-instruct

Úvod

Qwen2.5-VL-7B-Instruct je vizuálno-jazykový model pre obrázky, dokumenty a video. Vytvára text a štruktúrované zistenia vrátane ohraničujúcich rámčekov objektov, bodov a atribútov a do vydania 7B prináša časovú lokalizáciu udalostí a schopnosti vizuálneho agenta.

Povolené vstupy
Text
Výsledky
Text

Dostupné v Ailoot · vstupy a metódy

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Vstup
text
Výstup
text
Výstupný formát
json alebo SSE
PoleTypPožiadavkaHodnoty a limityPredvolené
PolemodelTypstringPožiadavkaPovinnéHodnoty a limity
qwen2.5-vl-7b-instruct
Predvolené—
PolemessagesTypmessage[]PožiadavkaPovinnéHodnoty a limity
Minimálny počet položiek: 1
Predvolené—
Polemessages[].roleTypstringPožiadavkaPovinnéHodnoty a limity
Príklady: system, user, assistant, tool, function
Podmienky: Tieto roly sú výslovne zastúpené typmi kompatibility v zdrojovom kóde; presný súbor rolí zostáva závislý od modelu.
Závisí od modelu
Predvolené—
Polemessages[].contentTypstring|content_part[]|nullPožiadavkaVoliteľnéHodnoty a limityPredvolené—
Polemessages[].tool_callsTyptool_call[]PožiadavkaVoliteľnéHodnoty a limityPredvolené—
Polemessages[].tool_call_idTypstringPožiadavkaVoliteľnéHodnoty a limity
Platí, keď: role=tool; použite skutočne vrátené ID
Predvolené—
Polemessages[].nameTypstringPožiadavkaVoliteľnéHodnoty a limityPredvolené—
Polemessages[].reasoning_contentTypstringPožiadavkaVoliteľnéHodnoty a limity
Platí, keď: Posielajte späť skutočne vrátené uvažovanie, ak ho tento model používa
Predvolené—
Polemessages[].reasoning_detailsTypobject|arrayPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Polemax_tokensTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 1
Závisí od modelu
Predvolené—
Polemax_completion_tokensTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 1
Závisí od modelu
Predvolené—
PolestreamTypbooleanPožiadavkaVoliteľnéHodnoty a limityPredvolenéfalse
Polestream_options.include_usageTypbooleanPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PoletemperatureTypnumberPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poletop_pTypnumberPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolestopTypstring|string[]PožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PoletoolsTypfunction_tool[]PožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poletools[].typeTypstringPožiadavkaVoliteľnéHodnoty a limity
function
Závisí od modelu
Predvolené—
Poletools[].function.nameTypstringPožiadavkaPovinnéHodnoty a limity
Platí, keď: poskytnutý nástroj typu funkcia
Predvolené—
Poletools[].function.descriptionTypstringPožiadavkaVoliteľnéHodnoty a limityPredvolené—
Poletools[].function.parametersTypJSON_schemaPožiadavkaVoliteľnéHodnoty a limityPredvolené—
Poletool_choiceTypstring|objectPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleparallel_tool_callsTypbooleanPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleresponse_formatTypobjectPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Polereasoning_effortTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolereasoningTypobjectPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleservice_tierTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PoleinstructionsTypstringPožiadavkaVoliteľnéHodnoty a limity
Pole kompatibility
Predvolené—
PolefunctionsTypfunction[]PožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Polefunction_callTypstring|objectPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleprompt_cache_optionsTypobjectPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolemodalitiesTypstring[]PožiadavkaVoliteľnéHodnoty a limity
text
Predvolené—
PoleproviderTypobjectPožiadavkaVoliteľnéHodnoty a limity
Podmienky: provider.options sa na tejto textovej trase Ultra odmieta
Predvolené—
Polecache_control.ttlTypstringPožiadavkaVoliteľnéHodnoty a limity
Podmienky: Hodnota 1h sa v skutočne používaných poliach cache promptov odmieta
Predvolené—
Kombinácie vstupných podkladov

Text · Text UTF8

messages[].content

Parametre a životný cyklus metódy
ParameterŠpecifikácia
Parametercontent_typeŠpecifikáciaapplication/json
ParameterrequiredŠpecifikáciamodel, messages
Parametermaterial_typesŠpecifikáciatext
ParametermessagesŠpecifikáciapole správ so štruktúrou role/content
Parameterfile_materialŠpecifikáciaskutočný dokument UTF-8 vložený ako doslovný text; ID súboru sa neodvodzuje
Parameteroptional_controlsŠpecifikáciastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeŠpecifikáciazávisí od modelu; používateľské nástroje typu funkcia sa líšia od nástrojov prevádzkovaných službou
Parameteroutput_modalitiesŠpecifikáciatext
Parameterhosted_operationsŠpecifikáciafalse
Parametermultimodal_input_bindingŠpecifikácianull

Životný cyklus: synchronous_or_streamed

Pošlite presné ID modelu spolu s messages.

Dĺžka kontextu nie je horná hranica výstupu.

Textový súbor môže poskytnúť doslovný text; obrazové a zvukové vstupy a vstupy so súborovými objektmi potrebujú presné naviazanie.

Cenník

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim
Neuvedené Keď je zvolený rýchly režim
Režim Flex
Neuvedené Keď je zvolený režim flex
Maximálna úroveň uvažovania
Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

Sadzby Ailoot

Ceny podľa konfigurácie

KonfiguráciaSadzobníkPoplatok
KonfiguráciaZákladné sadzby za tokenySadzobníkZákladná sadzbaPoplatok
Vstup · Vstupné tokeny $0.0001 / 1K tokenov
Výstup · Výstupné tokeny $0.0001 / 1K tokenov
Vstup · Čítanie cache $0 / 1K tokenov
Vstup · Zápis do cache $0 / 1K tokenov
Vstup · Zápis do cache, 1 hod — / 1K tokenov

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →

Príklady požiadaviek

Ailoot Ultra · OpenAI Chat

curlPython SDKStreamovanie v jazyku Python
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-vl-7b-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='qwen2.5-vl-7b-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='qwen2.5-vl-7b-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")

Prijať a uložiť výsledky

Ailoot Ultra · OpenAI Chat

json alebo SSE

Uchovať všetky dokončené výsledky

Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.

Zachovajte každý variant odpovede a jeho obsah, volania nástrojov a uvažovanie. V SSE zostavujte čiastkové zmeny podľa indexu variantu/nástroja a zachovajte konečný dôvod ukončenia aj údaje o spotrebe.

Ak treba overiť pôvodnú odpoveď

Zachovajte ID požiadaviek/odpovedí aj hlavičky. Všeobecná URL na načítanie textovej úlohy nie je poskytnutá.

Polia odpovede
PoleTyp
Polechoices[].indexTypinteger
Polechoices[].message.contentTypstring|null
Polechoices[].message.tool_callsTyptool_call[]
Polechoices[].message.reasoning_contentTypstring
Polechoices[].message.reasoning_detailsTypobject|array
Polechoices[].finish_reasonTypstring|null
PoleusageTypobject
Chyby a ďalšie kroky
OdpoveďPodmienkaĎalší krok
Odpoveď400 · invalid_request_errorPodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametraĎalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia.

Aliasy

Aliasy modelov

Ailoot Ultra qwen2.5-vl-7b-instruct

Aliasy ciest metód

Použite cesty metód uvedené vyššie.

Súvisiace ID na volanie

qwen2.5-vl-7b-instruct

Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2.5-vl-7b-instruct

qwen2.5-vl-7b-instruct

Alibaba /qwen2.5-vl-7b-instruct

Úvod

Qwen2.5-VL-7B-Instruct je vizuálno-jazykový model pre obrázky, dokumenty a video. Vytvára text a štruktúrované zistenia vrátane ohraničujúcich rámčekov objektov, bodov a atribútov a do vydania 7B prináša časovú lokalizáciu udalostí a schopnosti vizuálneho agenta.

Povolené vstupy
Text
Výsledky
json · sse

Dostupné v Ailoot · vstupy a metódy

Ailoot Ultra · Anthropic Messages POST /v1/messages
Vstup
text
Výstup
json, sse
Výstupný formát
JSON alebo SSE
PoleTypPožiadavkaHodnoty a limityPredvolené
PolemodelTypstringPožiadavkaPovinnéHodnoty a limity
qwen2.5-vl-7b-instruct
Predvolené—
PolemessagesTypmessage[]PožiadavkaPovinnéHodnoty a limityPredvolené—
Polemessages[].roleTypstringPožiadavkaPovinnéHodnoty a limity
user, assistant
Predvolené—
Polemessages[].contentTypstringPožiadavkaPovinnéHodnoty a limityPredvolené—
Polemax_tokensTypintegerPožiadavkaPovinnéHodnoty a limityPredvolené—
PolestreamTypbooleanPožiadavkaVoliteľnéHodnoty a limityPredvolenéfalse
Kombinácie vstupných podkladov

Text · Text UTF-8

reťazec messages[].content

Parametre a životný cyklus metódy
ParameterŠpecifikácia
Parametercontent_typeŠpecifikáciaapplication/json
ParameterrequiredŠpecifikáciamodel, messages, max_tokens
Parameteroptional_controlsŠpecifikáciastream
Parametermaterial_typesŠpecifikáciatext
Parametertext_file_materialŠpecifikáciaPrečítajte skutočný dokument UTF-8 a vložte jeho text do uvedeného vstupného reťazca alebo reťazca obsahu správy.

Životný cyklus: synchronous_or_streamed

Cenník

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim
Neuvedené Keď je zvolený rýchly režim
Režim Flex
Neuvedené Keď je zvolený režim flex
Maximálna úroveň uvažovania
Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

Sadzby Ailoot

Ceny podľa konfigurácie

KonfiguráciaSadzobníkPoplatok
KonfiguráciaZákladné sadzby za tokenySadzobníkZákladná sadzbaPoplatok
Vstup · Vstupné tokeny $0.0001 / 1K tokenov
Výstup · Výstupné tokeny $0.0001 / 1K tokenov
Vstup · Čítanie cache $0 / 1K tokenov
Vstup · Zápis do cache $0 / 1K tokenov
Vstup · Zápis do cache, 1 hod — / 1K tokenov

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →

Príklady požiadaviek

Ailoot Ultra · Anthropic Messages

Úplné minimálne telo požiadavky vo formáte JSONcurl · použite svoj dokument UTF-8Python · uložte úplný výsledok
{
  "model": "qwen2.5-vl-7b-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-vl-7b-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-vl-7b-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))

Prijať a uložiť výsledky

Ailoot Ultra · Anthropic Messages

JSON alebo SSE

Uchovať všetky dokončené výsledky

Uložte každú úplnú vrátenú odpoveď, súbor a časť obsahu.

Zachovajte všetky bloky obsahu, podpisy uvažovania a skutočné ID volaní nástrojov. Zostavte všetky čiastkové zmeny blokov SSE; prvý textový blok nie je celý výstup.

Ak treba overiť pôvodnú odpoveď

Zachovajte ID požiadaviek/odpovedí aj hlavičky. Všeobecná URL na načítanie textovej úlohy nie je poskytnutá.

Polia odpovede
PoleTyp
PoleidTypstring
PolemodelTypstring
Polecontent[]Typtext|thinking|tool_use|other content block
Polestop_reasonTypstring|null
PoleusageTypobject
Chyby a ďalšie kroky
OdpoveďPodmienkaĎalší krok
Odpoveď400 · invalid_request_errorPodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametraĎalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia.

Aliasy

Aliasy modelov

Ailoot Ultra qwen2.5-vl-7b-instruct

Aliasy ciest metód

Použite cesty metód uvedené vyššie.

Súvisiace ID na volanie

qwen2.5-vl-7b-instruct

FAQ · Pro/Qwen/Qwen2.5-VL-7B-Instruct
Aké vstupy a výsledky sú dostupné?

POST /v1/chat/completions · qwen2.5-vl-7b-instruct: text → text

POST /v1/messages · qwen2.5-vl-7b-instruct: text → json, sse

Aké polia používa požiadavka?

POST /v1/chat/completions · qwen2.5-vl-7b-instruct: model, messages, stream, modalities, provider

POST /v1/messages · qwen2.5-vl-7b-instruct: model, messages, max_tokens, stream

Aké limity platia?

POST /v1/chat/completions · qwen2.5-vl-7b-instruct: messages.min_items: 1

Viac podrobností

Pripojte Ailoot k Claude Code, OpenCode, Hermes alebo vlastnej aplikácii.

Spoločnosť a jej portfólio projektov

Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.

Nakupujte tokeny so zľavou.

Zľava predplatného na pravidelnú prácu. Promo kódy až 50% na nákup tokenov.

Predplatné
Na pravidelné požiadavky vyberte tarifu so zľavou.
Promo kód až 50%
Pri nákupe zadajte kód. Cena sa prepočíta podľa prebiehajúcej akcie.
Výdavky v histórii
Pri každej požiadavke sa uloží model, tokeny a suma.

Vybrať predplatné · Zobraziť ceny modelov

Pripojte API k produktu, ktorý predávate.

SaaS, aplikácie a boti podľa ponuky a licenčnej zmluvy Ailoot. Na ďalší predaj požiadajte o licenciu predajcu.

Komerčná aplikácia
Začleňte generovanie textu, obrázkov, videa a zvuku do platených funkcií svojej služby.
Licencia pre predajcu
Pošlite popis projektu a spôsob poskytovania prístupu. Vyžiadajte písomné podmienky použitia a ďalšieho predaja.
Dokumenty na webe
Ponuka, licenčná zmluva a zásady spracovania dát sú dostupné pred pripojením.

Požiadať o licenciu predajcu · Ponuka a licenčná zmluva