OpenAI
Bu sayfanın çevirisi otomatik olarak yapılmıştır. Orijinal İngilizce makaleyi görüntüleyin.

OpenAI API'sinde Fonksiyon Çağrısı

Fonksiyon çağrısı nedir ve OpenAI API'sinde nasıl çalışır?

Güncellenme zamanı: 4 days ago

11 Mart 2025 itibarıyla, yeni Agents platformumuzun yapı taşlarını kullanıma sunduk. Ayrıntılar için Responses API, Web Search, File Search ve Computer Use dahil Araçlar ve Tracing içeren Agents SDK için API belgelerimize bakın.

Fonksiyon çağrısı, OpenAI modellerini harici araçlara ve sistemlere bağlamanıza olanak tanır. Bu, AI asistanlarını yeteneklerle güçlendirmek veya uygulamalarınız ile LLM'ler arasında derin entegrasyonlar kurmak gibi birçok şey için yararlıdır.

Daha fazla bilgi için fonksiyon çağrısı geliştirici kılavuzumuza bakın.

Haziran 2024'te Yapılandırılmış Çıktılar'ı kullanıma sunduk. Fonksiyon tanımınızda `strict: true` ayarını etkinleştirdiğinizde, Yapılandırılmış Çıktılar modelin bir fonksiyon çağrısı için ürettiği argümanların, fonksiyon tanımında sağladığınız JSON Schema ile tam olarak eşleşmesini garanti eder.

Ekim 2024'te, geliştiricilerin bir fonksiyonu tanımlamasına, doğrudan yapıştırmasına veya kodunu yapıştırıp geçerli bir fonksiyon şeması oluşturmasına olanak tanıyan 'Generate Anything' özelliğini kullanıma sunduk. 'Generate Anything' hakkında daha fazla bilgi için buradaki yardım merkezi makalesine bakın

Fonksiyon çağrısını nasıl kullanabilirim?

Fonksiyon çağrısı, aşağıdakiler gibi çok sayıda kullanım durumu için yararlıdır:

  • Asistanların veri almasını sağlama:

    • bir kullanıcı “son siparişlerim neler?” diye sorduğunda, bir AI asistanının kullanıcıya yanıt oluşturabilmesi için önce dahili bir sistemden en güncel müşteri verilerini alması gerekir”

  • Asistanların işlem yapmasını sağlama:

    • bir AI asistanının, kullanıcı tercihleri ve takvim uygunluğuna göre toplantılar planlaması gerekir.

  • Asistanların hesaplama yapmasını sağlama:

    • bir matematik öğretmeni asistanının matematiksel bir hesaplama yapması gerekir.

  • Zengin iş akışları oluşturma:

    • ham metni alan, sonra bunu yapılandırılmış verilere dönüştüren ve bir veritabanına kaydeden bir veri çıkarma işlem hattı.

Fonksiyon çağrısı; daha önce Chat Completions API ve Assistants API arasında bölünmüş olan yetenekleri birleştiren Responses API'de desteklenir.

JSON modunu nasıl kullanabilirim?

JSON modu açıldığında, uygun şekilde tespit edip ele almanız gereken bazı uç durumlar dışında modelin çıktısının geçerli JSON olması sağlanır.

Responses API veya Chat Completions API ile JSON modunu istemek için, desteklenen modellerde response_format değerini { "type": "json_object" } olarak ayarlayabilirsiniz; ancak bu yalnızca model/mesaj/araç önkoşulları sağlandığında çalışır (örneğin model json_object destekliyorsa, konuşma JSON üretme talimatı içeriyorsa ve araç kısıtları uyumluysa). response_format: {"type": "json_object"} ile JSON modunda, en az bir istek mesajı JSON, json veya Json gibi bir biçimde json içermelidir; aksi takdirde API hata döndürür. Uyumlu modellerde/yollarda fonksiyon çağrısı kullanıldığında, JSON kısıtları fonksiyon çağrısı argümanlarına otomatik olarak uygulanır; uyumsuz model veya araç/yanıt-biçimi kombinasyonları reddedilebilir ya da JSON kısıtlı örnekleme kullanmayabilir.

Önemli notlar:

  • JSON modunu kullanırken, konuşmadaki bir mesaj aracılığıyla, örneğin sistem mesajınızda, modele her zaman JSON üretmesini açıkça söylemelisiniz. JSON oluşturma yönünde açık bir talimat eklemezseniz, model sonsuz bir boşluk akışı üretebilir ve istek token sınırına ulaşana kadar çalışmayı sürdürebilir. Unutmamanıza yardımcı olmak için JSON modu, ilgili girdi mesajları veya talimatlar büyük/küçük harfe duyarsız olarak bir biçimde json sözcüğünü içermedikçe istekleri reddeder.

  • JSON modu, çıktının belirli bir şemayla eşleşeceğini garanti etmez; yalnızca geçerli olacağını ve hatasız ayrıştırılacağını garanti eder. Çıktının şemanızla eşleşmesini sağlamak için Yapılandırılmış Çıktılar kullanmalısınız; bu mümkün değilse, çıktının istediğiniz şemayla eşleştiğinden emin olmak için bir doğrulama kitaplığı ve gerekirse yeniden denemeler kullanmalısınız.

  • Uygulamanız, model çıktısının tam bir JSON nesnesi olmamasına yol açabilecek uç durumları tespit etmeli ve ele almalıdır (aşağıya bakın)

Bu makale yararlı oldu mu?