İşlev Çağırma ve API Entegrasyonu
LLM'lere harici işlevleri veya API'leri çağırmayı isteme konusunda uzmanlaşarak gerçek dünya sistemleriyle etkileşim kurmalarını sağlayın.
İşlev Çağırma ve API Entegrasyonu, CoddyKit'te ücretsiz bir AI Prompt Engineering dersidir. Bu, 3 dersinin 1. 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, AI Prompt Engineering öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. AI Prompt Engineering kursu toplamda 3 dersten oluşur.
Harici Araçları Çağırma
LLM'ler güçlüdür, ancak öncelikle bir metin dünyasında çalışırlar. Gerçek dünyaya ait bilgilere ihtiyaç duyarlarsa veya eylemler gerçekleştirmeleri gerekirse ne olur?
İşlev çağırma, LLM'lerin harici araçlarla ve uygulama programlama arayüzleriyle etkileşim kurmasını sağlar! Bu, dil ile eylem arasındaki boşluğu kapatarak yapay zekânın şunları yapmasını mümkün kılar:
- get ile güncel bilgileri alma (hava durumu, hisse senedi fiyatları)
- Eylemler gerçekleştirme (e-posta gönderme, randevu ayarlama)
- Veri tabanlarına veya özel araçlara bağlanma
Bu, yapay zekâ sistemleri için yeni olanakların önünü açar.
LLM'nin Rolü: Çağrılar Önerme
İşlev çağırmayı etkinleştirdiğinizde, LLM'ye kullanılabilir araçların (işlevlerin) açıklamalarını sağlarsınız.
LLM doğrudan answer vermek yerine bir aracın yardımcı olabileceğine karar verebilir. Ardından işlevin adını ve bağımsız değişkenlerini içeren, işlev çağrısı için yapılandırılmış bir "öneri" çıktısı verir.
Önemli: LLM işlevi kendisi yürütmez. Uygulamanıza yalnızca hangi işlevin, hangi girdilerle çağrılacağını söyler.
Araçlarınızı Tanımlama
İşlev çağırmayı kullanmak için araçlarınızı (işlevlerinizi) LLM'nin anlayabileceği şekilde tanımlamanız gerekir. Bu genellikle şunları sağlamayı içerir:
- İşlev için bir ad (ör.
get_current_weather) - İşlevin ne yaptığını açıklayan bir açıklama (LLM'nin doğru seçimi yapması açısından kritik)
- Kabul ettiği parametreler; bunların türleri ve açıklamaları da dâhil (ör.
location: string)
Bu "şema", geçerli bir çağrı önermek için LLM'nin bilmesi gereken her şeyi ona aktarır.
Hava Durumu Aracı Tanımı
Burada hava durumu aracı için kavramsal bir Python tanımı yer alıyor. Açık açıklamaya ve parametrelere dikkat edin. LLM'ye sunacağınız tanım budur.
Bu işlev, bir LLM'nin kavramsal olarak "çağıracağı" harici aracı temsil eder.
def get_current_weather(location: str, unit: str = "celsius"):
"""
Get the current weather in a given location.
Args:
location (str): The city and state, e.g. "London, UK"
unit (str): The unit of temperature, "celsius" or "fahrenheit"
Returns:
dict: Weather information.
"""
# In a real app, this would call a weather API
if location == "London, UK":
return {"temperature": "15", "unit": unit, "forecast": "cloudy"}
elif location == "New York, USA":
return {"temperature": "20", "unit": unit, "forecast": "sunny"}
else:
return {"temperature": "N/A", "unit": unit, "forecast": "unknown"}
Araçlar İçin İstemler Oluşturma
LLM'yi araçlarınızı kullanmaya teşvik etmek için isteminiz kullanıcının amacını açıkça belirtmelidir. LLM daha sonra bir aracın yardımcı olup olamayacağına karar verir.
LLM'ye açıkça "get_weather çağır" demezsiniz. Bunun yerine, bunu ima eden bir soru sorarsınız:
- "Londra'da hava nasıl?"
- "Yarın benim için bir toplantı ayırtabilir misiniz?"
LLM, araç açıklamalarıyla donatılmış olarak bir işlev çağrısına ihtiyaç olduğunu çıkaracaktır.
LLM'nin Çağrı Önerisi
LLM bir araç kullanmaya karar verdiğinde size doğrudan bir answer vermez. Bunun yerine, çağrılacak işlevi ve bağımsız değişkenlerini belirten, genellikle JSON biçiminde yapılandırılmış bir nesne döndürür.
Uygulamanız daha sonra bu çıktıyı ayrıştırır.
LLM'ye "Londra'da hava nasıl?" diye sorulduğunda ne önerebileceğine bir örnek:
{
"tool_calls": [
{
"id": "call_abc123",
"function": {
"name": "get_current_weather",
"arguments": "{\"location\": \"London, UK\", \"unit\": \"celsius\"}"
},
"type": "function"
}
]
}Uygulamanız Aracı Çalıştırır
LLM'nin işlev çağrısı önerisini aldıktan sonra kontrol uygulamanıza geçer:
- İstenen işlevi tanımlar (ör.
get_current_weather). - Bağımsız değişkenleri çıkarır (ör.
"London, UK"). - Gerçek Python işlevini (veya uygulama programlama arayüzü çağrısını) uygulamanızın ortamında yürütür.
Gerçek dünya eylemi LLM'nin dışında burada gerçekleşir.
LLM Araç Çıktısını İşler
Uygulamanız işlevi yürüttükten sonra bir sonuç alır (ör. {"temperature": "15", ...}).
Bu sonuç, özgün konuşma geçmişi ve işlev çağrısı isteğiyle birlikte LLM'ye geri aktarılır.
LLM ardından bu yeni bilgiyi kullanarak kullanıcının özgün sorgusuna doğal dilde bir yanıt oluşturur.
Uçtan Uca Etkileşim
Şimdi hepsini bir araya getirelim. Bu örnek, kullanıcının sorusunun bir LLM'yi işlev çağrısı önermeye yönlendirdiği, uygulamanızın bu çağrıyı yürüttüğü ve LLM'nin ardından son bir yanıt verdiği akışı gösterir.
Bu, etkileşim döngüsünün basitleştirilmiş bir gösterimidir.
def get_current_weather(location, unit="celsius"):
if location == "London, UK":
return {"temp": "15", "unit": unit, "forecast": "cloudy"}
return {"temp": "N/A", "unit": unit, "forecast": "unknown"}
def simulate_llm_response(user_query):
# LLM 'thinks' and decides to call a tool
if "weather in London" in user_query:
return {
"type": "tool_call",
"function": "get_current_weather",
"args": {"location": "London, UK"}
}
return {"type": "text", "content": "I cannot help with that."}
def simulate_llm_final_response(tool_output):
# LLM processes tool output and gives natural language
temp = tool_output.get("temp", "N/A")
forecast = tool_output.get("forecast", "unknown")
return f"The weather in London is {temp} degrees and {forecast}."
def main():
user_input = "What is the weather in London, UK?"
print(f"User: {user_input}")
llm_output = simulate_llm_response(user_input)
if llm_output["type"] == "tool_call":
func_name = llm_output["function"]
func_args = llm_output["args"]
print(f"LLM suggested calling: {func_name}({func_args})")
# Execute the function
tool_result = get_current_weather(**func_args)
print(f"Tool output: {tool_result}")
# Feed result back to LLM
final_answer = simulate_llm_final_response(tool_result)
print(f"LLM's final answer: {final_answer}")
else:
print(f"LLM: {llm_output['content']}")
if __name__ == "__main__":
main()
İşlev Çağırma Kontrolü
Bir LLM'nin bir işlev çağrısı isteği döndürdüğünü düşünün. Uygulamanızın atması gereken bir sonraki adım nedir?
Özet: Araçlar İş Başında
Bu derste LLM'lerin işlev çağırma ve uygulama programlama arayüzü entegrasyonu yoluyla gerçek dünyayla nasıl etkileşime girebildiğini inceledik.
Şunları öğrendik:
- Araçları (işlevleri) açıklamalar ve parametrelerle tanımlarsınız.
- LLM hangi aracın çağrılacağını ve hangi bağımsız değişkenlerle çağrılacağını önerir.
- Uygulamanız gerçek aracı yürütür ve sonucu geri gönderir.
- LLM ardından sonucu kullanarak bilgilendirici bir son yanıt oluşturur.
Bu güçlü teknik, LLM'lerin yalnızca metin oluşturmanın ötesine geçerek eylemler gerçekleştirmesini ve güncel bilgileri almasını sağlar.
Sıkça Sorulan Sorular
“İşlev Çağırma ve API Entegrasyonu” dersi ücretsiz mi?
Evet — “İşlev Çağırma ve API Entegrasyonu” 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 AI Prompt Engineering kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. AI Prompt Engineering kursu toplamda 3 dersten oluşur.
“İşlev Çağırma ve API Entegrasyonu” dersinde ne öğreneceğim?
LLM'lere harici işlevleri veya API'leri çağırmayı isteme konusunda uzmanlaşarak gerçek dünya sistemleriyle etkileşim kurmalarını sağlayın. AI Prompt Engineering 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.
AI Prompt Engineering öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te AI Prompt Engineering, 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, 3 dersinin 1. dersidir.
“İşlev Çağırma ve API Entegrasyonu” 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 AI Prompt Engineering dersinde kod yazıp çalıştırabilir miyim?
Evet. Her AI Prompt Engineering 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
- İşlev Çağırma ve API Entegrasyonu
- Çok Etmenli İstem Sistemleri
- LLM'ler için Özel Araçlar ve Eklentiler