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 oluşturmak 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 ayarlayarak bunu açtığınızda, 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 Şeması 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 kodunuzu yapıştırıp geçerli bir fonksiyon şeması oluşturmasına olanak tanıyan “Her Şeyi Üret” özelliğini kullanıma sunduk. “Her Şeyi Üret” hakkında daha fazla bilgiyi buradaki yardım merkezi makalesinde bulabilirsiniz.
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:
Asistanların eylem gerçekleştirmesini sağlama:
Asistanların hesaplama yapmasını sağlama:
Zengin iş akışları oluşturma:
ham metni alan, ardından bunu yapılandırılmış veriye dönüştüren ve bir veritabanına kaydeden bir veri çıkarma işlem hattı.
Fonksiyon çağrısı, daha önce Sohbet Tamamlama API'si ve Assistants API arasında bölünmüş olan yetenekleri birleştiren Responses API tarafından desteklenir.
JSON modunu nasıl kullanabilirim?
JSON modu açıldığında, uygun şekilde tespit edip işlemeniz gereken bazı uç durumlar dışında modelin çıktısının geçerli JSON olması sağlanır.
Sohbet tamamlama API'si ile JSON modu istemek için, desteklenen modellerde response_format değerini { "type": "json_object" } olarak ayarlayın. Responses API ile, uygulanabilir olduğu yerlerde text.format değerini { "type": "json_object" } olarak ayarlayın; örneğin text: { "format": { "type": "json_object" } }. Her iki API'de de JSON modu yalnızca model/mesaj/araç ön koşulları karşılandığında çalışır (örneğin, model json_object destekler, konuşma JSON üretmeye yönelik talimatlar içerir ve tüm araç kısıtlamaları uyumludur). Etkin giriş bağlamındaki en az bir istek mesajı veya giriş mesajı, büyük/küçük harfe duyarsız biçimde JSON, json veya Json gibi json içermelidir; aksi takdirde API hata döndürür. Responses'ta, üst düzey instructions alanı tek başına bu doğrulamayı karşılamaz. Uyumlu modellerde/yollarda fonksiyon çağrısı kullanıldığında, JSON kısıtlamaları fonksiyon çağrısı argümanlarına otomatik olarak uygulanır; uyumsuz modeller veya araç/yanıt biçimi kombinasyonları reddedilebilir ya da JSON kısıtlı örnekleme kullanmayabilir.
Önemli notlar:
JSON modunu kullanırken, modele konuşmadaki bir mesaj aracılığıyla, örneğin sistem mesajınız üzerinden, JSON üretmesi için her zaman talimat vermelisiniz. JSON oluşturmak için açık bir talimat eklemezseniz, model bitmeyen bir boşluk akışı üretebilir ve istek token sınırına ulaşana kadar sürekli çalışabilir. Unutmamanızı sağlamaya yardımcı olmak için JSON modu, ilgili giriş mesajları veya talimatları büyük/küçük harfe duyarsız olarak herhangi bir biçimde
jsonsö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 olduğunu ve hatasız ayrıştırıldığını garanti eder. Şemanızla eşleştiğinden emin olmak 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şmesini sağlamak 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 edip işlemelidir (aşağıya bakın)
