AI Ustoz UZ: sun’iy intellektni o‘zbek tilida o‘rganing

API: tuzilgan so‘rov va javob

Ilg‘or daraja · 1-dars · taxminan 14 daqiqa

Sun’iy intellekt xizmatlari odatda API orqali ishlaydi: dastur xizmatga tuzilgan so‘rov yuboradi, xizmat tuzilgan javob qaytaradi. So‘rov va javob ko‘pincha JSON formatida bo‘ladi. Bu darsda haqiqiy xizmatga ulanmaymiz: faqat so‘rov va javob tuzilishini mashq qilamiz.

So‘rov odatda model nomi va xabarlar ro‘yxatidan iborat; har xabarda rol (tizim, foydalanuvchi) va matn bo‘ladi. Javobda esa natija ichma-ich joylashadi, shuning uchun uni qatlam-qatlam olasiz. Maydonlarning nomlari xizmatga qarab farq qiladi: ularni xizmatning rasmiy hujjatidan o‘qing.

import json

javob_matn = """{"holat": "ok", "natija": {"matn": "Salom", "tokenlar": 3}}"""
javob = json.loads(javob_matn)
print(javob["holat"])
print(javob["natija"]["matn"])
Natijaok
Salom

Muhim qoida: javobni ishlatishdan oldin holatini (muvaffaqiyat yoki xato) tekshiring. Maxfiy kalitlarni (API kaliti) kodga yozib, ommaga ochmang va suhbat vositasiga yubormang.

Esda tuting

  • So‘rov va javob odatda JSON.
  • Javobdan kerakli qiymatni qatlam-qatlam oling.
  • Avval holatni tekshiring; API kalitini sir saqlang.

Mashq

Javob ichidagi matnni olishdan oldin nimani tekshirish ma’qul?

Javob va izoh
  1. Javob holatini: muvaffaqiyatli yoki xato ekanini. (to‘g‘ri javob)xato javobda kutilgan maydon bo‘lmasligi mumkin.
  2. Hech narsani: javob doim to‘g‘ri.tarmoq va xizmat xato qaytarishi mumkin.
  3. Faqat javob uzunligini.uzunlik muvaffaqiyatni bildirmaydi.

Kod mashqlari

  1. payload lug‘atini yarating: model kaliti mini, messages kaliti bitta xabar ro‘yxati; xabarda rol = user va matn = savol qiymati.
    Maslahat: messages ro‘yxat ichida lug‘at: [{"rol": "user", "matn": savol}].
  2. d dan foydalaning: holat ok bo‘lsa, avval matnni, keyin tokenlar sonini chiqaring; aks holda xato deb chiqaring.
    Maslahat: d["holat"] == "ok" ni tekshiring; qiymatlar d["natija"] ichida.

Mashqni ilovada bajaring.

Amaliy vazifa

Xayoliy savol-javob xizmati uchun so‘rovni JSON ko‘rinishida yozing (model nomi, bitta xabar). Haqiqiy kalit yoki ma’lumot yozmang.

  • So‘rov JSON’ini yozdim
  • Unda rol va matn bor

Lug‘at

Interaktiv rejim: qidiruv, progress va Python mashqlari.