Function Calling
Araç çağırma
Modelin serbest metin yerine, verilen şemaya uygun yapılandırılmış bir çağrı üretmesi ve uygulamanın bu çağrıyı gerçek bir fonksiyona bağlamasıdır.
ÖnkoşulLLM
Kısa cevap
Araç çağırmada model kodu çalıştırmaz; hangi fonksiyonun hangi parametrelerle çağrılması gerektiğini söyleyen yapılandırılmış bir çıktı üretir. Çağrıyı yapan, sonucu doğrulayan ve modele geri veren uygulamadır.
Döngü#
- 1Şema
Uygulama, kullanılabilir araçları ad ve parametre şemasıyla bildirir.
- 2Karar
Model, gerekiyorsa bir araç çağrısı üretir; gerekmiyorsa doğrudan cevap verir.
- 3Doğrulama
Uygulama çağrıyı şemaya ve yetkiye göre denetler.
- 4Yürütme
Fonksiyon çalıştırılır, sonuç alınır.
- 5Geri besleme
Sonuç veya hata, modele yapılandırılmış biçimde döner.
- 6Kapanış
Model sonucu kullanarak cevabı yazar veya yeni bir çağrı üretir.
Şema kalitesi sonucu belirler#
- Ayırt edici ad: "ara" değil "musteri_kaydi_ara".
- Seçim ölçütü içeren açıklama: aracın ne yaptığı değil, ne zaman kullanılacağı yazılır.
- Kapalı değer kümesi: mümkün olan her yerde enum kullanın.
- Biçim kısıtı: kimlik ve tarih alanlarına desen (pattern) verin.
- Zorunluluk: required ve additionalProperties: false eksik bırakılmamalı.
{
"name": "izin_talebi_olustur",
"description": "Çalışan için yıllık izin talebi oluşturur. Talep ONAYA DÜŞER, doğrudan onaylanmaz.",
"parameters": {
"type": "object",
"properties": {
"calisan_no": { "type": "string", "pattern": "^[0-9]{6}$" },
"baslangic": { "type": "string", "format": "date" },
"gun_sayisi": { "type": "integer", "minimum": 1, "maximum": 30 },
"tur": { "type": "string", "enum": ["yillik", "mazeret", "ucretsiz"] }
},
"required": ["calisan_no", "baslangic", "gun_sayisi", "tur"],
"additionalProperties": false
}
}Sık görülen arızalar#
| Arıza | Belirti | Çözüm |
|---|---|---|
| Yanlış araç seçimi | İki aracın açıklaması örtüşüyor | Açıklamalara seçim ölçütü yazmak, aracı birleştirmek |
| Uydurulmuş parametre | Şemada olmayan alan gelir | additionalProperties: false ve kod tarafında doğrulama |
| Sonsuz döngü | Aynı çağrı tekrarlanır | Deneme sayısını sınırlamak, hata mesajına yön vermek |
| Eksik zorunlu alan | Model alanı boş bırakır | required bildirmek ve hata mesajında alanı söylemek |
Sık sorulan sorular
Model fonksiyonu kendisi mi çalıştırıyor?
Hayır. Model yalnızca çağrı niyetini yapılandırılmış biçimde üretir; çalıştırma, doğrulama ve yetki kontrolü uygulamanın sorumluluğundadır.
Function calling ile MCP arasındaki fark nedir?
Araç çağırma, model ile uygulama arasındaki çıktı biçimidir. MCP ise araç ve veri kaynaklarının istemciden bağımsız tanımlanmasını sağlayan bir protokoldür; aynı aracı farklı istemcilerin kullanabilmesini amaçlar.
Güncelleme geçmişi
- v1.1Arıza tablosu ve şema örneği eklendi.
- v1.0İlk yayın.
LEARN
Function Calling konusunu uygulamaya dökmek ister misin?
Kavramı okudun; sırada onu bir rotanın içinde öğrenmek ve bir testle ölçmek var.
