models

Qwen2.5-VL-3b

Markdown · JSON

Qwen2.5-VL-3b

Qwen2.5-VL-3B-Instruct – kompaktiškas instrukcijoms pritaikytas Qwen regos ir kalbos modelis tekstui, vaizdams bei vaizdo įrašams. Jis grąžina tekstą ir struktūrizuotą vaizdinę informaciją, įskaitant dokumentų laukus, objektų koordinates bei įvykių aprašymus, ir naudoja dinaminę raišką bei laiką įvertinantį vaizdo įrašų apdorojimą.

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

Įvadas: instrukcijoms pritaikyta 3B laida

Qwen2.5-VL-3B-Instruct – Qwen2.5-VL šeimos 3B narys. Jis priima tekstines instrukcijas su vaizdais ar vaizdo įrašu ir generuoja tekstinius atsakymus, įskaitant struktūrizuotus duomenis. Rinkitės jį aiškiai apibrėžtam klausimui apie vaizdą, duomenų išgavimo iš dokumento užduočiai ar paaiškinimui, siejančiam matomą turinį su naudotojo prašymu. Šis konkretus dydis ir laida išlaiko savąją tapatybę; nereikėtų manyti, kad būtent kitiems dydžiams ar vėlesnėms Qwen kartoms pridėtos funkcijos taikomos ir šiam kontroliniam taškui.

Vaizdų supratimas ir agentų procesai

Qwen aprašo įprastų objektų atpažinimą ir rašto, diagramų, piktogramų, grafikos bei puslapių maketų analizę. Formai nurodykite reikalingus laukus ir tuščios reikšmės prasmę. Diagramai paprašykite ašių, vienetų ir matomų reikšmių, pagrindžiančių išvadą. Konkrečios užklausos išvestį lengviau palyginti su pradiniu vaizdu nei bendro prašymo aprašyti viską.

Šeima taip pat palaiko regos agento samprotavimą ir nurodymus įrankiams kompiuterio ar telefono procesuose. Modelis gali interpretuoti sąsają ir padėti pasirinkti veiksmą; jį atlieka prijungti programos įrankiai. Peržiūrint ekrano kopiją galima klausti, kuris valdiklis atitinka užduotį ir kokia matoma informacija pagrindžia pasirinkimą. Toks vaizdinis samprotavimas savaime nesuteikia įrenginio valdymo.

Ilgi vaizdo įrašai ir įvykių lokalizavimas

Gamintojas aprašo ilgesnių nei vienos valandos vaizdo įrašų supratimą ir prašomam įvykiui svarbių segmentų nustatymą. Tai šeimos gebėjimas, o ne besąlyginė medijos įkėlimo riba ar garantija, kad išsaugomas kiekvienas kadras. Parenkite susijusį fragmentą, išlaikykite jo laiko informaciją ir užduokite tikslų klausimą apie įvykį, seką ar pokytį. Modelio vaizdo įrašų apdorojimo metodas naudoja kadrų dažnio informaciją, kad vaizdinius stebėjimus susietų su absoliučiu laiku.

Lokalizavimas ir struktūrizuoti dokumentai

Qwen2.5-VL gali grąžinti objektų vietas kaip ribojančius rėmelius ar taškus su koordinatėmis ir požymiais JSON formatu. Lokalizavimo užduotyje įvardykite ieškomą objektą ir nurodykite, ar rezultatas turi būti taškas, ar rėmelis. Rezultatą naudojančioje programoje aiškiai apibrėžkite koordinačių taisykles, užuot iš savavališkos nuotraukos darę išvadą apie fizinį matmenį.

Gamintojas taip pat dokumentuoja struktūrizuotą duomenų išgavimą iš skenuotų sąskaitų, formų ir lentelių. Pateikite įskaitomą puslapį ir išvesties schemą: pavyzdžiui, lauko pavadinimą, išgautą tekstą ir jį pagrindžiančią matomą sritį. Šaltinyje išlaikykite vienetus, dešimtainius skirtukus ir lentelių antraštes. Neaiškų ar neįskaitomą turinį laikykite peržiūros atveju, užuot prašę modelio išgalvoti trūkstamą reikšmę. Šie parengimo pavyzdžiai taiko dokumentuotus gebėjimus, bet negarantuoja tikslaus išgavimo.

Architektūros pakeitimai

Dinaminė vaizdų raiška išplečiama į vaizdo įrašus mokant su kintamu kadrų dažniu. Atnaujintas daugiarūšis pozicijų kodavimas atvaizduoja laiko seką ir absoliutų laiką, padėdamas nustatyti konkrečius momentus bei greičio pokyčius. Regos koduotuve langinis dėmesys naudojamas kartu su SwiGLU ir RMSNorm. Šie pakeitimai aprašo, kaip modelis apdoroja vaizdinę medžiagą; jie nenustato fiksuotos konkrečios programos delsos.

Vaizdų ir vaizdo įrašų parengimas

Oficialūs pavyzdžiai apima vieną vaizdą, kelis vaizdus, vien tekstinius pokalbius, vaizdo failus ir išrikiuotus kadrų sąrašus. Pažymėkite kelias vaizdines įvestis, kad klausime būtų galima nurodyti kiekvieną. Vaizdų palyginimui prašykite pagal žymas sutvarkytos lentelės ir rezultatą apribokite matomais skirtumais. Vaizdo įrašo laiko juostoje išlaikykite kadrų tvarką ir laiko informaciją, užuot nesusietus paveikslėlius pateikę tarsi jie turėtų žinomą trukmę.

Dokumentuotas vaizdo procesoriaus numatytasis intervalas – nuo keturių iki 16,384 regos žetonų vienam vaizdui. Pavyzdyje pikselių ribomis galima siekti 256–1,280 žetonų. Šiose ribose jis išlaiko kraštinių santykį, o aiškiai nurodyti pakeisti matmenys derinami prie 28 kartotinių. Daugiau detalių naudoja daugiau skaičiavimų ir sekos vietos, todėl mažam teksto laukui gali reikėti didesnės raiškos iškarpos, o bendram scenos aprašymui – ne. Tai gamintojo apdorojimo valdikliai; programos įkėlimo parinktys gali skirtis.

Kontekstas ir esminės ribos

Paskelbto kontrolinio taško konfigūracijoje didžiausias pozicijų skaičius yra 128,000, o lydinčiame ilgo teksto skyriuje vis dar aptariama pradinė 32,768 žetonų konfigūracija. Vadove aprašyta YaRN ekstrapoliacija, tačiau perspėjama, kad ji gali smarkiai paveikti lokalizavimą laike ir erdvėje, todėl toms užduotims šis metodas nerekomenduojamas. Atskirai pažymima, kad vaizdo pozicijų kodavimas gali leisti didesnį pozicijų nustatymą; kaip pavyzdys pateikiamas 64K. Šių skirtingų konfigūracijos aprašymų nereikėtų sutraukti į vieną visuotinai patvirtintą įvesties ribą.

Tekstas, vaizdinė medžiaga ir atsakymas dalijasi baigtiniu sekos biudžetu. Susijusį turinį išlaikykite įskaitomą, palikite vietos rezultatui ir išgautą tekstą, koordinates bei įvykių laikus tikrinkite pagal originalą. Kortelės 128 žetonų generavimo pavyzdys yra iliustracinis ir nenustato atskiros griežtos didžiausios išvesties ribos. Šis modelis grąžina tekstinę analizę ar struktūrizuotą informaciją; jo regos ir kalbos gebėjimai nereiškia, kad jis generuoja vaizdus ar vaizdo įrašus.

Praktinė užduotis

Praktinė užduotis

Techninis pavyzdys anglų kalba

Organize a recorded event timeline

Use only these text annotations from a clip: 00:02 worker picks up a box; 00:05 worker places the box on the scale; 00:08 scale display is obscured; 00:11 worker removes the box. Return the event sequence, the first annotated placement time and whether the weight is established. Preserve timestamps without claiming frame-level inspection.

Laukiamas rezultatas

An ordered event table, a placement-time field and an unresolved weight field.

Rezultato patikra

Check that obscured weight remains unknown and the placement timestamp is attributed to the supplied annotation.
Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions qwen2.5-vl-3b-instruct

qwen2.5-vl-3b-instruct

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

Pradžia

Qwen2.5-VL-3B-Instruct – kompaktiškas instrukcijoms pritaikytas Qwen regos ir kalbos modelis tekstui, vaizdams bei vaizdo įrašams. Jis grąžina tekstą ir struktūrizuotą vaizdinę informaciją, įskaitant dokumentų laukus, objektų koordinates bei įvykių aprašymus, ir naudoja dinaminę raišką bei laiką įvertinantį vaizdo įrašų apdorojimą.

Leidžiamos įvestys
Tekstas
Rezultatai
Tekstas

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · OpenAI pokalbis POST /v1/chat/completions
Įvestis
text
Išvestis
text
Išvesties formatas
json arba SSE
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
qwen2.5-vl-3b-instruct
Numatyta—
LaukasmessagesTipasmessage[]ReikalavimasPrivalomaReikšmės ir ribos
Mažiausias elementų skaičius: 1
Numatyta—
Laukasmessages[].roleTipasstringReikalavimasPrivalomaReikšmės ir ribos
Pavyzdžiai: system, user, assistant, tool, function
Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio.
Priklauso nuo modelio
Numatyta—
Laukasmessages[].contentTipasstring|content_part[]|nullReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukasmessages[].tool_callsTipastool_call[]ReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukasmessages[].tool_call_idTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID
Numatyta—
Laukasmessages[].nameTipasstringReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukasmessages[].reasoning_contentTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja
Numatyta—
Laukasmessages[].reasoning_detailsTipasobject|arrayReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasmax_tokensTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 1
Priklauso nuo modelio
Numatyta—
Laukasmax_completion_tokensTipasintegerReikalavimasNeprivalomaReikšmės ir ribos
Mažiausia reikšmė: 1
Priklauso nuo modelio
Numatyta—
LaukasstreamTipasbooleanReikalavimasNeprivalomaReikšmės ir ribosNumatytafalse
Laukasstream_options.include_usageTipasbooleanReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
LaukastemperatureTipasnumberReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukastop_pTipasnumberReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
LaukasstopTipasstring|string[]ReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
LaukastoolsTipasfunction_tool[]ReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukastools[].typeTipasstringReikalavimasNeprivalomaReikšmės ir ribos
function
Priklauso nuo modelio
Numatyta—
Laukastools[].function.nameTipasstringReikalavimasPrivalomaReikšmės ir ribos
Taikoma, kai: pateiktas funkcijos tipo įrankis
Numatyta—
Laukastools[].function.descriptionTipasstringReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukastools[].function.parametersTipasJSON_schemaReikalavimasNeprivalomaReikšmės ir ribosNumatyta—
Laukastool_choiceTipasstring|objectReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasparallel_tool_callsTipasbooleanReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasresponse_formatTipasobjectReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasreasoning_effortTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
LaukasreasoningTipasobjectReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasservice_tierTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
LaukasinstructionsTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Suderinamumo laukas
Numatyta—
LaukasfunctionsTipasfunction[]ReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasfunction_callTipasstring|objectReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
Laukasprompt_cache_optionsTipasobjectReikalavimasNeprivalomaReikšmės ir ribos
Priklauso nuo modelio
Numatyta—
LaukasmodalitiesTipasstring[]ReikalavimasNeprivalomaReikšmės ir ribos
text
Numatyta—
LaukasproviderTipasobjectReikalavimasNeprivalomaReikšmės ir ribos
Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas
Numatyta—
Laukascache_control.ttlTipasstringReikalavimasNeprivalomaReikšmės ir ribos
Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose
Numatyta—
Įvesties medžiagos deriniai

Tekstas · UTF8 tekstas

messages[].content

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, messages
Parametrasmaterial_typesSpecifikacijatext
ParametrasmessagesSpecifikacijapranešimų masyvas su role/content struktūra
Parametrasfile_materialSpecifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas
Parametrasoptional_controlsSpecifikacijastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametrascontrol_scopeSpecifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių
Parametrasoutput_modalitiesSpecifikacijatext
Parametrashosted_operationsSpecifikacijafalse
Parametrasmultimodal_input_bindingSpecifikacijanull

Gyvavimo ciklas: synchronous_or_streamed

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Ailoot įkainiai

Kainos pagal konfigūraciją

KonfigūracijaĮkainių lentelėMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisMokestis
Įvestis · Įvesties tokenai $0.0004 / 1K tokenų
Išvestis · Išvesties tokenai $0.0012 / 1K tokenų
Įvestis · Talpyklos skaitymas $0 / 1K tokenų
Įvestis · Rašymas į talpyklą $0 / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas
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-3b-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-3b-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-3b-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")

Gauti ir išsaugoti rezultatus

Ailoot Ultra · OpenAI pokalbis

json arba SSE

Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai
LaukasTipas
Laukaschoices[].indexTipasinteger
Laukaschoices[].message.contentTipasstring|null
Laukaschoices[].message.tool_callsTipastool_call[]
Laukaschoices[].message.reasoning_contentTipasstring
Laukaschoices[].message.reasoning_detailsTipasobject|array
Laukaschoices[].finish_reasonTipasstring|null
LaukasusageTipasobject
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.

Pseudonimai

Modelių pseudonimai

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

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

qwen2.5-vl-3b-instruct

Ailoot Ultra · Anthropic pranešimai POST /v1/messages qwen2.5-vl-3b-instruct

qwen2.5-vl-3b-instruct

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

Pradžia

Qwen2.5-VL-3B-Instruct – kompaktiškas instrukcijoms pritaikytas Qwen regos ir kalbos modelis tekstui, vaizdams bei vaizdo įrašams. Jis grąžina tekstą ir struktūrizuotą vaizdinę informaciją, įskaitant dokumentų laukus, objektų koordinates bei įvykių aprašymus, ir naudoja dinaminę raišką bei laiką įvertinantį vaizdo įrašų apdorojimą.

Leidžiamos įvestys
Tekstas
Rezultatai
json · sse

Prieinama Ailoot · įvestys ir metodai

Ailoot Ultra · Anthropic pranešimai POST /v1/messages
Įvestis
text
Išvestis
json, sse
Išvesties formatas
JSON arba SSE
LaukasTipasReikalavimasReikšmės ir ribosNumatyta
LaukasmodelTipasstringReikalavimasPrivalomaReikšmės ir ribos
qwen2.5-vl-3b-instruct
Numatyta—
LaukasmessagesTipasmessage[]ReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukasmessages[].roleTipasstringReikalavimasPrivalomaReikšmės ir ribos
user, assistant
Numatyta—
Laukasmessages[].contentTipasstringReikalavimasPrivalomaReikšmės ir ribosNumatyta—
Laukasmax_tokensTipasintegerReikalavimasPrivalomaReikšmės ir ribosNumatyta—
LaukasstreamTipasbooleanReikalavimasNeprivalomaReikšmės ir ribosNumatytafalse
Įvesties medžiagos deriniai

Tekstas · UTF-8 tekstas

messages[].content eilutė

Metodo parametrai ir gyvavimo ciklas
ParametrasSpecifikacija
Parametrascontent_typeSpecifikacijaapplication/json
ParametrasrequiredSpecifikacijamodel, messages, max_tokens
Parametrasoptional_controlsSpecifikacijastream
Parametrasmaterial_typesSpecifikacijatext
Parametrastext_file_materialSpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę.

Gyvavimo ciklas: synchronous_or_streamed

Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas
Nenurodyta Pasirinkus spartųjį režimą
Flex režimas
Nenurodyta Pasirinkus flex režimą
Didžiausios samprotavimo pastangos
Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Ailoot įkainiai

Kainos pagal konfigūraciją

KonfigūracijaĮkainių lentelėMokestis
KonfigūracijaBaziniai žetonų įkainiaiĮkainių lentelėBazinis įkainisMokestis
Įvestis · Įvesties tokenai $0.0004 / 1K tokenų
Išvestis · Išvesties tokenai $0.0012 / 1K tokenų
Įvestis · Talpyklos skaitymas $0 / 1K tokenų
Įvestis · Rašymas į talpyklą $0 / 1K tokenų
Įvestis · Rašymas į talpyklą, 1 val — / 1K tokenų

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →

Užklausų pavyzdžiai

Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą
{
  "model": "qwen2.5-vl-3b-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-3b-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-3b-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))

Gauti ir išsaugoti rezultatus

Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai
LaukasTipas
LaukasidTipasstring
LaukasmodelTipasstring
Laukascontent[]Tipastext|thinking|tool_use|other content block
Laukasstop_reasonTipasstring|null
LaukasusageTipasobject
Klaidos ir tolesni veiksmai
AtsakymasSąlygaKitas žingsnis
Atsakymas400 · invalid_request_errorSąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmėKitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus.

Pseudonimai

Modelių pseudonimai

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

Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

Susiję ID iškvietimui

qwen2.5-vl-3b-instruct

FAQ · Qwen2.5-VL-3b
Kokios įvestys ir rezultatai prieinami?

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

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

Kokius laukus naudoja užklausa?

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

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

Kokie apribojimai taikomi?

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

Išsamiau

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata
Pasirinkite planą su nuolaida reguliarioms užklausoms.
Nuolaidos kodas iki 50%
Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.
Išlaidos istorijoje
Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

Pasirinkti prenumeratą · Peržiūrėti modelių kainas

Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa
Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.
Perpardavėjo licencija
Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.
Dokumentai svetainėje
Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

Paprašyti perpardavėjo licencijos · Oferta ir licencijos sutartis