Qwen2.5-VL-3b
A Qwen2.5-VL-3B-Instruct a Qwen kompakt, utasításokra hangolt vizuális nyelvi modellje szöveghez, képekhez és videóhoz. Szöveget és strukturált vizuális információt ad vissza, köztük dokumentummezőket, objektumkoordinátákat és eseményleírásokat, dinamikus felbontással és időérzékeny videófeldolgozással.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen2.5-vl-3b-instruct - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen2.5-vl-3b-instruct
A modellről
Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.
Bevezetés: az utasításokra hangolt 3B kiadás
A Qwen2.5-VL-3B-Instruct a Qwen2.5-VL 3B tagja. Szöveges utasításokat fogad képekkel vagy videóval, és szöveges válaszokat generál, strukturált adatokat is beleértve. Válassza világosan meghatározott vizuális kérdéshez, dokumentumból történő adatkinyeréshez vagy a látható tartalmat a felhasználó kérésével összekapcsoló magyarázathoz. E pontos méret és kiadás megőrzi saját azonosítóját; nem szabad feltételezni, hogy a kifejezetten más méretekhez vagy későbbi Qwen-generációkhoz hozzáadott funkciók erre a modellellenőrzőpontra is érvényesek.
Vizuális értelmezés és ügynökmunkafolyamatok
A Qwen hétköznapi objektumok felismerését, valamint írások, diagramok, ikonok, grafikák és oldalelrendezések elemzését írja le. Űrlapnál határozza meg a szükséges mezőket és az üres érték jelentését. Diagramnál kérje a következtetést alátámasztó tengelyeket, mértékegységeket és látható értékeket. A célzott kérés kimenete könnyebben összevethető az eredeti képpel, mint a mindent leíró általános kérésé.
A család vizuális ügynökkövetkeztetést és eszközirányítást is támogat számítógépes vagy telefonos munkafolyamatokhoz. A modell értelmezheti a felületet és segíthet a művelet eldöntésében; a műveletet a kapcsolódó alkalmazáseszközök hajtják végre. Képernyőképes felülvizsgálatnál kérdezheti, melyik vezérlő felel meg egy feladatnak, és milyen látható információ támasztja alá a választást. A vizuális következtetés ilyen használata önmagában nem ad vezérlést egy eszköz felett.
Hosszú videók és az események időbeli meghatározása
A gyártó egy óránál hosszabb videók megértését és a kért eseményhez tartozó szakaszok azonosítását írja le. Ez családszintű képesség, nem feltétel nélküli médiafeltöltési korlát vagy garancia minden képkocka megőrzésére. Készítse elő a releváns klipet, őrizze meg az időzítési adatait, és tegyen fel pontos kérdést az eseményről, eseménysorról vagy változásról. A modell videófeldolgozási megközelítése a képkockasebesség információjával igazítja a vizuális megfigyeléseket az abszolút időhöz.
Helymeghatározás és strukturált dokumentumok
A Qwen2.5-VL objektumhelyeket adhat vissza befoglaló téglalapként vagy pontként, JSON-formátumú koordinátákkal és attribútumokkal. Helymeghatározási feladatnál nevezze meg a célobjektumot, és adja meg, hogy pont vagy téglalap legyen az eredmény. Tegye egyértelművé a koordinátakonvenciót az adatokat felhasználó alkalmazásban ahelyett, hogy tetszőleges fényképből fizikai mérést következtetne ki.
A gyártó szkennelt számlákból, űrlapokból és táblázatokból történő strukturált adatkinyerést is dokumentál. Adjon meg olvasható oldalt és kimeneti sémát: például mezőnév, kinyert szöveg és az azt alátámasztó látható régió. A forrásban őrizze meg a mértékegységeket, tizedeselválasztókat és táblázatfejléceket. A bizonytalan vagy olvashatatlan tartalmat felülvizsgálandó esetként kezelje ahelyett, hogy hiányzó érték kitalálására kérné a modellt. Ezek az előkészítési példák dokumentált képességeket alkalmaznak; nem garantálnak pontos adatkinyerést.
Architekturális változások
A dinamikus képfelbontást változó képkockasebességű tanítással terjesztik ki a videóra. A frissített multimodális pozicionális kódolás az időbeli sorrendet és az abszolút időt reprezentálja, segítve az adott pillanatok és sebességváltozások azonosítását. A vizuális kódoló ablakos figyelmet használ SwiGLU-val és RMSNorm-mal együtt. Ezek a változások a vizuális anyag modell általi feldolgozását írják le; nem jelentenek rögzített késleltetést egy adott alkalmazásban.
Képek és videó előkészítése
A hivatalos példák egyetlen képet, több képet, kizárólag szöveges beszélgetéseket, videófájlokat és rendezett képkockalistákat is lefednek. Jelöljön meg több vizuális bemenetet, hogy a kérdés mindegyikre hivatkozhasson. Képösszehasonlításhoz kérjen jelölések szerint rendezett táblázatot, és korlátozza az eredményt a látható különbségekre. Videóidővonalhoz őrizze meg a képkockák sorrendjét és időzítését ahelyett, hogy elszigetelt képeket ismert időtartamúként mutatna be.
A képfeldolgozó dokumentált alapértelmezése képenként négy és 16,384 közötti vizuális token. Példája pixelhatárok beállításával 256–1,280 tokent célozhat. E határok között megőrzi a képarányt, míg a kifejezetten megadott átméretezési méretek 28 többszöröseihez igazodnak. A nagyobb részletesség több számítást és sorozatteret használ, ezért egy apró szövegmezőhöz nagyobb felbontású kivágás kellhet, egy átfogó jelenetösszefoglalóhoz viszont nem feltétlenül. Ezek gyártói feldolgozási vezérlők; az alkalmazás feltöltési lehetőségei eltérhetnek.
Kontextus és érdemi korlátok
A közzétett modellellenőrzőpont-konfiguráció a maximális pozíciószámot 128,000-re állítja, miközben a mellékelt hosszúszöveg-szakasz továbbra is 32,768 tokenes kiindulási konfigurációt tárgyal. Az útmutató YaRN-extrapolációt ír le, de figyelmeztet, hogy az jelentősen befolyásolhatja az időbeli és térbeli helymeghatározást, és ezekhez a feladatokhoz nem ajánlja a módszert. Külön megjegyzi, hogy a videó pozicionális kódolása nagyobb pozícióbeállítást tehet lehetővé, példaként 64K-t megadva. E különböző konfigurációs leírásokat nem szabad egyetlen, általánosan igazolt bemeneti felső határrá összevonni.
A szöveg, a vizuális anyag és a válasz véges sorozatkereten osztozik. Tartsa olvashatóan a releváns tartalmat, tartalékoljon helyet az eredménynek, és ellenőrizze a kinyert szöveget, koordinátákat és eseményidőket az eredetivel összevetve. A kártya 128 tokenes generálási példája szemléltető jellegű, és nem igazol külön merev kimeneti maximumot. Ez a modell szöveges elemzést vagy strukturált információt ad vissza; vizuális nyelvi képességei nem jelentik azt, hogy képet vagy videót generál.
Gyakorlati feladat
Gyakorlati feladat
Technikai példa angolul
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.Várt eredmény
An ordered event table, a placement-time field and an unresolved weight field.Az eredmény ellenőrzése
Check that obscured weight remains unknown and the placement timestamp is attributed to the supplied annotation.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2.5-vl-3b-instruct
qwen2.5-vl-3b-instructKezdő lépések
A Qwen2.5-VL-3B-Instruct a Qwen kompakt, utasításokra hangolt vizuális nyelvi modellje szöveghez, képekhez és videóhoz. Szöveget és strukturált vizuális információt ad vissza, köztük dokumentummezőket, objektumkoordinátákat és eseményleírásokat, dinamikus felbontással és időérzékeny videófeldolgozással.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- Szöveg
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Bemenet
text- Kimenet
text- Kimeneti formátum
- json vagy SSE
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok qwen2.5-vl-3b-instruct | Alapértelmezett— |
Mezőmessages | Típusmessage[] | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
Mezőmessages[].role | Típusstring | KövetelményKötelező | Értékek és korlátok Példák: system, user, assistant, tool, function Feltételek: Ezeket a szerepeket a forráskód kompatibilitási típusai kifejezetten reprezentálják; a pontos szerepkészlet továbbra is modellspecifikus. Modelltől függ | Alapértelmezett— |
Mezőmessages[].content | Típusstring|content_part[]|null | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].tool_calls | Típustool_call[] | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].tool_call_id | Típusstring | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: role=tool; használja a ténylegesen visszaadott ID-t | Alapértelmezett— |
Mezőmessages[].name | Típusstring | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].reasoning_content | Típusstring | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: Küldje vissza a ténylegesen visszaadott gondolkodási tartalmat, ha ez a modell használja | Alapértelmezett— |
Mezőmessages[].reasoning_details | Típusobject|array | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőmax_tokens | Típusinteger | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Modelltől függ | Alapértelmezett— |
Mezőmax_completion_tokens | Típusinteger | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Modelltől függ | Alapértelmezett— |
Mezőstream | Típusboolean | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
Mezőstream_options.include_usage | Típusboolean | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtemperature | Típusnumber | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtop_p | Típusnumber | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőstop | Típusstring|string[] | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtools | Típusfunction_tool[] | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőtools[].type | Típusstring | KövetelményOpcionális | Értékek és korlátok function Modelltől függ | Alapértelmezett— |
Mezőtools[].function.name | Típusstring | KövetelményKötelező | Értékek és korlátok Akkor alkalmazandó, ha: Függvényeszköz megadva | Alapértelmezett— |
Mezőtools[].function.description | Típusstring | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőtools[].function.parameters | TípusJSON_schema | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
Mezőtool_choice | Típusstring|object | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőparallel_tool_calls | Típusboolean | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőresponse_format | Típusobject | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőreasoning_effort | Típusstring | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőreasoning | Típusobject | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőservice_tier | Típusstring | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőinstructions | Típusstring | KövetelményOpcionális | Értékek és korlátok Kompatibilitási mező | Alapértelmezett— |
Mezőfunctions | Típusfunction[] | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőfunction_call | Típusstring|object | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőprompt_cache_options | Típusobject | KövetelményOpcionális | Értékek és korlátok Modelltől függ | Alapértelmezett— |
Mezőmodalities | Típusstring[] | KövetelményOpcionális | Értékek és korlátok text | Alapértelmezett— |
Mezőprovider | Típusobject | KövetelményOpcionális | Értékek és korlátok Feltételek: A provider.options elutasításra kerül ezen az Ultra szöveges útvonalon | Alapértelmezett— |
Mezőcache_control.ttl | Típusstring | KövetelményOpcionális | Értékek és korlátok Feltételek: Az 1h elutasításra kerül a tényleges prompt-gyorsítótárazási helyeken | Alapértelmezett— |
Bemeneti anyagok kombinációi
Szöveg · UTF8 szöveg
messages[].content
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, messages |
Paramétermaterial_types | Szerződéstext |
Paramétermessages | Szerződésüzenettömb role/content szerkezettel |
Paraméterfile_material | Szerződésa tényleges UTF-8 dokumentum szó szerinti szövegként beillesztve; nincs kikövetkeztetett fájlazonosító |
Paraméteroptional_controls | Szerződésstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Paramétercontrol_scope | Szerződésmodellspecifikus; a felhasználói függvényeszközök eltérnek a hosztolt eszközöktől |
Paraméteroutput_modalities | Szerződéstext |
Paraméterhosted_operations | Szerződésfalse |
Paramétermultimodal_input_binding | Szerződésnull |
Életciklus: synchronous_or_streamed
Küldje el a pontos modellazonosítót a messages mellett.
A kontextushossz nem kimeneti felső korlát.
Egy szövegfájl szó szerinti szöveget adhat meg; a kép-/hang-/fájlobjektum-bemenetek pontos hozzárendelést igényelnek.
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Nincs megadva Ha a gyors mód van kiválasztva
- Flex mód
- Nincs megadva Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Ailoot-díjak
Árak beállításonként
| Beállítás | Díjtáblázat | Díj |
|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek $0.0004 / 1K token Kimenet · Kimeneti tokenek $0.0012 / 1K token Bemenet · Gyorsítótár olvasása $0 / 1K token Bemenet · Írás a gyorsítótárba $0 / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
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-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")
Eredmények fogadása és mentése
Ailoot Ultra · OpenAI Chat
json vagy SSE
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.
Ha az eredeti választ ellenőrizni kell
Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőchoices[].index | Típusinteger |
Mezőchoices[].message.content | Típusstring|null |
Mezőchoices[].message.tool_calls | Típustool_call[] |
Mezőchoices[].message.reasoning_content | Típusstring |
Mezőchoices[].message.reasoning_details | Típusobject|array |
Mezőchoices[].finish_reason | Típusstring|null |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra qwen2.5-vl-3b-instruct
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2.5-vl-3b-instruct
qwen2.5-vl-3b-instructKezdő lépések
A Qwen2.5-VL-3B-Instruct a Qwen kompakt, utasításokra hangolt vizuális nyelvi modellje szöveghez, képekhez és videóhoz. Szöveget és strukturált vizuális információt ad vissza, köztük dokumentummezőket, objektumkoordinátákat és eseményleírásokat, dinamikus felbontással és időérzékeny videófeldolgozással.
- Elfogadott bemenetek
- Szöveg
- Eredmények
- json · sse
Elérhető az Ailootban · bemenetek és metódusok
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Bemenet
text- Kimenet
json,sse- Kimeneti formátum
- JSON vagy SSE
| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
|---|---|---|---|---|
Mezőmodel | Típusstring | KövetelményKötelező | Értékek és korlátok qwen2.5-vl-3b-instruct | Alapértelmezett— |
Mezőmessages | Típusmessage[] | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőmessages[].role | Típusstring | KövetelményKötelező | Értékek és korlátok user, assistant | Alapértelmezett— |
Mezőmessages[].content | Típusstring | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőmax_tokens | Típusinteger | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
Mezőstream | Típusboolean | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
Bemeneti anyagok kombinációi
Szöveg · UTF-8 szöveg
messages[].content karakterlánc
Metódus paraméterei és életciklusa
| Paraméter | Szerződés |
|---|---|
Paramétercontent_type | Szerződésapplication/json |
Paraméterrequired | Szerződésmodel, messages, max_tokens |
Paraméteroptional_controls | Szerződésstream |
Paramétermaterial_types | Szerződéstext |
Paramétertext_file_material | SzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába. |
Életciklus: synchronous_or_streamed
Díjcsomagok
A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.
- Gyors mód
- Nincs megadva Ha a gyors mód van kiválasztva
- Flex mód
- Nincs megadva Ha a flex mód van kiválasztva
- Maximális gondolkodási ráfordítás
- Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik
Ailoot-díjak
Árak beállításonként
| Beállítás | Díjtáblázat | Díj |
|---|---|---|
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek $0.0004 / 1K token Kimenet · Kimeneti tokenek $0.0012 / 1K token Bemenet · Gyorsítótár olvasása $0 / 1K token Bemenet · Írás a gyorsítótárba $0 / 1K token Bemenet · Írás a gyorsítótárba, 1 óra — / 1K token |
Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. A foglalás és az elszámolás működése →
Példakérések
Ailoot Ultra · Anthropic Messages
{
"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))
Eredmények fogadása és mentése
Ailoot Ultra · Anthropic Messages
JSON vagy SSE
Őrizzen meg minden elkészült eredményt
Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.
Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.
Ha az eredeti választ ellenőrizni kell
Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.
Válaszmezők
| Mező | Típus |
|---|---|
Mezőid | Típusstring |
Mezőmodel | Típusstring |
Mezőcontent[] | Típustext|thinking|tool_use|other content block |
Mezőstop_reason | Típusstring|null |
Mezőusage | Típusobject |
Hibák és következő lépések
| Válasz | Feltétel | Következő lépés |
|---|---|---|
Válasz400 · invalid_request_error | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |
Álnevek
Modell álnevei
Ailoot Ultra qwen2.5-vl-3b-instruct
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · Qwen2.5-VL-3b
- Milyen bemenetek és eredmények érhetők el?
POST /v1/chat/completions·qwen2.5-vl-3b-instruct:text→textPOST /v1/messages·qwen2.5-vl-3b-instruct:text→json,sse- Mely mezőket használja a kérés?
POST /v1/chat/completions·qwen2.5-vl-3b-instruct:model,messages,stream,modalities,providerPOST /v1/messages·qwen2.5-vl-3b-instruct:model,messages,max_tokens,stream- Milyen korlátok érvényesek?
POST /v1/chat/completions·qwen2.5-vl-3b-instruct:messages.min_items:1