Perceptron: Perceptron Mk1.5
Perceptron Mk1.5 vizual va jismoniy muhitdagi vazifalar uchun matn, tasvir, video va audioni tushunadi. U matn, makon yoki vaqtga oid annotatsiyalar, obyekt harakat yo‘llari va taklif etilgan funksiya chaqiruvlarini qaytaradi; ishlab chiquvchi konteksti 36,864 token, maksimal chiqish esa 8,192 token.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsperceptron/perceptron-mk1.5 - Ailoot Ultra · Anthropic Messages
POST /v1/messagesperceptron/perceptron-mk1.5
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
Perceptron Mk1.5 — Perceptron kompaniyasining vizual tushunish, voqealarni vaqtga bog‘lash va jismoniy muhitda ishlovchi agentlar vazifalari uchun multimodal modeli. U matn, tasvir, video va audioni qabul qilib, matn, makon yoki vaqtga oid annotatsiyalar, tuzilmali javoblar va funksiya chaqiruvlari mazmunini qaytaradi. Ishlab chiquvchining joriy spetsifikatsiyasida 36,864 tokenli kontekst va 8,192 tokenli maksimal chiqish ko‘rsatilgan; bu aniq limitlar taqdimot maqolasidagi yaxlitlangan 32K tavsifidan aniqroq.
Video va obyektlarni kuzatish
Muhim yangilik — videodagi obyektlarni vaqt belgisi qo‘yilgan geometrik ma’lumotlar orqali kuzatish. Nishonni aniq tasvirlang va natija nimani aniqlashi kerakligini ko‘rsating: masalan, buyum sahnaga qachon kirishi, qayerga harakatlanishi yoki muayyan amal qaysi oraliqda yuz berishi. Birinchi shaxs nuqtayi nazaridan olingan videolar uchun ishlab chiquvchi qo‘llarni kuzatish va jarayonni kichik vazifalarga ajratishga urg‘u beradi; bu operator vaqt davomida nima qilayotganini tahlil qilishda foydali.
Hujjatlashtirilgan chiqishlar makonga bog‘lash uchun nuqtalar, chegaralovchi to‘rtburchaklar va ko‘pburchaklarni, vaqt oraliqlari uchun kliplarni hamda obyekt harakati uchun track konteynerlarini o‘z ichiga oladi. Track yaratilgan annotatsiya belgilashidagi konteyner bo‘lib, alohida annotatsiya formati qiymati emas. Track yo‘l nuqtalari siyrak bo‘lishi mumkin: qaytarilgan track har bir asl kadr uchun chegaralovchi to‘rtburchak bo‘lishini yoki obyekt uzluksiz ko‘rinishini kafolatlamaydi. Natijalarni haqiqiy sahna bilan tekshirish uchun asl mediani hamda koordinata yoki vaqt belgisi bilan bog‘liqlikni saqlang.
Audio va birlashtirilgan dalillar
Mk1.5 audioni bevosita tushunishni, jumladan transkripsiya, tovush hodisalarini aniqlash, xulosalar va yozuv bo‘yicha savollarga javob berishni qo‘shadi. Ishlab chiquvchi WAV, MP3 va FLAC formatlarini qabul qiladi. Har bir audio elementi limiti 16,384 audio token bo‘lib, hujjatlashtirilgan daqiqasiga taxminan 750 token tezlikda qariyb 21.8 daqiqaga teng. Audio kontekstni boshqa kirishlar va chiqish budjeti bilan bo‘lishadi, shu sababli so‘rov ushbu element limitiga yetmasdan kontekstni to‘ldirishi mumkin.
Ovoz yo‘li muhim bo‘lgan videoda ishlab chiquvchining ish jarayoni videodagi audioni aniq yoqishni ko‘zda tutadi. Vazifa nutq, tovush hodisasi, ko‘rinayotgan sahna yoki ular orasidagi bog‘liqlikka tegishli ekanini ko‘rsating. Chiqish matn va tuzilmali mazmundir; Mk1.5 ovozli nutq yaratmaydi. Transkripsiyada vizual subtitrni transkript deb qabul qilish o‘rniga so‘ralgan til va vaqtga bog‘liqlikni saqlang.
Bir nechta media elementi va tuzilmali javoblar
Ishlab chiquvchi turli media kirishlarini taqqoslashni qo‘llaydi. Elementlarni belgilang va media bilan bog‘liqliklarini saqlang. Ixtiyoriy asset_idx doimiy fayl identifikatorini emas, suhbatning shu nuqtasida mavjud bo‘lgan muayyan media kiritilishini bildiradi. Agar aniq yoki meros qilib olingan tanlagich bo‘lmasa, annotatsiya yaratilish vaqtida mavjud eng so‘nggi media elementiga tegishli bo‘ladi. Ikki kamera, sahifa yoki yozuv taqqoslanadigan vazifada bu qoidalar muhim. Ishlab chiquvchining so‘rov limiti 256 media birligi. video_frames guruhidagi har bir kadr shu limitga kiradi, garchi guruh bitta media indeksini egallasa ham; videoning ovoz yo‘lini yoqish yana bir media elementi qo‘shmaydi.
Ishlab chiquvchi JSON Schema yoki regex bilan cheklangan yakuniy javoblarni qo‘llaydi. Maydonlar yoki andozani belgilang va qaytarilgan qiymatlarni manba bilan tekshiring. U umumiy kontekst ustida mustaqil ko‘rsatmalarni bajarish uchun Multilook jarayonini ham hujjatlashtiradi; bu oddiy bitta javobli chatdan alohida ishlab chiquvchi jarayonidir.
Funksiyalar va mulohaza yuritish
Mk1.5 nomlari, maqsadlari va JSON Schemas bilan tavsiflangan, taqdim etilgan funksiyalarni tanlashi mumkin. Ilova taklif etilgan chaqiruvlarni bajaradi va kuzatuvlarni qaytaradi. Jismoniy muhit yoki interfeysdagi vazifa uchun ruxsat etilgan amallarni va tugallanish mezonini belgilang, so‘ng yangi vizual holat yoki vosita natijasini keyingi qadam uchun dalil sifatida ishlating. Ishlab chiquvchi profilida mulohaza yuritish darajasini sozlash mumkin.
Funksiya vositalarini JSON Schema yoki regex bilan cheklangan chiqish bilan bir so‘rovda e’lon qilib bo‘lmaydi; ishlab chiquvchi vositalar siklidan keyin cheklangan yakuniy javobni so‘rashni buyuradi. Natijani ishlatishdan oldin tugash sababini tekshiring, chunki uzunlik limiti tufayli to‘xtash chiqishning to‘liq emasligini anglatishi mumkin.
Foydali natija — dalilga bog‘langan sahna izohi, vaqt belgilari bor transkript, obyekt annotatsiyasi yoki dalillarga tayangan amal taklifidir. Geometriyani media bilan tekshiring, kuzatilgan tafsilotlarni talqindan ajrating va Mk1.5 modelining aniq audio, kuzatish hamda vosita imkoniyatlarini oldingi Mk1 nashridan alohida saqlang.
Amaliy vazifa
Amaliy vazifa
Ingliz tilidagi texnik misol
Summarize a timed handling sequence
Use these written frame notes, not unseen footage: 00:02 operator picks up a red box; 00:05 places it on scale; 00:08 removes it; 00:11 places it on shelf. Return the ordered subtasks and the observed interval when the box is on the scale. State the sampling limitation instead of claiming exact continuous motion between notes.Kutiladigan natija
An ordered subtask list and a scale interval explicitly bounded by the supplied observations.Natijani tekshirish
Timestamps stay attached to their notes, and the answer does not invent intermediate geometry or continuous visibility.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions perceptron/perceptron-mk1.5
perceptron/perceptron-mk1.5Boshlash
Perceptron Mk1.5 vizual va jismoniy muhitdagi vazifalar uchun matn, tasvir, video va audioni tushunadi. U matn, makon yoki vaqtga oid annotatsiyalar, obyekt harakat yo‘llari va taklif etilgan funksiya chaqiruvlarini qaytaradi; ishlab chiquvchi konteksti 36,864 token, maksimal chiqish esa 8,192 token.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Kirish
text- Chiqish
text- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar perceptron/perceptron-mk1.5 | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Namunalar: system, user, assistant, tool, function Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi. Modelga bogʻliq | Standart— |
Maydonmessages[].content | Turstring|content_part[]|null | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_calls | Turtool_call[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning | Standart— |
Maydonmessages[].name | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].reasoning_content | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring | Standart— |
Maydonmessages[].reasoning_details | Turobject|array | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmax_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonmax_completion_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydonstream_options.include_usage | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstop | Turstring|string[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turfunction_tool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar function Modelga bogʻliq | Standart— |
Maydontools[].function.name | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan | Standart— |
Maydontools[].function.description | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontools[].function.parameters | TurJSON_schema | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonresponse_format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning_effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Moslik maydoni | Standart— |
Maydonfunctions | Turfunction[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonfunction_call | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmodalities | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar text | Standart— |
Maydonprovider | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi | Standart— |
Maydoncache_control.ttl | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages |
Parametrmaterial_types | Parametr talablaritext |
Parametrmessages | Parametr talablarirole/content tuzilishidagi xabarlar massivi |
Parametrfile_material | Parametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi |
Parametroptional_controls | Parametr talablaristream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrcontrol_scope | Parametr talablariModelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi |
Parametroutput_modalities | Parametr talablaritext |
Parametrhosted_operations | Parametr talablarifalse |
Parametrmultimodal_input_binding | Parametr talablarinull |
Hayot sikli: synchronous_or_streamed
Aniq model IDsini messages bilan yuboring.
Kontekst uzunligi chiqishning yuqori chegarasi emas.
Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · minimal
- Standart tarif Fikrlash darajasi minimal bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0003 / 1K token Chiqish · Chiqish tokenlari $0.003 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0003 / 1K token Chiqish · Chiqish tokenlari $0.003 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
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": "perceptron/perceptron-mk1.5", "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='perceptron/perceptron-mk1.5',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='perceptron/perceptron-mk1.5',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")
Natijalarni olish va saqlash
Ailoot Ultra · OpenAI Chat
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonchoices[].index | Turinteger |
Maydonchoices[].message.content | Turstring|null |
Maydonchoices[].message.tool_calls | Turtool_call[] |
Maydonchoices[].message.reasoning_content | Turstring |
Maydonchoices[].message.reasoning_details | Turobject|array |
Maydonchoices[].finish_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot Ultra perceptron/perceptron-mk1.5
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
Ailoot Ultra · Anthropic Messages POST /v1/messages perceptron/perceptron-mk1.5
perceptron/perceptron-mk1.5Boshlash
Perceptron Mk1.5 vizual va jismoniy muhitdagi vazifalar uchun matn, tasvir, video va audioni tushunadi. U matn, makon yoki vaqtga oid annotatsiyalar, obyekt harakat yo‘llari va taklif etilgan funksiya chaqiruvlarini qaytaradi; ishlab chiquvchi konteksti 36,864 token, maksimal chiqish esa 8,192 token.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- json · sse
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Kirish
text- Chiqish
json,sse- Chiqish formati
- JSON yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar perceptron/perceptron-mk1.5 | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar user, assistant | Standart— |
Maydonmessages[].content | Turstring | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonmax_tokens | Turinteger | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Kirish materiallari birikmalari
Matn · UTF-8 matni
messages[].content satri
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages, max_tokens |
Parametroptional_controls | Parametr talablaristream |
Parametrmaterial_types | Parametr talablaritext |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |
Hayot sikli: synchronous_or_streamed
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · past
- Standart tarif Fikrlash darajasi past bo‘lganda
- Fikrlash darajasi · o‘rtacha
- Standart tarif Fikrlash darajasi o‘rtacha bo‘lganda
- Fikrlash darajasi · minimal
- Standart tarif Fikrlash darajasi minimal bo‘lganda
- Fikrlash darajasi · yo‘q
- Standart tarif Fikrlash darajasi yo‘q bo‘lganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0003 / 1K token Chiqish · Chiqish tokenlari $0.003 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.0003 / 1K token Chiqish · Chiqish tokenlari $0.003 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Anthropic Messages
{
"model": "perceptron/perceptron-mk1.5",
"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': 'perceptron/perceptron-mk1.5', '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': 'perceptron/perceptron-mk1.5', '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))
Natijalarni olish va saqlash
Ailoot Ultra · Anthropic Messages
JSON yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydoncontent[] | Turtext|thinking|tool_use|other content block |
Maydonstop_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot Ultra perceptron/perceptron-mk1.5
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · Perceptron: Perceptron Mk1.5
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/chat/completions·perceptron/perceptron-mk1.5:text→textPOST /v1/messages·perceptron/perceptron-mk1.5:text→json,sse- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/chat/completions·perceptron/perceptron-mk1.5:model,messages,stream,modalities,providerPOST /v1/messages·perceptron/perceptron-mk1.5:model,messages,max_tokens,stream- Qanday cheklovlar amal qiladi?
POST /v1/chat/completions·perceptron/perceptron-mk1.5:messages.min_items:1