Perplexity: Sonar Pro
Perplexity kompaniyasining Sonar Pro modeli tadqiqot savollariga veb-ma’lumotlar va manbalarga tayangan umumlashtirish orqali javob beradi. U kundalik tadqiqot va murakkabroq ma’lumot izlashga mo‘ljallangan; keyingi savollar izlanishni aniqlashtiradi.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsperplexity/sonar-pro - Ailoot Ultra · Anthropic Messages
POST /v1/messagesperplexity/sonar-pro
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
Sonar Pro — Perplexity kompaniyasining dolzarb ma’lumot talab qiladigan tadqiqot savollari va izlash vazifalari uchun ilg‘or Sonar varianti. Ishlab chiqaruvchi uni kundalik tadqiqot va yengil ko‘p bosqichli izlanish uchun mos deb ta’riflaydi. U savol uchun to‘plangan ma’lumotlarga tayangan matnli javob yaratadi va Pro Search rejimi hamda Sonar Deep Research modelidan alohida turadi.
Topshiriqni tadqiqot asos bo‘lishi kerak bo‘lgan qaror atrofida tuzing. Tashkilot, mahsulot yoki mavzuni aniq nomlang, davr, joy va taqqoslash mezonlarini ko‘rsating. Mahsulotni o‘rganishda hujjatlashtirilgan imkoniyat, undan foydalanishga ta’sir qiluvchi shartlar va har bir topilmani tasdiqlovchi dalillarni so‘rang. Natija taqqoslash qaydi, talablarni tekshirish yoki ixcham ma’lumotnoma bo‘lishi mumkin.
Bir nechta manba bir mavzuni ta’riflasa, ularning bayonlarini asossiz yagona xulosaga birlashtirish o‘rniga taqqoslashni so‘rang. Qaysi manba dastlabki spetsifikatsiya yoki e’lon, qaysi biri talqin ekanini va bayonlar bir nashrga taalluqli yoki yo‘qligini aniqlang. Da’volar va ularni tasdiqlovchi dalillar bo‘yicha tuzilgan natijani tekshirish va yangilash umumiy sharhga qaraganda osonroq.
Keyingi savollar izlanishni ochiq qolgan shartga toraytirishi mumkin. Masalan, imkoniyatlar taqqoslanganidan so‘ng qaysi talab tanlovni o‘zgartirishini yoki muayyan ish jarayoniga qaysi istisno tegishli ekanini so‘rang. Model keyingi javob uchun kontekstga ega bo‘lishi uchun avvalgi topilmalar va yangi cheklovni kiriting. Qisqa va aniq keyingi savol dastlabki keng savolni takrorlashdan ko‘ra tadqiqotni foydaliroq qilishi mumkin.
Sonar oilasi javob yaratishni veb-qidiruv bilan birlashtiradi. Ishlab chiquvchining hujjatlashtirilgan Sonar javobida javob matni iqtibos havolalari va qidiruv natijalari haqidagi ma’lumotdan alohida beriladi. Ilova tadqiqotni taqdim etganda ushbu bog‘liqliklarni saqlang: o‘quvchi ko‘radigan parcha uni tasdiqlovchi natijaga bog‘langan bo‘lsin, manba tavsifi esa tekshirish uchun ochiq tursin.
Yakuniy ma’lumotnoma uchun javob, uning muhim da’volariga dalillar va qolgan noaniqliklarning qisqa ro‘yxatini so‘rang. Savol boshqa tizimni o‘zgartirishni talab etsa, tadqiqotdan shu qarorni tayyorlashda foydalaning; har qanday bajarish amali yoki maxfiy ma’lumotga kirish uni ishlatayotgan ilova tomonidan ta’minlanadi.
Amaliy vazifa
Amaliy vazifa
Ingliz tilidagi texnik misol
Research a spreadsheet export constraint
Research the current official CSV export guidance for Microsoft Excel and LibreOffice Calc. Compare how each handles multiple sheets and the choice of text encoding. Prefer product documentation, keep each claim attached to its source, and note any version-specific uncertainty. Finish with two questions a user should answer before exporting a workbook for a supplier.Kutiladigan natija
A short source-backed comparison, explicit version conditions and two practical pre-export questions.Natijani tekshirish
Inspect that each important claim has a relevant official source and that CSV is not described as preserving an entire multi-sheet workbook.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions perplexity/sonar-pro
perplexity/sonar-proBoshlash
Perplexity kompaniyasining Sonar Pro modeli tadqiqot savollariga veb-ma’lumotlar va manbalarga tayangan umumlashtirish orqali javob beradi. U kundalik tadqiqot va murakkabroq ma’lumot izlashga mo‘ljallangan; keyingi savollar izlanishni aniqlashtiradi.
- 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 perplexity/sonar-pro | 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
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 | Hisoblanadigan miqdor | 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 | Hisoblanadigan miqdor— | To‘lov Kirish · Kirish tokenlari $0.006 / 1K token Chiqish · Chiqish tokenlari $0.03 / 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 | Hisoblanadigan miqdor— | To‘lov Kirish · Kirish tokenlari $0.006 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaHar bir so‘rov uchun | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | Hisoblanadigan miqdorbitta so‘rov | To‘lov Kirish $0.01 har bir so‘rov uchun |
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": "perplexity/sonar-pro", "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='perplexity/sonar-pro',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='perplexity/sonar-pro',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 perplexity/sonar-pro
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
Ailoot Ultra · Anthropic Messages POST /v1/messages perplexity/sonar-pro
perplexity/sonar-proBoshlash
Perplexity kompaniyasining Sonar Pro modeli tadqiqot savollariga veb-ma’lumotlar va manbalarga tayangan umumlashtirish orqali javob beradi. U kundalik tadqiqot va murakkabroq ma’lumot izlashga mo‘ljallangan; keyingi savollar izlanishni aniqlashtiradi.
- 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 perplexity/sonar-pro | 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
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 | Hisoblanadigan miqdor | 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 | Hisoblanadigan miqdor— | To‘lov Kirish · Kirish tokenlari $0.006 / 1K token Chiqish · Chiqish tokenlari $0.03 / 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 | Hisoblanadigan miqdor— | To‘lov Kirish · Kirish tokenlari $0.006 / 1K token Chiqish · Chiqish tokenlari $0.03 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
| SozlamaHar bir so‘rov uchun | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | Hisoblanadigan miqdorbitta so‘rov | To‘lov Kirish $0.01 har bir so‘rov uchun |
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": "perplexity/sonar-pro",
"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': 'perplexity/sonar-pro', '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': 'perplexity/sonar-pro', '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 perplexity/sonar-pro
Usul yo‘llari taxalluslari
Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.
Chaqirish uchun tegishli ID lar
FAQ · Perplexity: Sonar Pro
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/chat/completions·perplexity/sonar-pro:text→textPOST /v1/messages·perplexity/sonar-pro:text→json,sse- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/chat/completions·perplexity/sonar-pro:model,messages,stream,modalities,providerPOST /v1/messages·perplexity/sonar-pro:model,messages,max_tokens,stream- Qanday cheklovlar amal qiladi?
POST /v1/chat/completions·perplexity/sonar-pro:messages.min_items:1