0Pricing
Learn AI with Python · Ders

LLM'lerle İşlev Çağırma ve Araç Kullanımı

Araçları JSON şeması olarak tanımlama, yanıttaki tool_calls öğelerini ele alma, sonuçları yürütme ve geri döndürme.

LLM'lerle İşlev Çağırma ve Araç Kullanımı, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Fonksiyon Çağrısı Nedir?

Fonksiyon çağrısı (araç kullanımı olarak da adlandırılır), bir LLM'in kodunuzdan bir işlev çalıştırmasını istemesini sağlar. Model hiçbir şeyi kendisi çalıştırmaz; “bu işlevi şu bağımsız değişkenlerle çağır” diyen yapılandırılmış bir istek döndürür. Programınız işlevi çalıştırır ve sonucu modele geri verir.

LLM'ler canlı verileri bu şekilde alır, matematik işlemleri yapar veya gerçek işlemleri tetikler.

Bir Aracı Tanımlama

Modele bir araçlar listesi verirsiniz. Her araçta bir name, bir description ve JSON Şeması olarak tanımlanan parameters bulunur. Açıklama kritik öneme sahiptir; model, aracın ne zaman geçerli olduğuna karar vermek için onu kullanır.

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {
                "city": {"type": "string", "description": "City name"}
            },
            "required": ["city"]
        }
    }
}]

Parametreler için JSON Şeması

parameters alanı standart JSON Şemasıdır. Her birinde type ve açıklama bulunan properties ile bir nesne ve ayrıca bir required dizisi tanımlarsınız. Bu, modele tam olarak hangi bağımsız değişkenleri üretmesi gerektiğini bildirir.

"parameters": {
    "type": "object",
    "properties": {
        "city": {"type": "string"},
        "units": {"type": "string", "enum": ["celsius", "fahrenheit"]}
    },
    "required": ["city"]
}

Araçları Modele Aktarma

tools listesini chat.completions.create() işlevine gönderin. Artık model, kullanıcı isteğine bağlı olarak metinle OR bir araç çağrısıyla yanıt verebilir.

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Weather in Tokyo?"}],
    tools=tools
)

Araç Çağrısını Belirleme

Model bir araç kullanmak istediğinde yanıt, normal metin yerine message.tool_calls içerir. Düz bir yanıtınız olduğunu varsaymadan önce bu listenin mevcut olup olmadığını kontrol edin.

msg = response.choices[0].message

if msg.tool_calls:
    print("Model wants to call a tool")
else:
    print(msg.content)

Bağımsız Değişkenleri Ayrıştırma

Her araç çağrısında bir function.name ve bir function.arguments bulunur. Bağımsız değişkenler bir JSON dizesi olarak gelir; bu nedenle kullanmadan önce json.loads() ile ayrıştırın.

import json

call = msg.tool_calls[0]
name = call.function.name
args = json.loads(call.function.arguments)
print(name, args)  # get_weather {"city": "Tokyo"}

Fonksiyonu Çalıştırma

Şimdi ayrıştırılmış bağımsız değişkenlerle YOUR gerçek Python fonksiyonunuzu çalıştırın. LLM yalnızca neyin çağrılacağına karar verdi; asıl işi kodunuz yapar.

def get_weather(city):
    return {"city": city, "temp_c": 18, "condition": "Cloudy"}

result = get_weather(**args)

Sonucu Modele Geri Gönderme

Modelin doğal dilli bir yanıt yazabilmesi için sonucu geri gönderin. Önce özgün asistan mesajını append edin, ardından sonucu ve eşleşen tool_call_id değerini taşıyan tool rolündeki bir mesaj ekleyin.

messages.append(msg)  # the assistant tool-call message
messages.append({
    "role": "tool",
    "tool_call_id": call.id,
    "content": json.dumps(result)
})

Son Yanıtı Oluşturma

Güncellenmiş messages ile modeli yeniden çağırın. Artık araç sonucuna sahip olduğu için kullanıcıya uygun, anlaşılır bir son yanıt üretir.

final = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools
)
print(final.choices[0].message.content)

Eksiksiz Araç Kullanma Döngüsü

Tam döngü şöyledir: (1) araçları gönderin, (2) model bir araç çağrısı döndürür, (3) bağımsız değişkenleri ayrıştırın, (4) işlevi çalıştırın, (5) sonucu araç mesajı olarak geri gönderin, (6) model yanıtı yazar. Model tamamlamadan önce birden fazla araç çağrısı isteyebilir; bu nedenle tool_calls boş olana kadar döngüyü sürdürün.

Araç Seçimini Denetleme

Davranışı yönlendirmek için tool_choice parametresini kullanın. "auto" (varsayılan), modelin karar vermesine izin verir; "none" araçları yasaklar; belirli bir araç adı aktarmak ise tam olarak o işlevi zorunlu kılar. Bu, yapılandırılmış çıktıyı garanti etmeniz gerektiğinde kullanışlıdır.

response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools,
    tool_choice={"type": "function", "function": {"name": "get_weather"}}
)

Hızlı Kontrol

Araç kullanımı konusundaki anlayışınızı sınayın.

Özet: Fonksiyon Çağrısı

Ad, açıklama ve JSON Şeması parametreleriyle araçlar tanımladınız ve bunları modele aktardınız. tool_calls değerini belirlediniz, function.arguments değerini json.loads() ile ayrıştırdınız, gerçek işlevinizi çalıştırdınız ve sonucu eşleşen tool_call_id değerine sahip tool rolündeki bir mesaj olarak geri gönderdiniz.

Son bir model çağrısı, ham sonucu doğal bir yanıta dönüştürerek araç kullanma döngüsünü tamamlar.

Sıkça Sorulan Sorular

“LLM'lerle İşlev Çağırma ve Araç Kullanımı” dersi ücretsiz mi?

Evet — “LLM'lerle İşlev Çağırma ve Araç Kullanımı” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“LLM'lerle İşlev Çağırma ve Araç Kullanımı” dersinde ne öğreneceğim?

Araçları JSON şeması olarak tanımlama, yanıttaki tool_calls öğelerini ele alma, sonuçları yürütme ve geri döndürme. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“LLM'lerle İşlev Çağırma ve Araç Kullanımı” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. OpenAI API: chat.completions ve Akış
  2. Python'da Anthropic Claude API'si
  3. LLM'lerle İşlev Çağırma ve Araç Kullanımı
  4. Üretim LLM Uygulamaları için İstem Mühendisliği
← Learn AI with Python Sayfasına Dön