Modelga tashqi funksiyalarni chaqirish (function calling/tool use) va API darajasida qat'iy sxemaga rioya qiluvchi structured output asoslarini o'rganasiz.
Zamonaviy AI API'lar shunchaki matn qaytarish bilan cheklanmaydi — ular tashqi funksiyalarni "chaqirish" (function calling / tool use) va qat'iy sxemaga rioya qiluvchi strukturalangan chiqish (structured output) imkoniyatlarini taqdim etadi. Bu bobda bu tushunchalarning asoslari ko'rib chiqiladi.
Function calling (tool use) — modelga bir nechta "funksiya" ta'riflarini (nomi, parametrlari) berish, model esa foydalanuvchi so'roviga javob berish uchun qaysi funksiyani, qanday parametrlar bilan chaqirish kerakligini aniqlab beradi. Model funksiyani o'zi bajarmaydi — u faqat qaysi funksiya va qanday argumentlar kerakligini ko'rsatadi, dastur esa uni chaqiradi.
Model o'zi real vaqtdagi ma'lumotlarga (masalan, ob-havo, valyuta kursi) yoki tashqi tizimlarga (masalan, bazaga yozish) to'g'ridan-to'g'ri kira olmaydi. Function calling modelga "qaysi tashqi vositadan, qanday parametr bilan foydalanish kerak"ligini aniqlash imkonini beradi, dastur esa haqiqiy amalni bajaradi.
code.textTEXTSizda quyidagi funksiya mavjud: get_weather(city: string) — berilgan shahar uchun joriy ob-havoni qaytaradi.Foydalanuvchi so'rovi: "Toshkentda bugun sovuqmi?"
Natija tavsifi: Model to'g'ridan-to'g'ri ob-havo haqida (o'zi bilmagan) taxminiy javob berish o'rniga, get_weather(city="Toshkent") funksiyasini chaqirish kerakligini aniqlab beradi. Dastur bu funksiyani bajaradi, natijani modelga qaytaradi, model esa haqiqiy ma'lumot asosida yakuniy javob shakllantiradi.
⚠️ Common Mistake: Function calling imkoniyati mavjud bo'lgan holatda ham, modeldan real vaqtdagi yoki tashqi ma'lumotni "o'zidan" so'rash (masalan, funksiyasiz to'g'ridan-to'g'ri "bugungi valyuta kursi qancha?" deb so'rash). Bunda model eskirgan yoki noto'g'ri (hallyutsinatsiya qilingan) ma'lumot berishi mumkin.
Task: "get_currency_rate(from: string, to: string)" nomli funksiya mavjud deb faraz qilib, "1 dollar necha so'm turadi?" savoliga model qanday funksiya chaqiruvini aniqlab berishi kerakligini tavsiflang.
Task: Mahsulot tasnifi uchun structured output sxemasi yozing (JSON Schema uslubida), unda "toifa" maydoni faqat oldindan belgilangan enum qiymatlaridan biri bo'lishi shart bo'lsin.
Task: Bir nechta funksiya (masalan, search_product, check_stock, create_order) mavjud bo'lgan sharoitda, "Men noutbuk sotib olmoqchiman, avval mavjudligini tekshiring" degan foydalanuvchi so'roviga model qanday ketma-ketlikda funksiyalarni chaqirishi kerakligini tavsiflang.
code.textTEXTBugungi AQSH dollari kursini ayt.
Your Task: Function calling imkoniyati mavjud bo'lgan tizimda bu so'rov nega muammoli bo'lishi mumkin — tushuntiring va yaxshiroq yondashuvni taklif qiling.
<details> <summary>Solution</summary> Muammo: Agar tizimda valyuta kursini olish uchun maxsus funksiya mavjud bo'lsa-yu, lekin foydalanuvchi yoki dastur promptni shunchaki oddiy savol sifatida yuborsa va modelga funksiyadan foydalanish zarurligi aniq ko'rsatilmasa, model o'zining (eskirgan yoki noto'g'ri bo'lishi mumkin) bilimidan foydalanib taxminiy javob berishi mumkin.Tuzatilgan yondashuv: Tizim darajasida modelga mavjud funksiyalar (masalan, get_currency_rate) haqida ma'lumot berilishi va real vaqtdagi ma'lumot kerak bo'lganda funksiyadan foydalanish kerakligi system promptda yoki funksiya ta'riflarida aniq ko'rsatilishi kerak. Shunda model "Bugungi AQSH dollari kursini ayt" so'roviga javoban o'zi taxmin qilish o'rniga get_currency_rate funksiyasini chaqiradi.
Function calling modelga tashqi funksiyalarni "chaqirish" (aslida — qaysi funksiya va parametr kerakligini aniqlash) imkonini beradi, bu esa real vaqtdagi ma'lumot yoki tashqi tizimlar bilan ishlashda zarur. Structured output esa API darajasida modelni qat'iy sxemaga rioya qilishga majburlaydi, bu oddiy promptdagi JSON so'rovidan ancha ishonchliroq.
Dars sifati va mazmunini yaxshilash uchun o‘z haqqoniy bahoingizni qoldiring.
Mavzuni to‘liq o‘zlashtirish uchun test sinovi, amaliy kodlash va bog‘liq darslar
O‘z bilimingizni interaktiv test savollari orqali tekshiring va darhol xatolarni tahlil qiling.
Nazariyani real kod yozish bilan mustahkamlang, avtomatik testlardan o‘ting va XP to‘plang.
Kurs bo‘yicha keyingi va bog‘liq mavzular: