Vosita chaqiruvi: modelning tanlovini dastur bajaradi
Vosita chaqiruvida (function calling) model javob matni o‘rniga vosita nomi va argumentlarini tuzilgan ko‘rinishda belgilaydi, masalan {"vosita": "qosh", "args": [2, 3]}. Dastur bu matnni o‘qiydi, mos funksiyani ishga tushiradi va natijani modelga qaytaradi.
import json
def qosh(a, b):
return a + b
chaqiriq = json.loads("""{"vosita": "qosh", "args": [2, 3]}""")
print(qosh(*chaqiriq["args"]))Natija5Quyidagi namunada json.loads chaqiriq matnini lug‘atga aylantiradi, * esa ro‘yxatdagi qiymatlarni funksiyaga alohida argument qilib beradi. Vositalar lug‘atda saqlansa, nom bo‘yicha topish oson.
Xavfsizlik: faqat oldindan ro‘yxatga olingan vositalarni bajaring; noma’lum nomni rad eting. Model chaqirgan funksiyaga tegishli bo‘lmagan buyruqni (masalan, fayl o‘chirishni) hech qachon ruxsatsiz bajarmang.
Esda tuting
- Model vosita nomi va argumentlarini beradi, dastur bajaradi.
json.loadschaqiriq matnini lug‘atga aylantiradi;*args— argumentlarni yoyadi.- Faqat ro‘yxatga olingan vositalarni bajaring.
Mashq
Model ro‘yxatda yo‘q vosita nomini aytdi. Dastur nima qilishi kerak?
Javob va izoh
- Rad etib, tushunarli xabar qaytarishi. (to‘g‘ri javob)noma’lum chaqiriqni bajarish xavfli.
- Shunday nomli buyruqni tizimdan qidirib bajarishi.bu xavfsizlik teshigi.
- Dasturni to‘xtatib qo‘yishi.qulash o‘rniga nazoratli xabar yaxshiroq.
Kod mashqlari
bajar(chaqiriq_matn)funksiyasini yozing: JSON matnini o‘qisin, vosita ro‘yxatda bo‘lsa uniargsbilan chaqirib natijani qaytarsin, bo‘lmasavosita topilmadiqaytarsin.
Maslahat:json.loadsbilan oching;nom not in VOSITALARni tekshiring; chaqirishdaVOSITALAR[nom](*d["args"]).vosita_xabari(nom, natija)lug‘at qaytarsin:rol=vosita,vosita= nom,matn= natijaning matn ko‘rinishi.
Maslahat: Sonni matngastr(natija)bilan aylantiring.
Mashqni ilovada bajaring.
Amaliy vazifa
Yana bitta vosita (masalan, ikki sonni ko‘paytirish) qo‘shing va chaqiriq matni bilan sinab ko‘ring.
- Vositani qo‘shdim
- Chaqiriq bilan sinadim
Lug‘at
Interaktiv rejim: qidiruv, progress va Python mashqlari.
