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

Vosita chaqiruvi: modelning tanlovini dastur bajaradi

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

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"]))
Natija5

Quyidagi 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.loads chaqiriq 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
  1. Rad etib, tushunarli xabar qaytarishi. (to‘g‘ri javob)noma’lum chaqiriqni bajarish xavfli.
  2. Shunday nomli buyruqni tizimdan qidirib bajarishi.bu xavfsizlik teshigi.
  3. Dasturni to‘xtatib qo‘yishi.qulash o‘rniga nazoratli xabar yaxshiroq.

Kod mashqlari

  1. bajar(chaqiriq_matn) funksiyasini yozing: JSON matnini o‘qisin, vosita ro‘yxatda bo‘lsa uni args bilan chaqirib natijani qaytarsin, bo‘lmasa vosita topilmadi qaytarsin.
    Maslahat: json.loads bilan oching; nom not in VOSITALAR ni tekshiring; chaqirishda VOSITALAR[nom](*d["args"]).
  2. vosita_xabari(nom, natija) lug‘at qaytarsin: rol = vosita, vosita = nom, matn = natijaning matn ko‘rinishi.
    Maslahat: Sonni matnga str(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.