Qwen2.5 VL 7B Instruct
Qwen2.5-VL-7B-Instruct — суреттерге, құжаттарға және бейнеге арналған көру-тіл моделі. Мәтін мен құрылымды нәтижелерді, соның ішінде нысандардың шектеуші жақтауларын, нүктелерін және атрибуттарын жасайды; 7B басылымына оқиғаның уақыттағы орнын анықтау мен визуалды агент мүмкіндіктерін әкеледі.
- Ailoot Ultra · OpenAI чаты
POST /v1/chat/completionsqwen2.5-vl-7b-instruct - Ailoot Ultra · Anthropic хабарламалары
POST /v1/messagesqwen2.5-vl-7b-instruct
Модель туралы
Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.
Qwen2.5-VL-7B-Instruct — Qwen2.5-VL моделінің нұсқауларға бейімделген 7B басылымы. Мәтіндік нұсқауды суреттермен не бейнемен байланыстырып, мәтіндік нәтиже қайтарады. Өндірушінің негізгі жетілдірулері нысандар мен визуалды бөлшектерді тануды, мәтін мен орналасуды талдауды, визуалды агент тапсырмаларын, ұзақ бейнедегі оқиғаларды түсінуді, нысан орнын анықтауды және құжаттан құрылымды дерек шығаруды қамтиды.
Визуалды мазмұнды түсіну
Бұл модельдер тобы фотосуреттің негізгі нысанын анықтаумен шектелмейді. Құжатталған тапсырмаларға мәтінді, диаграммаларды, белгішелерді, графиканы және сурет ішіндегі элементтердің орналасуын талдау кіреді. Диаграмма үшін зерттелетін қатар не байланысты көрсетіп, осьтерді, шартты белгілерін және өлшем бірліктерін сақтаңыз. Сызбада белгіленген құрамдастар қалай байланысатынын және көрінетін орналасудың үдеріс туралы не білдіретінін сұраңыз.
Пайдалы салыстыруда бастапқы және түзетілген дизайнды беріп, қайсысы қайсы екенін көрсетіп, қысқа талаптар тізімі бойынша көрінетін өзгерістерді сұрауға болады. Бақылауды тиісті сурет аймағымен бірге сұраңыз. Бұл екі байланыссыз суретті жалпы сипаттаудың орнына жауапқа нақты мақсат береді.
Визуалды агент үдерістері
Өндіруші Qwen2.5-VL моделін экран туралы пайымдап, компьютер не телефон қолдану тапсырмаларында құралдарға бағыт беретін визуалды агент ретінде ұсынады. Модель түсіндіру мен ұсынылған операцияны береді; оны қоршаған агент қолданбасы басқару тетіктерін ұсынып, операцияны орындап, жаңа күйді қайтарады. Сондықтан мәтіндік жауап не болжанған координат — біріктірілген үдерістің бір бөлігі.
Интерфейс сұрағында скриншот пен нақты мақсатты беріп, қай көрінетін тетік тиісті екенін және келесіде не істеу керегін сұраңыз. Сұралған шығысты нақты ұстаңыз: тетіктің атауы, орны және көзделген әрекет. Қолданба әрекетті орындаса, келесі скриншот кейінгі шешімге жаңарған визуалды кіріс береді.
Ұзақ бейнелер және оқиға орнын анықтау
Өндіруші бір сағаттан ұзақ бейнелерді түсінуді және сұралған оқиға бар бөлікті табуды сипаттайды. Бұл бейнені сипаттауды уақыттық орнын анықтауға кеңейтеді. Тапсырма нысан алғаш қашан пайда болатынын, көрсетілім қай жерде белгілі қадамға жететінін немесе қай көрінетін оқиға екіншісінен бұрын болатынын сұрай алады. Нәтиже түйіндеме, реттелген оқиғалар тізімі немесе сипаттамасы бар басталу және аяқталу уақыттары болуға тиіс пе, көрсетіңіз.
Бұл модельдер тобы кадр жиілігін динамикалық іріктеумен үйретіліп, уақыттық позиция ақпаратын абсолют уақытпен сәйкестендіреді. Сондықтан кадр жиілігі туралы ақпарат — уақыт белгілері маңызды кезде алып тастауға болатын кездейсоқ белгі емес, бейне дайындаудың бөлігі. Құжатталған ұзақ бейне қабілеті әр кіріс жолына ортақ әмбебап файл өлшемі не ең үлкен ұзақтық спецификациясы емес.
Нысан орнын анықтау және құрылымды құжаттар
Qwen2.5-VL шектеуші жақтауларды не нүктелерді қайтарып, координаттар мен атрибуттарды JSON түрінде реттей алады. Шығарылым дәстүрлі нормаланған координаттардың орнына суреттің нақты өлшем шкаласындағы координаттарды қолданады. Тапсырмаға қоршаушы жақтау, белгілі нүкте не нысан сипаттамасы қажет пе, көрсетіп, қайтарылған орынды түсіндіруге қажет сурет өлшемі мен кез келген қайта өлшемдеу ақпаратын сақтаңыз.
Мысалы, визуалды түгендеу сұрауы әр мақсатты нысанды, оның шектеуші жақтауын және көрінетін атрибутын сұрай алады. Нүктелік тапсырма белгіленген тетіктің не нысанның белгілі бөлігінің орнын сұрай алады. Бұлар — әр сұрау міндетті қолданатын бекітілген өріс атаулары емес, ұсынылған шығыс жобалары. Бірнеше сурет берілсе, әр координатты бастапқы суретімен байланыстырып сақтаңыз.
Өндіруші шот скандарынан, пішіндерден және кестелерден құрылымды дерек шығаруды бөлек атап көрсетеді. Өрістерді анықтап, бастапқы белгілерді сақтаңыз және мән оқылмағанда оны ашық көрсетуді сұраңыз. Кестеде сұралған жолдармен бірге баған тақырыптары мен бірліктерін сақтаңыз. Іс жүзіндегі жазба құжат идентификаторын, өріс белгісін, алынған мәнді және орнын қамтып, шығысты кейінгі салыстыруға не адам тексеруіне жарамды ете алады.
Құрылым және кірісті дайындау
Модель динамикалық сурет ажыратымдылығы мен динамикалық бейне іріктеуін жаңартылған мультимодальды айналмалы позиция ақпаратымен біріктіреді. Көру кодтаушысы терезелік назарды, SwiGLU және RMSNorm қолданады. Бұл — визуалды және уақыттық өңдеуді қолдайтын құрылым өзгерістері; олар құжатталған мәтіндік нәтиже үдерісіне аудио кірісті не сурет жасауды қоспайды.
Карточка бір суретті, бірнеше суретті, бейне кадрлар тізбегін, бейне файлды не сілтемені және топталған диалогтарды көрсетеді. Сурет процессоры әр суретке әдепкі 4-тен 16,384-ке дейін визуалды токен аралығын құжаттайды. Ең аз және ең көп пиксель баптаулары жақтар қатынасын сақтайды; сұралған нақты өлшемдер 28-ге еселікке дөңгелектенеді. 256-дан 1,280-ге дейін визуалды токен мысалы — бөлек қатаң сурет шегі емес, реттелетін көрнекілік. Өлшемді таңдағанда сұраққа қажетті бөлшектерді сақтаңыз.
Контекст және орынды анықтауға сезімтал баптаулар
Шығарылған конфигурация ең көп позицияны 128,000 деп орнатады. Модель карточкасының ұзақ мәтін бөлімі 32,768 токендік негізді және YaRN кеңейту мысалын бөлек сипаттайды. Онда бұл кеңейту уақыттық және кеңістіктік орынды анықтауға елеулі әсер ететіні ашық ескертіліп, ұсынылмайды. Нұсқаулық ұзақ бейнелер үшін ең көп позицияны өзгертуді де талқылайды; бұлар әр тапсырмаға бір шартсыз кіріс шегі емес, баптау ескертпелері.
Нақты шығарылым баптауы мен визуалды алдын ала өңдеуді тапсырмаға сәйкестендіріңіз, әсіресе координаттар не оқиға уақыттары маңызды болса. Карточканың 128 токендік жасау мысалы бөлек ең үлкен шығыс сыйымдылығын белгілемейді. Qwen2.5-VL-7B-Instruct мәтін, координаттар және құрылымды нәтижелер жасайды; сыртқы әрекет, бейнеленген сурет, бейне не ауызша жауап үшін басқа қолданба құрамдасы қажет.
Практикалық тапсырма
Практикалық тапсырма
Ағылшын тіліндегі техникалық мысал
Extract a transcribed invoice table
Extract line items from this invoice transcription: "Invoice N-33; item | quantity | unit price; Clip | 4 | 2.50; Folder | 2 | unreadable." Return each item with quantity, unit price and source invoice ID. Mark the unreadable price explicitly and do not infer it from a total. No image is supplied.Күтілетін нәтиже
A two-row field table retaining N-33 and an explicit unreadable value for the folder unit price.Нәтижені тексеру
Verify quantities are not swapped and the unreadable price is neither zero nor a guessed amount.Ailoot Ultra · OpenAI чаты POST /v1/chat/completions qwen2.5-vl-7b-instruct
qwen2.5-vl-7b-instructБастау
Qwen2.5-VL-7B-Instruct — суреттерге, құжаттарға және бейнеге арналған көру-тіл моделі. Мәтін мен құрылымды нәтижелерді, соның ішінде нысандардың шектеуші жақтауларын, нүктелерін және атрибуттарын жасайды; 7B басылымына оқиғаның уақыттағы орнын анықтау мен визуалды агент мүмкіндіктерін әкеледі.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- Мәтін
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · OpenAI чаты POST /v1/chat/completions
- Кіріс
text- Шығыс
text- Шығыс пішімі
- json немесе SSE
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер qwen2.5-vl-7b-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.0001 / 1K токен Шығыс · Шығыс токендері $0.0001 / 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": "qwen2.5-vl-7b-instruct", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='qwen2.5-vl-7b-instruct',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='qwen2.5-vl-7b-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 qwen2.5-vl-7b-instruct
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
Ailoot Ultra · Anthropic хабарламалары POST /v1/messages qwen2.5-vl-7b-instruct
qwen2.5-vl-7b-instructБастау
Qwen2.5-VL-7B-Instruct — суреттерге, құжаттарға және бейнеге арналған көру-тіл моделі. Мәтін мен құрылымды нәтижелерді, соның ішінде нысандардың шектеуші жақтауларын, нүктелерін және атрибуттарын жасайды; 7B басылымына оқиғаның уақыттағы орнын анықтау мен визуалды агент мүмкіндіктерін әкеледі.
- Қабылданатын кіріс деректері
- Мәтін
- Нәтижелер
- json · sse
Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер
Ailoot Ultra · Anthropic хабарламалары POST /v1/messages
- Кіріс
text- Шығыс
json,sse- Шығыс пішімі
- JSON немесе SSE
| Өріс | Түрі | Талап | Мәндер мен шектеулер | Әдепкі |
|---|---|---|---|---|
Өрісmodel | Түріstring | ТалапМіндетті | Мәндер мен шектеулер qwen2.5-vl-7b-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.0001 / 1K токен Шығыс · Шығыс токендері $0.0001 / 1K токен Кіріс · Кэшті оқу $0 / 1K токен Кіріс · Кэшке жазу $0 / 1K токен Кіріс · Кэшке жазу, 1 сағ — / 1K токен |
Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. Резервтеу мен төлемді есептеу тәртібі →
Сұрау мысалдары
Ailoot Ultra · Anthropic хабарламалары
{
"model": "qwen2.5-vl-7b-instruct",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen2.5-vl-7b-instruct', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'qwen2.5-vl-7b-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 qwen2.5-vl-7b-instruct
Әдіс жолдарының балама атаулары
Жоғарыда көрсетілген әдіс жолдарын пайдаланыңыз.
Шақыруға арналған байланысты ID
FAQ · Pro/Qwen/Qwen2.5-VL-7B-Instruct
- Қандай кіріс деректері мен нәтижелер қолжетімді?
POST /v1/chat/completions·qwen2.5-vl-7b-instruct:text→textPOST /v1/messages·qwen2.5-vl-7b-instruct:text→json,sse- Сұрау қандай өрістерді пайдаланады?
POST /v1/chat/completions·qwen2.5-vl-7b-instruct:model,messages,stream,modalities,providerPOST /v1/messages·qwen2.5-vl-7b-instruct:model,messages,max_tokens,stream- Қандай шектеулер қолданылады?
POST /v1/chat/completions·qwen2.5-vl-7b-instruct:messages.min_items:1