QvQ-Max-2025-03-25
A QVQ-Max — 2025-03-25 a Qwen vizuális következtetési vonalához tartozik. A QVQ-Max család szöveges kérdések mellett képeket és videót elemez, a vizuális megfigyeléseket következtetéssel kapcsolja össze, és szöveges magyarázatokat, levezetett megoldásokat, valamint alkotói útmutatást ad.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqvq-max-2025-03-25 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqvq-max-2025-03-25
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.
A QVQ-Max — 2025-03-25 a Qwen QVQ vizuális következtetési vonalához tartozik. A QVQ-Max család a képek és videók megfigyelését az így szerzett információ elemzésével kapcsolja össze. Dokumentált alkalmazásai matematikai problémákra, programozásra, vizuális elemzésre, alkotómunkára és hétköznapi kérdésekre terjednek ki. A hasznos eredmény a megadott vizuális bizonyítékhoz kapcsolódó szöveges magyarázat vagy megoldás.
Először a részletes megfigyelés következik. Diagramhoz adjon olvasható tengelyeket, jelmagyarázatokat és adatfeliratokat, majd mondja meg, hogy értékeket kell összehasonlítani, trendet kell magyarázni vagy egy adott állítást kell vizsgálni. Kérje a következtetést alátámasztó megfigyeléseket. Több képnél őrizze meg a sorrendet, és azonosítsa, melyik képnek kell alátámasztania az egyes válaszokat. A jó összehasonlítás megnevezi a látható különbségeket, és elmagyarázza, miért fontosak a kérdés szempontjából, ahelyett, hogy egy hihető értelmezést megfigyelt tényként kezelne.
A vizuális következtetés ezeket a megfigyeléseket használja a probléma megoldásához. Ábrára épülő számításnál adja meg a teljes illusztrációt és az írásos kérdést, megtartva a feliratokat, mértékegységeket és közölt feltételeket. Kérje, hogy a modell azonosítsa a megadott információt, magyarázza el a számítást, és a kért formában fejezze ki az eredményt. Műszaki ábránál nevezze meg a vizsgálandó folyamatot vagy kapcsolatot, és kérjen konkrét látható elemekhez kapcsolt magyarázatot. Ha egy érték vagy felirat nem egyértelmű, kérje a bizonytalanság azonosítását a számítás megkezdése előtt.
A család vizuális anyagra épülő alkotói és gyakorlati munkát is támogat. Egy vázlat illusztrációs feladatleírás kiindulópontja lehet; egy jelenet rövid videóforgatókönyvhöz adhat alapot; egy fotó leírást vagy összehasonlítást támogathat. Adja meg a célközönséget, a célt és a korlátokat, és kérjen írásos anyagot, például átdolgozott koncepciót, jelenetvázlatot vagy magyarázatot. Ezek a feladatok a vizuális forrásból szöveges útmutatást készítenek. Őrizze meg az eredeti képet vagy videórészletet, hogy a javasolt változtatásokat össze lehessen vetni az őket kiváltó bizonyítékkal.
Videómegértéshez azonosítsa az időszakaszt vagy eseményt és a megválaszolandó kérdést. A dokumentált QVQ-felület videóanyagot fogad elemzésre. Ha az apró részletek fontosak, mellékeljen olvasható állóképet a releváns jelenetből, és magyarázza el a kapcsolatát a videórészlettel. Kérje a látható cselekvések sorrendjét és a következtetést alátámasztó megfigyeléseket, elkülönítve ezeket a szándék értelmezésétől vagy annak előrejelzésétől, hogy mi történik ezután. A kérdéshez szükséges konkrét bizonyíték körüli anyagot válassza ki, megtartva a forrás sorrendjét.
A QVQ dokumentált következtetési munkafolyamata gondolkodási folyamatot kapcsol össze a válasszal, a gyártó QVQ-szolgáltatási folyamata pedig adatfolyamos kimenetet használ. Tartsa külön a következtetés töredékeit a válasz töredékeitől, és állítsa össze a teljes választ, mielőtt jelentésként, levezetett megoldásként vagy felhasználói utasításként használja. A megszakadt választ hiányosként kell felismerni. Kérjen tömör záró részt, amely megadja az eredményt, a felhasznált bizonyítékot és minden feltételezést, hogy a következtetés a gondolkodás befejeztével is könnyen ellenőrizhető maradjon.
A gyártó csevegési referenciája szerint a rendszerüzeneteknek nincs hatásuk a QVQ esetén. A tényleges feladatot, a releváns feltételeket és a kért válaszformátumot a felhasználói üzenetbe tegye. A referencia a QVQ alapértelmezett mintavételi beállításainak megtartását javasolja más modellcsaládból másolt beállítások alkalmazása helyett. A kért táblázat rendezheti a szöveges választ; ha egy alkalmazás JSON-szerű kimenetet dolgoz fel, használat előtt ellenőrizze annak szerkezetét és értékeit. A kérés összpontosítson a vizuális kérdésre és az elemzésből szükséges elkészítendő anyagra.
Gyakorlatban használható eredményhez őrizze meg a forrásképet vagy videórészletet a kész válasszal együtt. Ellenőrizze a számtant az eredeti számok és mértékegységek alapján, a vizuális magyarázatokat pedig vesse össze a ténylegesen jelen lévő feliratokkal és objektumokkal. Az eset újravizsgálatakor a feladat nyilvántartásában tartsa meg a pontos, dátummal jelölt modellnevet. Kérje, hogy a modell különítse el a látható bizonyítékot, a feltételezéseket és a következtetéseket: egy elmosódott szimbólum vagy nem látott esemény magabiztos értelmezése különben hibás számítás vagy döntés alapjává válhat.
Gyakorlati feladat
Gyakorlati feladat
Technikai példa angolul
Solve a described geometry problem
A diagram is described in text: triangle ABC has base AB = 8 cm and perpendicular height from C to line AB = 3 cm. The foot of the height lies outside segment AB. Calculate the area, explain whether the outside foot changes the formula and state which given measurements are sufficient.Várt eredmény
A worked area calculation with units and a brief explanation of perpendicular height when its foot is outside the base segment.Az eredmény ellenőrzése
Check that the answer uses the perpendicular height, not an inferred side length, and reports square centimeters.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qvq-max-2025-03-25
qvq-max-2025-03-25Kezdő lépések
A QVQ-Max — 2025-03-25 a Qwen vizuális következtetési vonalához tartozik. A QVQ-Max család szöveges kérdések mellett képeket és videót elemez, a vizuális megfigyeléseket következtetéssel kapcsolja össze, és szöveges magyarázatokat, levezetett megoldásokat, valamint alkotói útmutatást ad.
- 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 qvq-max-2025-03-25 | 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.0023 / 1K token Kimenet · Kimeneti tokenek $0.00916 / 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": "qvq-max-2025-03-25", "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='qvq-max-2025-03-25',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='qvq-max-2025-03-25',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 qvq-max-2025-03-25
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 qvq-max-2025-03-25
qvq-max-2025-03-25Kezdő lépések
A QVQ-Max — 2025-03-25 a Qwen vizuális következtetési vonalához tartozik. A QVQ-Max család szöveges kérdések mellett képeket és videót elemez, a vizuális megfigyeléseket következtetéssel kapcsolja össze, és szöveges magyarázatokat, levezetett megoldásokat, valamint alkotói útmutatást ad.
- 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 qvq-max-2025-03-25 | 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.0023 / 1K token Kimenet · Kimeneti tokenek $0.00916 / 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": "qvq-max-2025-03-25",
"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': 'qvq-max-2025-03-25', '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': 'qvq-max-2025-03-25', '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 qvq-max-2025-03-25
Metódusútvonalak álnevei
Használja a fent látható metódusútvonalakat.
Kapcsolódó modellazonosítók
FAQ · QvQ-Max-2025-03-25
- Milyen bemenetek és eredmények érhetők el?
POST /v1/chat/completions·qvq-max-2025-03-25:text→textPOST /v1/messages·qvq-max-2025-03-25:text→json,sse- Mely mezőket használja a kérés?
POST /v1/chat/completions·qvq-max-2025-03-25:model,messages,stream,modalities,providerPOST /v1/messages·qvq-max-2025-03-25:model,messages,max_tokens,stream- Milyen korlátok érvényesek?
POST /v1/chat/completions·qvq-max-2025-03-25:messages.min_items:1