Source: https://ailoot.ai/models/lt/qwen2-5-omni-7b/
Canonical: https://ailoot.ai/models/lt/qwen2-5-omni-7b/
Language: lt

# qwen2.5-omni-7b

[Markdown](https://ailoot.ai/models/lt/qwen2-5-omni-7b/index.md) · [JSON](https://ailoot.ai/models/lt/qwen2-5-omni-7b/facts.json)

## [qwen2.5-omni-7b](https://ailoot.ai/models/lt/qwen2-5-omni-7b/)

Qwen2.5-Omni-7B derina teksto, vaizdų, garso ir vaizdo įrašų supratimą su teksto bei natūralios šnekos išvestimi. Thinker-Talker architektūra susieja garsą su vaizdo įrašo laiko seka, palaiko srautinę sąveiką, o šiame konkrečiame atvirame kontroliniame taške siūlo du dokumentuotus balsus.

- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `qwen2.5-omni-7b`](https://ailoot.ai/models/lt/qwen2-5-omni-7b/#method-0)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `qwen2.5-omni-7b`](https://ailoot.ai/models/lt/qwen2-5-omni-7b/#method-1)

Apie modelį

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

Apžvalga: vienas modelis kelioms įvesties rūšims

Qwen2.5-Omni-7B – Qwen visą apdorojimo kelią apimantis daugiarūšis modelis tekstui, vaizdams, garsui ir vaizdo įrašams. Jis gali suprasti šias įvestis kartu ir srautiniame procese generuoti tekstą su natūralia šneka. Naudokite jį, kai užduočiai svarbu ir tai, kas matoma, ir tai, kas girdima, arba kai naudotojas instrukciją pateikia balsu, o ne raštu. Tai konkretus 7B kontrolinis taškas; komercinis Omni-Turbo ir vėlesnės Omni laidos turi savas sutartis.

Pagrindinės funkcijos ir architektūra

Thinker-Talker sandara sujungia supratimą ir šnekos generavimą. Thinker apdoroja daugiarūšę užduotį ir kuria tekstinį turinį, o Talker dalyvauja formuojant ištartą atsakymą. TMRoPE, gamintojo pagal laiką suderinta daugiarūšė pozicijų schema, sinchronizuoja vaizdo laiko žymas su garsu. Architektūra skirta blokais pateikiamai įvesčiai ir operatyviai balso ar vaizdo sąveikai; šis projektavimo tikslas nėra fiksuoto atsakymo laiko garantija kiekvienai sąsajai.

Gamintojo užduočių aprėptis apima kalbos atpažinimą, sakytinės kalbos vertimą, garso supratimą, samprotavimą apie vaizdus, vaizdo įrašų supratimą ir šnekos generavimą. Todėl žodinės instrukcijos gali tiesiogiai dalyvauti daugiarūšiame klausime, ne visuomet reikalaujant atskirai pateiktos rašytinės transkripcijos. Aiškiai įvardykite tikslinę užduotį: garso fragmento supratimas, atsakymas į žodinį klausimą ir žodinio atsakymo generavimas yra skirtingi panaudojimo būdai, nors modelis palaiko visas jų įvesties ar išvesties formas.

Daugiarūšio pokalbio parengimas

Pateikite susijusią mediją ir nurodykite, kaip atsakymas turi ją susieti. Demonstracijai su pasakojimu paprašykite modelio atskirti matomus žingsnius nuo kalbėtojo paaiškinimo ir nustatyti, kur jie sutampa. Paveikslėliui su garsiniu klausimu nurodykite vaizdo vaidmenį ir prašykite glausto atsakymo, pagrįsto matomu turiniu. Vien garsiniam fragmentui nurodykite, ar siekiama atpažinti kalbą, paaiškinti garsus, ar atsakyti į klausimą apie turinį. Tai parengti dokumentuotos užduočių aprėpties pritaikymai.

Gamintojo pavyzdžiuose pateikiami vien tekstiniai, vien garsiniai, vien vaizdo įrašų ir mišrios medijos pokalbiai. Išlaikykite pradinę vaizdo įrašo tvarką ir laiką. Atskirus išteklius pažymėkite, kad modelis galėtų juos nurodyti, nelaikydamas nesusijusių įrodymų vienu įvykiu. Rezultatas gali būti vien tekstas arba tekstas su sakytine kalba; prieš rengdami užklausą pasirinkite naudingą rezultatą.

Sakytinės kalbos išvesties parengimas

Kai reikia sakytinės kalbos išvesties, Qwen kontrolinio taško receptas reikalauja dokumentuotos garso gebėjimų sisteminės instrukcijos. Instrukcijoje nurodomas Qwen ir jo klausos, regos, teksto bei kalbos gebėjimai; nesusijęs pakaitalas gali sutrukdyti numatytam garso veikimui. Tai gamintojo kontrolinio taško proceso gairės, o ne teiginys, kad kiekviena programa suteikia sisteminės instrukcijos ar garso generavimo valdiklius.

Šiame konkrečiame kontroliniame taške siūlomi du balsai: Chelsie – šiltas moteriškas balsas, ir Ethan – energingas vyriškas balsas. Chelsie dokumentuotas kaip numatytasis, kai kalbėtojas nepasirinktas. Generavimo pavyzdyje kalba įrašoma 24,000 Hz diskretizavimo dažniu. Šių dviejų balsų nereikėtų pakeisti keturių balsų aprašymu iš atskirai įvardyto komercinio modelio.

Garso iš vaizdo įrašo naudojimas

Vaizdo įrašo garso takelis gali būti svarbus jo prasmei, pavyzdžiui, žodinės instrukcijos ar matomo veiksmo sukeltas garsas. Qwen pateikia use\_audio\_in\_video nustatymą medijos parengimo, apdorojimo ir generavimo etapuose. Visuose trijuose etapuose ir kelių ėjimų pokalbyje jis turi išlikti nuoseklus; nesuderinti nustatymai gali duoti netikėtų rezultatų. Todėl vien vaizdinis vaizdo įrašo aiškinimas skiriasi nuo garsinio ir vaizdinio, net kai failas tas pats.

Vien tekstinė išvestis ir paketinis apdorojimas

Gamintojas palaiko vien tekstinę išvestį nustačius return\_audio=False. Taip pat leidžia po įkėlimo išjungti Talker: GPU atminties poreikis sumažėja maždaug 2 GB, tačiau tame egzemplioriuje garso išvestis tampa neprieinama. Dokumentuotame mišrių pavyzdžių paketinio apdorojimo pavyzdyje reikalaujama return\_audio=False; jame derinamos teksto, vaizdų, garso ir vaizdo įrašų užklausos. Šio paketo pavyzdžio nereikėtų paversti teiginiu apie paketinį kalbos generavimą.

Kontekstas ir esminės ribos

Kontrolinio taško tekstinės bazės konfigūracijoje didžiausias pozicijų skaičius yra 32,768. Tekstas, atvaizduota medija ir sugeneruoti atsakymai naudoja sekos vietą; ši reikšmė savaime nenustato universalios garso ar vaizdo įrašo trukmės. Gamintojo išteklių pavyzdžiai rodo, kad ilgesniam vaizdo įrašui reikia gerokai daugiau atminties, todėl trumpas susijęs fragmentas dažnai praktiškesnis nei didelis nesusijęs įrašas. Pavyzdžiuose neskelbiama atskira griežta didžiausia atsakymo ilgio riba ar visuotinai garantuota medijos trukmė.

Kalbos citatas ir išvadas tikrinkite pagal šaltinį, išlaikykite klausimui pakankamas vaizdines detales ir saugokite tekstinį rezultatą, kai vertintojui reikia peržiūrėti žodinį paaiškinimą. Dokumentuota modelio vertė – bendras supratimas ir tekstinis bei sakytinis atsakymas; tikslūs balso valdikliai, medijos apdorojimas ir išvesties pristatymas lieka pasirinktos sąsajos funkcijomis.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
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.
```

#### Laukiamas rezultatas

```
A source-linked sequence comparison and one targeted clarification question.
```

#### Rezultato patikra

```
The answer must preserve the opposing event order and avoid inventing a resolution.
```

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `qwen2.5-omni-7b`

[`qwen2.5-omni-7b`](https://ailoot.ai/models/lt/#m=qwen2.5-omni-7b&route=Ultra&caller=qwen2.5-omni-7b&fmt=chat)

Alibaba /`qwen2.5-omni-7b`

### Pradžia

Qwen2.5-Omni-7B derina teksto, vaizdų, garso ir vaizdo įrašų supratimą su teksto bei natūralios šnekos išvestimi. Thinker-Talker architektūra susieja garsą su vaizdo įrašo laiko seka, palaiko srautinę sąveiką, o šiame konkrečiame atvirame kontroliniame taške siūlo du dokumentuotus balsus.

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

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen2.5-omni-7b | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikš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— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`modalities` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
| Laukas`cache_control.ttl` | Tipas`string` | ReikalavimasNeprivaloma | Reikš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

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametras`control_scope` | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

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 įkainis | Mokestis Įvestis · Įvesties tokenai **$0.0046** / 1K tokenų Išvestis · Išvesties tokenai **$0.0138** / 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 →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas

```bash
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
```

```python
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"))
```

```python
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")
```

### 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

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | Są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-omni-7b`](https://ailoot.ai/models/lt/#m=qwen2.5-omni-7b&route=Ultra&caller=qwen2.5-omni-7b&fmt=chat)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`qwen2.5-omni-7b`](https://ailoot.ai/models/lt/#m=qwen2.5-omni-7b&route=Ultra&caller=qwen2.5-omni-7b&fmt=chat)

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `qwen2.5-omni-7b`

[`qwen2.5-omni-7b`](https://ailoot.ai/models/lt/#m=qwen2.5-omni-7b&route=Ultra&caller=qwen2.5-omni-7b&fmt=messages)

Alibaba /`qwen2.5-omni-7b`

### Pradžia

Qwen2.5-Omni-7B derina teksto, vaizdų, garso ir vaizdo įrašų supratimą su teksto bei natūralios šnekos išvestimi. Thinker-Talker architektūra susieja garsą su vaizdo įrašo laiko seka, palaiko srautinę sąveiką, o šiame konkrečiame atvirame kontroliniame taške siūlo du dokumentuotus balsus.

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

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos qwen2.5-omni-7b | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF-8 tekstas

`messages[].content eilutė`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite 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 įkainis | Mokestis Įvestis · Įvesties tokenai **$0.0046** / 1K tokenų Išvestis · Išvesties tokenai **$0.0138** / 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 →](https://ailoot.ai/docs/lt/billing/reserve/)

### 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ą

```json
{
  "model": "qwen2.5-omni-7b",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
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
```

```python
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))
```

### 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

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | Są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-omni-7b`](https://ailoot.ai/models/lt/#m=qwen2.5-omni-7b&route=Ultra&caller=qwen2.5-omni-7b&fmt=messages)

#### Metodų kelių pseudonimai

Naudokite aukščiau nurodytus metodų kelius.

#### Susiję ID iškvietimui

[`qwen2.5-omni-7b`](https://ailoot.ai/models/lt/#m=qwen2.5-omni-7b&route=Ultra&caller=qwen2.5-omni-7b&fmt=messages)

FAQ · qwen2.5-omni-7b

Kokios įvestys ir rezultatai prieinami?

`POST /v1/chat/completions` · `qwen2.5-omni-7b`: `text` → `text` `POST /v1/messages` · `qwen2.5-omni-7b`: `text` → `json`, `sse`

Kokius laukus naudoja užklausa?

`POST /v1/chat/completions` · `qwen2.5-omni-7b`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `qwen2.5-omni-7b`: `model`, `messages`, `max_tokens`, `stream`

Kokie apribojimai taikomi?

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

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ą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## 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](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





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





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
