Asosiy kontentga o‘tish
Innovialabs

LLM’da function calling (vositalarni chaqirish) nima

Asoslar2 daq

Qisqacha

Function calling — model amalni o‘zi bajarmaydi, funksiya nomi va argumentlari bilan JSON qaytaradi; kodingiz funksiyani chaqiradi va javob uchun natijani modelga qaytaradi.

Qisqa javob

Function calling (yoki tool use) — til modelini tizimlaringizga ulash usuli. Siz modelga funksiyalar to‘plamini tasvirlab berasiz: nomi, vazifasi va parametrlari. Foydalanuvchi real ma’lumot talab qiladigan narsa so‘raganda, model matn bilan emas, tuzilgan chaqiruv bilan javob beradi: «get_order_status ni order_id = 1042 bilan chaqir».

Muhim: model hech narsani o‘zi bajarmaydi. U faqat qaysi funksiyani qanday argumentlar bilan chaqirishni hal qiladi. Bajaruvchi — sizning kodingiz, kirish huquqlarini ham u nazorat qiladi.

Sikl qanday ishlaydi

  1. Modelga foydalanuvchi xabarini va parametrlar uchun JSON Schema bilan vositalar ro‘yxatini yuborasiz.
  2. Model oddiy javob yoki vositani chaqirish so‘rovini qaytaradi.
  3. Kodingiz argumentlarni tekshiradi va haqiqiy funksiyani chaqiradi (ma’lumotlar bazasi, API, CRM).
  4. Natija modelga «vosita natijasi» xabari sifatida qaytariladi.
  5. Model foydalanuvchiga tushunarli javob yozadi yoki keyingi vositani so‘raydi.

Vosita tavsifi odatda shunday ko‘rinadi:

{
  "name": "get_order_status",
  "description": "Buyurtma raqami bo‘yicha uning holatini qaytaradi",
  "input_schema": {
    "type": "object",
    "properties": {
      "order_id": { "type": "string", "description": "Buyurtma raqami" }
    },
    "required": ["order_id"]
  }
}

Maydon nomlari provayderlarda farq qiladi, lekin g‘oya bir xil: nom, tavsif, parametrlar sxemasi.

Amaliy misollar

  • Buyurtma holati. Mijoz «1042-buyurtmam qayerda?» deb yozadi. Model get_order_status ni chaqiradi, «kuryerga topshirildi» javobini oladi va oddiy tilda javob beradi.
  • Qabulga yozilish. Model avval get_free_slots(date) ni chaqiradi, variantlarni taklif qiladi, mijoz tanlagach book_slot(slot_id, phone) ni chaqiradi.
  • CRM. Menejer «Romashka MChJ uchun konsultatsiya bitimini yarat» deb yozadi — model create_deal argumentlarini erkin matndan to‘ldiradi.
  • Bilimlar bazasidan qidirish. search_docs(query) vositasi ko‘plab RAG-botlarning asosi.

Amalda nima muhim

  • Yaxshi tavsiflar. Model vositani description bo‘yicha tanlaydi. Qachon chaqirish va qachon chaqirmaslikni aniq yozing.
  • Argumentlarni tekshirish. Model sana formatida xato qilishi yoki ID o‘ylab topishi mumkin. Hammasini serverda tekshiring.
  • Kirish huquqlari. Foydalanuvchi raqamini aytgani uchungina boshqa birovning buyurtmasini ko‘rmasligi kerak. Egasini model so‘zlari bo‘yicha emas, sessiya bo‘yicha tekshiring.
  • Xavfli amallarni tasdiqlash. To‘lov, o‘chirish, xat yuborish — faqat foydalanuvchining aniq «ha» javobidan keyin.
  • Tushunarli xatolar. Funksiya ishlamasa, modelga qisqa xato matnini qaytaring — u foydalanuvchidan qayta so‘rashi mumkin.
  • Kam vositalar. O‘nlab o‘xshash funksiyalar modelni chalg‘itadi. Bir nechta aniq vosita yaxshiroq.

Ko‘p uchraydigan xatolar

XatoNima qilish kerak
Model argumentlariga tekshirmasdan ishonishSxema va biznes qoidalari bilan tekshirish
Keng huquqli vosita berishMinimal huquqli tor funksiyalar
Qadamlar soni cheklanmaganSiklda iteratsiyalar limitini qo‘yish
Modelga katta API javobini berishFaqat kerakli maydonlarni qaytarish

Ko‘p beriladigan savollar

Yo‘q. Function calling — mexanizm, agent esa maqsadga erishish uchun qaysi vositalarni chaqirishni siklda o‘zi hal qiladigan tizim. Agentlar function calling ustiga quriladi.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.