Qwen2 VL 72B Instruct
Qwen2-VL-72B-Instruct визуалды сұрақтар, құжат оқу және суреттердегі көптілді мәтін үшін мәтінді, суреттерді және видеоны біріктіреді. Әзірлеуші 20 минуттан ұзақ видеоны түсінуді, суреттің динамикалық ажыратымдылығын және визуалды агент интеграцияларын сипаттайды; жауап — мәтін.
- Ailoot Ultra · OpenAI чаты
POST /v1/chat/completionsQwen/Qwen2-VL-72B-Instruct - Ailoot Ultra · Anthropic хабарламалары
POST /v1/messagesQwen/Qwen2-VL-72B-Instruct
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
Qwen2-VL-72B-Instruct — Qwen2 негізінде жасалған, нұсқауларға бейімделген 72B визуалды-тілдік нұсқа. Ол мәтінді суреттермен немесе видеомен бірге қабылдап, мәтіндік жауап жасайды. Әзірлеуші әртүрлі ажыратымдылық пен жақтар арақатынасы бар суреттерді түсінуді, сурет ішіндегі мәтінді түсіндіруді, көрінетін байланыстар туралы пайымдауды және 20 минуттан ұзақ видео туралы сұрақтарға жауап беруді атап көрсетеді.
Сурет пен видео мүмкіндіктері
Құжат беті үшін қажетті нақты мазмұнды сұраңыз: абзац, кесте жолы, формула немесе тұжырымға қатысты шарттар. Бетті оқуға ыңғайлы сақтап, нәтиже сөздерді көшіріп жазуы, мазмұндауы немесе мағынасын түсіндіруі керек пе, соны атаңыз. Пайдалы құжат нәтижесі шығарылып алынған мазмұнның жанында бастапқы бөлім белгісін сақтай алады. Сызба үшін белгіленген элементтердің қалай байланысатынын сұрап, түсіндіруді қажет ететін байланысты көрсетіңіз.
Құжатталған видео қолдануы көрінетін тізбекке негізделген сұрақтарды, диалогты және жазбаша мазмұнды қамтиды. Тексерілетін оқиғаны немесе өзгерісті анықтаңыз: нысан қашан пайда болады, белгілі бір қадамнан бұрын не болады немесе көрсетілген әрекет жазбаша үдеріске қалай қатысты. Реттелген оқиға сипаттамасын немесе көрінетін қадамдарды берілген үдеріспен салыстыруды сұраңыз. Әзірлеушінің 20 минуттан ұзақ видео туралы тұжырымы ұзақ видеоны түсінуді сипаттайды; бұл видеоның тұрақты ең үлкен ұзақтығы немесе әрбір өңделмеген клип өзгермеген кіріс конфигурациясына сыйатынының кепілі емес.
Визуалды агент ретінде пайдалану
Шығарылым Qwen2-VL моделін мобильді құрылғыларға, роботтарға және басқа құралдарға қосылған визуалды агенттер үшін де ұсынады. Хабарламада сызбадан код жасау немесе визуалды сұрақ арқылы сыртқы іздеуді сұрау сияқты функция шақыру мен код интерпретаторы сценарийлері сипатталған. Модельді пайдаланатын қолданба сол құралдарды береді, ұсынылған әрекетті орындайды және нәтижені қайтарады. Модельдің тек мәтіндік жауабы басқару элементін баспайды, құрылғыны қозғалтпайды және жасалған бағдарламаны орындамайды.
Практикалық интерфейс тапсырмасы скриншот пен пайдаланушы мақсатын беріп, келесі қадамға қатысты көрінетін басқару элементін және сол таңдауды растайтын дәлелді сұрай алады. Бақылауды, ұсынылған әрекетті және нақты орындалуды үдерістің бөлек бөліктері ретінде ұстаңыз. Бұл визуалды агент бағытын пайдаланып, сұралған нәтижені қолданба әрекет ете алатындай нақты етеді.
Суреттердегі көптілді мәтін
Әзірлеуші суреттердегі мәтінді ағылшын және қытай тілдерінде, Еуропаның көпшілік тілдерінде, сондай-ақ жапон, корей, араб және вьетнам сияқты тілдерде тануды сипаттайды. Сондықтан көптілді бетті визуалды оқу тапсырмасы ретінде қарастыруға болады. Дәл сөздер маңызды болса, алдымен бастапқы мәтін көшірмесін, содан кейін таңдалған тілдегі аударманы немесе түсіндірмені сұраңыз. Тануды анықталмаған қайта жазумен араластырмай, белгілер мен сандарды сақтаңыз.
Динамикалық ажыратымдылық және позициялық ақпарат
Qwen2-VL көру кодтағышын Qwen2 тілдік моделімен біріктіреді. Naive Dynamic Resolution әртүрлі сурет өлшемдерін визуалды токендердің әртүрлі санына айналдырады. Multimodal Rotary Position Embedding позициялық ақпаратты бөліп, модельге мәтін ретін, екі өлшемді суреттерді және видеоның уақыттық әрі кеңістіктік құрылымын көрсетуге мүмкіндік береді. Осы мүмкіндіктер бір топтың бетті, бірнеше суретті немесе видео тізбегін қалай өңдейтінін түсіндіреді.
Модель карточкасындағы сурет өңдегіші әр суретке әдепкі 4-тен 16 384 визуалды токенге дейінгі диапазонды құжаттайды. Қолданба жақтар арақатынасын сақтай отырып, ең аз және ең көп пиксельдерді өзгерте алады немесе 28-дің еселігіне дөңгелектенетін өлшемдерді сұрай алады. Мысалдағы 256-дан 1 280 токенге дейінгі диапазон — суреттің бөлек әмбебап шегі емес, конфигурацияланатын үлгі. Суреттің көбірек бөлшегі көбірек есептеу мен визуалды токенді қажет етеді, сондықтан сурет дайындағанда сұраққа қажет белгілерді, тақырыптарды және ұсақ нысандарды сақтаңыз.
Кірісті дайындау және контекст
Әзірлеуші бір суретті, бірнеше суретті, кадрлар тізбегі немесе жергілікті файл түрінде берілген видеоны және топталған әңгімелерді көрсетеді. Суретті дайындау жергілікті файлдарды, кодталған сурет деректерін және сурет сілтемелерін қамтиды. Карточкадағы видео мысалы таңдалған кадр жиілігін пайдаланады; бұл мысал әр видеоға міндетті бір іріктеу жиілігін бекітпейді. Бірнеше суреттің ретін және рөлін көрсетіп, қатысы жоқ кадрларды бір көрініс ретінде қарастырудың орнына тізбекті түсіндіруге қажет ақпаратты беріңіз.
Шығарылған конфигурация ең үлкен позиция санын 32 768 деп орнатады. Визуалды материал мен мәтіндік нұсқаулар нақты конфигурацияланған контекст ішінде жоспарлануы тиіс. Карточкадағы 128 токен генерация мысалы — тек мысал баптауы; ол бөлек ең үлкен шығыс көлемін жарияламайды. 72B нұсқасы Qwen2.5-VL немесе басқа Qwen моделінің ұзақ контекст баптауларын қабылдаудың орнына өз конфигурациясын сақтауы тиіс.
Елеулі шектеулер
Әзірлеуші Qwen2-VL видеолардағы аудионы түсінбейтінін анық айтады. Сондықтан сұрақ сөйлеу мазмұнына тәуелді болса, ол ақпарат бөлек берілуі тиіс. Суреттер бойынша оқыту деректері 2023 жылғы маусымға дейін жаңартылған деп сипатталған; бұл қазіргі визуалды білімнің уәдесі емес, сол деректер жиынтығына қатысты тұжырым.
Құжатталған шектеулер нақты адамдарды немесе атаулы зияткерлік меншік нысандарын толық танымауды, күрделі көпқадамды нұсқаулардағы қиындықты, күрделі көріністердегі әлсіз санауды және үш өлшемді кеңістіктік пайымдау шектеулерін де қамтиды. Тапсырма осы қабілеттердің біріне тәуелді болса, сұрақты қажетті нысандарға немесе байланысқа бағыттап, визуалды дәлелдерді жауаптың жанында сақтаңыз. Анық бастапқы материал мен белгіленген нәтиже сол шектеулерді дәлдік кепілімен алмастырмай, нәтижені тексеруді жеңілдетеді.
Практикалық тапсырма
Практикалық тапсырма
Ағылшын тіліндегі техникалық мысал
Read a supplied document transcription
Use this text transcription of page P2, section Limits: 'Store below 25 C. Once opened, use within seven days. Do not freeze.' Return the original wording first, then a plain-English explanation separating the temperature, time and freezing conditions. Preserve P2 as the source label. No image or video is attached.Күтілетін нәтиже
A labelled transcription followed by three source-grounded explanations of the conditions.Нәтижені тексеру
Below 25 C is not rewritten as at or below 25 C, and the seven-day period starts at opening.Ailoot Ultra · OpenAI чаты POST /v1/chat/completions Qwen/Qwen2-VL-72B-Instruct
Qwen/Qwen2-VL-72B-InstructБастау
Qwen2-VL-72B-Instruct визуалды сұрақтар, құжат оқу және суреттердегі көптілді мәтін үшін мәтінді, суреттерді және видеоны біріктіреді. Әзірлеуші 20 минуттан ұзақ видеоны түсінуді, суреттің динамикалық ажыратымдылығын және визуалды агент интеграцияларын сипаттайды; жауап — мәтін.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Мәтін
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · OpenAI чаты POST /v1/chat/completions
- Кіріс
text- Шығыс
text- Шығыс пішімі
- json немесе SSE
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Qwen/Qwen2-VL-72B-Instruct | Әдепкі— |
Өрісmessages | Түріmessage[] | ТалапМіндетті | Мәндер мен шектеулер Элементтердің ең аз саны: 1 | Әдепкі— |
Өрісmessages[].role | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Мысалдар: system, user, assistant, tool, function Шарттар: Бұл рөлдер бастапқы кодтағы үйлесімділік түрлерінде айқын көрсетілген; рөлдердің нақты жиыны әр модельге байланысты. Модельге байланысты | Әдепкі— |
Өрісmessages[].content | Түріstring|content_part[]|null | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].tool_calls | Түріtool_call[] | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].tool_call_id | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: role=tool; нақты қайтарылған ID мәнін пайдаланыңыз | Әдепкі— |
Өрісmessages[].name | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].reasoning_content | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Мына жағдайда қолданылады: Модель пайымдауды пайдаланса, нақты қайтарылған пайымдауды қайта жіберіңіз | Әдепкі— |
Өрісmessages[].reasoning_details | Түріobject|array | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісmax_tokens | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
Өрісmax_completion_tokens | Түріinteger | ТалапМіндетті емес | Мәндер мен шектеулер Ең азы: 1 Модельге байланысты | Әдепкі— |
Өрісstream | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
Өрісstream_options.include_usage | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtemperature | Түріnumber | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtop_p | Түріnumber | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісstop | Түріstring|string[] | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtools | Түріfunction_tool[] | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісtools[].type | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер function Модельге байланысты | Әдепкі— |
Өрісtools[].function.name | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Мына жағдайда қолданылады: функция құралы берілген | Әдепкі— |
Өрісtools[].function.description | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісtools[].function.parameters | ТүріJSON_schema | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкі— |
Өрісtool_choice | Түріstring|object | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісparallel_tool_calls | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісresponse_format | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісreasoning_effort | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісreasoning | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісservice_tier | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісinstructions | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Үйлесімділік өрісі | Әдепкі— |
Өрісfunctions | Түріfunction[] | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісfunction_call | Түріstring|object | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісprompt_cache_options | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Модельге байланысты | Әдепкі— |
Өрісmodalities | Түріstring[] | ТалапМіндетті емес | Мәндер мен шектеулер text | Әдепкі— |
Өрісprovider | Түріobject | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Осы Ultra мәтіндік бағытында provider.options қабылданбайды | Әдепкі— |
Өрісcache_control.ttl | Түріstring | ТалапМіндетті емес | Мәндер мен шектеулер Шарттар: Сұрау кэшінің нақты орындарында 1h қабылданбайды | Әдепкі— |
Кіріс материалдарының үйлесімдері
Мәтін · UTF8 мәтіні
messages[].content
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, messages |
Параметрmaterial_types | Параметр талаптарыtext |
Параметрmessages | Параметр талаптарыrole/content құрылымы бар хабарламалар жиымы |
Параметрfile_material | Параметр талаптарынақты UTF-8 құжаты сөзбе-сөз мәтін ретінде енгізіледі; файл ID-і болжанбайды |
Параметрoptional_controls | Параметр талаптарыstream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Параметрcontrol_scope | Параметр талаптарымодельге байланысты; пайдаланушының функция құралдары қызмет жағында орындалатын құралдардан өзгеше |
Параметрoutput_modalities | Параметр талаптарыtext |
Параметрhosted_operations | Параметр талаптарыfalse |
Параметрmultimodal_input_binding | Параметр талаптарыnull |
Өмірлік цикл: synchronous_or_streamed
Модельдің дәл ID мәнін messages деректерімен бірге жіберіңіз.
Контекст ұзындығы шығыстың жоғарғы шегі емес.
Мәтіндік файл сөзбе-сөз мәтінді бере алады; кіріс суреттері, аудио және файл нысандары дәл байланыстыруды қажет етеді.
Тарифтер
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
Ailoot мөлшерлемелері
Баптаулар бойынша бағалар
| Баптау | Мөлшерлемелер кестесі | Төлем |
|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Төлем Кіріс · Кіріс токендері $0.00118 / 1K токен Шығыс · Шығыс токендері $0.00118 / 1K токен Кіріс · Кэшті оқу $0 / 1K токен Кіріс · Кэшке жазу $0 / 1K токен Кіріс · Кэшке жазу, 1 сағ — / 1K токен |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot Ultra · OpenAI чаты
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "Qwen/Qwen2-VL-72B-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='Qwen/Qwen2-VL-72B-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='Qwen/Qwen2-VL-72B-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")
Нәтижелерді алу және сақтау
Ailoot Ultra · OpenAI чаты
json немесе SSE
Барлық дайын нәтижені сақтау
Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.
Әр жауап нұсқасын оның мазмұнымен, құрал шақыруларымен және пайымдауымен бірге сақтаңыз. SSE өзгерістерін жауап нұсқасы мен құрал индексі бойынша жинап, соңғы аяқталу себебі мен пайдалану деректерін сақтаңыз.
Бастапқы жауапты тексеру қажет болса
Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісchoices[].index | Түріinteger |
Өрісchoices[].message.content | Түріstring|null |
Өрісchoices[].message.tool_calls | Түріtool_call[] |
Өрісchoices[].message.reasoning_content | Түріstring |
Өрісchoices[].message.reasoning_details | Түріobject|array |
Өрісchoices[].finish_reason | Түріstring|null |
Өрісusage | Түріobject |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot Ultra Qwen/Qwen2-VL-72B-Instruct
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
Ailoot Ultra · Anthropic хабарламалары POST /v1/messages Qwen/Qwen2-VL-72B-Instruct
Qwen/Qwen2-VL-72B-InstructБастау
Qwen2-VL-72B-Instruct визуалды сұрақтар, құжат оқу және суреттердегі көптілді мәтін үшін мәтінді, суреттерді және видеоны біріктіреді. Әзірлеуші 20 минуттан ұзақ видеоны түсінуді, суреттің динамикалық ажыратымдылығын және визуалды агент интеграцияларын сипаттайды; жауап — мәтін.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- json · sse
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · Anthropic хабарламалары POST /v1/messages
- Кіріс
text- Шығыс
json,sse- Шығыс пішімі
- JSON немесе SSE
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер Qwen/Qwen2-VL-72B-Instruct | Әдепкі— |
Өрісmessages | Түріmessage[] | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
Өрісmessages[].role | Түріstring | ТалапМіндетті | Мәндер мен шектеулер user, assistant | Әдепкі— |
Өрісmessages[].content | Түріstring | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
Өрісmax_tokens | Түріinteger | ТалапМіндетті | Мәндер мен шектеулер | Әдепкі— |
Өрісstream | Түріboolean | ТалапМіндетті емес | Мәндер мен шектеулер | Әдепкіfalse |
Кіріс материалдарының үйлесімдері
Мәтін · UTF-8 мәтіні
messages[].content жолы
Әдіс параметрлері мен өмірлік циклі
| Параметр | Параметр талаптары |
|---|---|
Параметрcontent_type | Параметр талаптарыapplication/json |
Параметрrequired | Параметр талаптарыmodel, messages, max_tokens |
Параметрoptional_controls | Параметр талаптарыstream |
Параметрmaterial_types | Параметр талаптарыtext |
Параметрtext_file_material | Параметр талаптарыНақты UTF-8 құжатын оқып, оның мәтінін көрсетілген кіріс жолына немесе хабарлама мазмұнының жолына қойыңыз. |
Өмірлік цикл: synchronous_or_streamed
Тарифтер
Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.
- Жылдам режим
- Көрсетілмеген Жылдам режим таңдалғанда
- Икемді режим
- Көрсетілмеген flex режимі таңдалғанда
- Ой қорытудың ең жоғары деңгейі
- Көрсетілмеген Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда
Ailoot мөлшерлемелері
Баптаулар бойынша бағалар
| Баптау | Мөлшерлемелер кестесі | Төлем |
|---|---|---|
| БаптауТокендердің базалық тарифтері | Мөлшерлемелер кестесіНегізгі мөлшерлеме | Төлем Кіріс · Кіріс токендері $0.00118 / 1K токен Шығыс · Шығыс токендері $0.00118 / 1K токен Кіріс · Кэшті оқу $0 / 1K токен Кіріс · Кэшке жазу $0 / 1K токен Кіріс · Кэшке жазу, 1 сағ — / 1K токен |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot Ultra · Anthropic хабарламалары
{
"model": "Qwen/Qwen2-VL-72B-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': 'Qwen/Qwen2-VL-72B-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': 'Qwen/Qwen2-VL-72B-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))
Нәтижелерді алу және сақтау
Ailoot Ultra · Anthropic хабарламалары
JSON немесе SSE
Барлық дайын нәтижені сақтау
Қайтарылған әр толық жауапты, файлды және мазмұн бөлігін сақтаңыз.
Барлық мазмұн блоктарын, пайымдау қолтаңбаларын және құрал қолданудың нақты ID мәндерін сақтаңыз. SSE блоктарының барлық өзгерістерін жинаңыз; алғашқы мәтіндік блок толық шығыс емес.
Бастапқы жауапты тексеру қажет болса
Сұрау мен жауаптың ID мәндерін және тақырыптарын сақтаңыз. Мәтіндік тапсырманы алуға арналған ортақ URL берілмеген.
Жауап өрістері
| Өріс | Түрі |
|---|---|
Өрісid | Түріstring |
Өрісmodel | Түріstring |
Өрісcontent[] | Түріtext|thinking|tool_use|other content block |
Өрісstop_reason | Түріstring|null |
Өрісusage | Түріobject |
Қателер және келесі қадамдар
| Жауап | Шарт | Келесі қадам |
|---|---|---|
Жауап400 · invalid_request_error | ШартМіндетті өрістер, материалды ұсыну тәсілі немесе параметр мәні қате | Келесі қадамЖаңадан жасау сұрауын жібермес бұрын көрсетілген өрістерді түзетіңіз. |
Балама атаулар
Модельдердің балама атаулары
Ailoot Ultra Qwen/Qwen2-VL-72B-Instruct
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · Qwen/Qwen2-VL-72B-Instruct
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/chat/completions·Qwen/Qwen2-VL-72B-Instruct:text→textPOST /v1/messages·Qwen/Qwen2-VL-72B-Instruct:text→json,sse- Сұрау қандай өрістерді пайдаланады?
POST /v1/chat/completions·Qwen/Qwen2-VL-72B-Instruct:model,messages,stream,modalities,providerPOST /v1/messages·Qwen/Qwen2-VL-72B-Instruct:model,messages,max_tokens,stream- Қандай шектеулер қолданылады?
POST /v1/chat/completions·Qwen/Qwen2-VL-72B-Instruct:messages.min_items:1