qwen2.5-omni-7b
Qwen2.5-Omni-7B spája porozumenie textu, obrázkom, zvuku a videu s výstupom v podobe textu a prirodzenej reči. Jeho architektúra Thinker-Talker zarovnáva zvuk s časovaním videa, podporuje streamovanú interakciu a v tomto konkrétnom otvorenom kontrolnom bode ponúka dva dokumentované hlasy.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsqwen2.5-omni-7b - Ailoot Ultra · Anthropic Messages
POST /v1/messagesqwen2.5-omni-7b
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.
Prehľad: jeden model pre viacero vstupných modalít
Qwen2.5-Omni-7B je multimodálny model Qwen pokrývajúci celý postup pre text, obrázky, zvuk a video. Dokáže týmto vstupom porozumieť spoločne a v streamovanom postupe generovať text s prirodzenou rečou. Použite ho, keď úloha závisí od toho, čo je vidieť aj počuť, alebo keď používateľ zadáva pokyn hlasom namiesto písania. Ide o konkrétny kontrolný bod 7B; komerčný Omni-Turbo a neskoršie vydania Omni majú vlastné kontrakty.
Hlavné vlastnosti a architektúra
Návrh Thinker-Talker spája porozumenie s generovaním reči. Thinker spracúva multimodálnu úlohu a vytvára textový obsah, zatiaľ čo Talker sa podieľa na tvorbe hovorenej odpovede. TMRoPE, časovo zarovnaná multimodálna pozičná schéma výrobcu, synchronizuje časové značky videa so zvukom. Architektúra je navrhnutá pre vstup po blokoch a pohotovú hlasovú alebo video interakciu; tento cieľ návrhu nie je pevnou zárukou času odpovede pre každé rozhranie.
Výrobcom pokryté úlohy zahŕňajú rozpoznávanie reči, preklad reči, porozumenie zvuku, uvažovanie o obrázkoch, porozumenie videu a generovanie reči. Hovorené pokyny sa preto môžu priamo zúčastňovať multimodálnej otázky bez toho, aby vždy vyžadovali samostatne dodaný písaný prepis. Cieľovú úlohu udržujte jasnú: porozumenie zvukovému klipu, zodpovedanie hovorenej otázky a vytvorenie hovorenej odpovede sú odlišné použitia, hoci model podporuje všetky ich vstupné či výstupné formy.
Príprava multimodálnej konverzácie
Poskytnite relevantné médiá a povedzte, ako ich má odpoveď prepojiť. Pri komentovanej ukážke požiadajte model, aby odlíšil viditeľné kroky od vysvetlenia hovoriaceho a určil, kde sa zhodujú. Pri obrázku so zvukovou otázkou určte úlohu obrázka a žiadajte stručnú odpoveď založenú na viditeľnom obsahu. Pri čisto zvukovom úryvku uveďte, či je cieľom rozpoznanie reči, vysvetlenie zvukov alebo odpoveď na otázku o obsahu. Ide o autorské aplikácie dokumentovaného pokrytia úloh.
Príklady výrobcu ukazujú čisto textové, čisto zvukové, čisto video aj kombinované mediálne konverzácie. Zachovajte pôvodné poradie a časovanie videa. Samostatné podklady označte, aby sa na ne model mohol odvolávať bez považovania nesúvisiacich dôkazov za jednu udalosť. Výsledkom môže byť iba text alebo text s rečou; užitočný artefakt si vyberte pred prípravou požiadavky.
Príprava hlasového výstupu
Postup Qwen pre tento kontrolný bod vyžaduje dokumentovaný systémový pokyn pre zvukové schopnosti, ak je potrebný hlasový výstup. Pokyn identifikuje Qwen a jeho sluchové, vizuálne, textové a rečové schopnosti; nesúvisiaca náhrada môže zabrániť očakávanému zvukovému správaniu. Ide o odporúčanie pre postup výrobcu s kontrolným bodom, nie tvrdenie, že každá aplikácia sprístupňuje ovládanie systémového pokynu alebo generovania zvuku.
Konkrétny kontrolný bod ponúka dva hlasy: Chelsie, vľúdny ženský hlas, a Ethan, veselý mužský hlas. Chelsie je dokumentovanou predvolenou voľbou, keď nie je vybraný hovoriaci. Jeho príklad generovania zapisuje reč so vzorkovacou frekvenciou 24,000 Hz. Tieto dva hlasy sa nemajú zamieňať s opisom štyroch hlasov samostatne pomenovaného komerčného modelu.
Používanie zvuku z videa
Zvuková stopa videa môže byť relevantná pre jeho význam, napríklad hovorené pokyny alebo zvuk vyvolaný viditeľnou akciou. Qwen sprístupňuje use_audio_in_video pri príprave médií, spracovaní aj generovaní. Nastavenie musí zostať konzistentné vo všetkých troch etapách aj naprieč viackolovou konverzáciou; nekonzistentné nastavenia môžu viesť k neočakávaným výsledkom. Čisto vizuálna interpretácia videa sa preto líši od audiovizuálnej interpretácie, aj keď ide o rovnaký súbor.
Čisto textový výstup a dávkovanie
Výrobca podporuje čisto textový výstup nastavením return_audio=False. Umožňuje tiež po načítaní vypnúť Talker, čím sa pamäť GPU zníži približne o 2 GB, no zvukový výstup zostane v danej inštancii nedostupný. Dokumentovaný príklad dávkovania zmiešaných vzoriek vyžaduje return_audio=False a kombinuje textové, obrazové, zvukové a video požiadavky. Tento dávkový príklad sa nemá povýšiť na tvrdenie o dávkovom generovaní reči.
Kontext a vecné limity
Konfigurácia textového základu kontrolného bodu nastavuje maximum pozícií na 32,768. Text, reprezentované médiá a generované odpovede spotrebúvajú priestor sekvencie; táto hodnota samostatne nedefinuje univerzálnu dĺžku zvuku alebo videa. Príklady nárokov na výpočtové zdroje od výrobcu ukazujú, že dlhšie video potrebuje podstatne viac pamäte, preto je krátky relevantný klip často praktickejší než veľká nesúvisiaca nahrávka. Jeho príklady nezverejňujú samostatnú pevnú maximálnu dĺžku odpovede ani univerzálne zaručenú dĺžku médií.
Overujte citácie reči a závery voči zdroju, zachovajte dostatok vizuálnych detailov pre otázku a uchovajte textový výsledok, keď posudzovateľ potrebuje preskúmať hovorené vysvetlenie. Dokumentovanou hodnotou modelu je spoločné porozumenie a textová/rečová odpoveď, zatiaľ čo konkrétne ovládanie hlasov, spracovanie médií a doručenie výstupu zostávajú vlastnosťami zvoleného rozhrania.
Praktická úloha
Praktická úloha
Technický príklad v angličtine
Compare demonstration notes with narration
Compare two text records of demonstration M2. Visual notes: 'Operator closes the lid, then presses Start.' Narration transcript: 'Press Start before closing the lid.' Identify the sequence disagreement and write one clarification question for the instructor. Use only these supplied records; do not claim to have watched or heard a clip.Očakávaný výsledok
A source-linked sequence comparison and one targeted clarification question.Overenie výsledku
The answer must preserve the opposing event order and avoid inventing a resolution.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions qwen2.5-omni-7b
qwen2.5-omni-7bÚvod
Qwen2.5-Omni-7B spája porozumenie textu, obrázkom, zvuku a videu s výstupom v podobe textu a prirodzenej reči. Jeho architektúra Thinker-Talker zarovnáva zvuk s časovaním videa, podporuje streamovanú interakciu a v tomto konkrétnom otvorenom kontrolnom bode ponúka dva dokumentované hlasy.
- 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
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity qwen2.5-omni-7b | Predvolené— |
Polemessages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity Minimálny počet položiek: 1 | Predvolené— |
Polemessages[].role | Typstring | Pož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[].content | Typstring|content_part[]|null | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Polemessages[].tool_calls | Typtool_call[] | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Polemessages[].tool_call_id | Typstring | PožiadavkaVoliteľné | Hodnoty a limity Platí, keď: role=tool; použite skutočne vrátené ID | Predvolené— |
Polemessages[].name | Typstring | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Polemessages[].reasoning_content | Typstring | PožiadavkaVoliteľné | Hodnoty a limity Platí, keď: Posielajte späť skutočne vrátené uvažovanie, ak ho tento model používa | Predvolené— |
Polemessages[].reasoning_details | Typobject|array | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Polemax_tokens | Typinteger | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 1 Závisí od modelu | Predvolené— |
Polemax_completion_tokens | Typinteger | PožiadavkaVoliteľné | Hodnoty a limity Minimum: 1 Závisí od modelu | Predvolené— |
Polestream | Typboolean | PožiadavkaVoliteľné | Hodnoty a limity | Predvolenéfalse |
Polestream_options.include_usage | Typboolean | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poletemperature | Typnumber | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poletop_p | Typnumber | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Polestop | Typstring|string[] | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poletools | Typfunction_tool[] | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poletools[].type | Typstring | PožiadavkaVoliteľné | Hodnoty a limity function Závisí od modelu | Predvolené— |
Poletools[].function.name | Typstring | PožiadavkaPovinné | Hodnoty a limity Platí, keď: poskytnutý nástroj typu funkcia | Predvolené— |
Poletools[].function.description | Typstring | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Poletools[].function.parameters | TypJSON_schema | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené— |
Poletool_choice | Typstring|object | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poleparallel_tool_calls | Typboolean | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poleresponse_format | Typobject | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Polereasoning_effort | Typstring | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Polereasoning | Typobject | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poleservice_tier | Typstring | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poleinstructions | Typstring | PožiadavkaVoliteľné | Hodnoty a limity Pole kompatibility | Predvolené— |
Polefunctions | Typfunction[] | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Polefunction_call | Typstring|object | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Poleprompt_cache_options | Typobject | PožiadavkaVoliteľné | Hodnoty a limity Závisí od modelu | Predvolené— |
Polemodalities | Typstring[] | PožiadavkaVoliteľné | Hodnoty a limity text | Predvolené— |
Poleprovider | Typobject | PožiadavkaVoliteľné | Hodnoty a limity Podmienky: provider.options sa na tejto textovej trase Ultra odmieta | Predvolené— |
Polecache_control.ttl | Typstring | Pož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ácia | Sadzobník | Poplatok |
|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny $0.0046 / 1K tokenov Výstup · Výstupné tokeny $0.0138 / 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
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-omni-7b", "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-omni-7b',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-omni-7b',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
| Pole | Typ |
|---|---|
Polechoices[].index | Typinteger |
Polechoices[].message.content | Typstring|null |
Polechoices[].message.tool_calls | Typtool_call[] |
Polechoices[].message.reasoning_content | Typstring |
Polechoices[].message.reasoning_details | Typobject|array |
Polechoices[].finish_reason | Typstring|null |
Poleusage | Typobject |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné 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-omni-7b
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
Ailoot Ultra · Anthropic Messages POST /v1/messages qwen2.5-omni-7b
qwen2.5-omni-7bÚvod
Qwen2.5-Omni-7B spája porozumenie textu, obrázkom, zvuku a videu s výstupom v podobe textu a prirodzenej reči. Jeho architektúra Thinker-Talker zarovnáva zvuk s časovaním videa, podporuje streamovanú interakciu a v tomto konkrétnom otvorenom kontrolnom bode ponúka dva dokumentované hlasy.
- 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
| Pole | Typ | Požiadavka | Hodnoty a limity | Predvolené |
|---|---|---|---|---|
Polemodel | Typstring | PožiadavkaPovinné | Hodnoty a limity qwen2.5-omni-7b | Predvolené— |
Polemessages | Typmessage[] | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polemessages[].role | Typstring | PožiadavkaPovinné | Hodnoty a limity user, assistant | Predvolené— |
Polemessages[].content | Typstring | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polemax_tokens | Typinteger | PožiadavkaPovinné | Hodnoty a limity | Predvolené— |
Polestream | Typboolean | PožiadavkaVoliteľné | Hodnoty a limity | Predvolené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ácia | Sadzobník | Poplatok |
|---|---|---|
| KonfiguráciaZákladné sadzby za tokeny | SadzobníkZákladná sadzba | Poplatok Vstup · Vstupné tokeny $0.0046 / 1K tokenov Výstup · Výstupné tokeny $0.0138 / 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
{
"model": "qwen2.5-omni-7b",
"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-omni-7b', '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-omni-7b', '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
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polemodel | Typstring |
Polecontent[] | Typtext|thinking|tool_use|other content block |
Polestop_reason | Typstring|null |
Poleusage | Typobject |
Chyby a ďalšie kroky
| Odpoveď | Podmienka | Ďalší krok |
|---|---|---|
Odpoveď400 · invalid_request_error | PodmienkaNeplatné 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-omni-7b
Aliasy ciest metód
Použite cesty metód uvedené vyššie.
Súvisiace ID na volanie
FAQ · qwen2.5-omni-7b
- Aké vstupy a výsledky sú dostupné?
POST /v1/chat/completions·qwen2.5-omni-7b:text→textPOST /v1/messages·qwen2.5-omni-7b:text→json,sse- Aké polia používa požiadavka?
POST /v1/chat/completions·qwen2.5-omni-7b:model,messages,stream,modalities,providerPOST /v1/messages·qwen2.5-omni-7b:model,messages,max_tokens,stream- Aké limity platia?
POST /v1/chat/completions·qwen2.5-omni-7b:messages.min_items:1