Aracılığıyla paylaş


OpenAI işlev çağrılarını anlama

İşlev çağrısı , JSON kullanarak istemlerde işlevleri ve bağımsız değişkenlerini açıklamanızı sağlayan bir OpenAI modeli özelliğidir. Model, işlevin kendisini çağırmak yerine hangi işlevlerin çağrılması gerektiğini ve kullanılacak bağımsız değişkenleri açıklayan bir JSON çıkışı döndürür.

İşlev çağrısı, dış araçları yapay zeka modelinize bağlamanızı kolaylaştırır. İlk olarak, her aracın işlevlerini modele tanımlarsınız. Ardından model, istem sorusuna göre hangi işlevlerin çağrılacağı konusunda karar verir. Model, daha doğru ve tutarlı bir yanıt oluşturmak için işlev çağrısı sonuçlarını kullanır.

İşlev çağrısı için olası kullanım örnekleri şunlardır:

  • Dış API'leri çağırarak, örneğin e-posta göndererek veya hava durumu tahminini alarak soruları yanıtlama.
  • Bir iç veri deposundan gelen bilgilerle soruları yanıtlama; örneğin, "En çok satan ürünlerim nelerdir?" şeklinde yanıt vermek için satış verilerini toplama.
  • Metin bilgilerinden yapılandırılmış veriler oluşturma, örneğin sohbet geçmişinden ayrıntıları içeren bir kullanıcı bilgisi nesnesi oluşturma.

OpenAI ile çağrı işlevleri

OpenAI modeliyle işlevleri çağırmak için genel adımlar şunlardır:

  1. Kullanıcının sorusunu, parametrelerde toolstanımlanan işlevlerle bir istek olarak gönderin.
  2. Model, varsa hangi işlevlerin çağrılacağına karar verir. Çıkış, işlev çağrılarını ve bağımsız değişkenlerini listeleyen bir JSON nesnesi içerir.

    Not

    Model ek argümanlar üretebilir.

  3. Çıktıyı ayrıştırın ve istenen işlevleri belirtilen bağımsız değişkenleriyle çağırın.
  4. İşlev sonuçlarının yeni ileti olarak dahil olduğu başka bir istek gönderin.
  5. Model, daha fazla işlev çağrısı isteğiyle veya kullanıcının sorusuna bir yanıtla yanıt verir.
    • Model yanıt verene kadar istenen işlev çağrılarını çağırmaya devam edin.

parametresini işlevin adına ayarlayarak tool_choice modeli belirli bir işlev istemeye zorlayabilirsiniz. Parametreyi tool_choice'a ayarlayarak "none" modeli kullanıcı için bir iletiyle yanıt vermeye zorlayabilirsiniz.

İşlevleri paralel olarak çağırma

Bazı modeller, modelin tek bir çıkışta birden çok işlev çağrısı istemesini sağlayan paralel işlev çağrısını destekler. Her işlev çağrısının sonuçları, modele geri dönerek tek bir yanıtta bir araya getirilir. Paralel işlev çağrısı, yanıt oluşturmak için gereken API isteklerinin sayısını ve süresini azaltır. Her işlev sonucu, işlev çağrısı isteğinin id ile eşleşen tool_call_id olarak konuşmaya yeni bir ileti olarak eklenir.

Desteklenen modeller

Tüm OpenAI modelleri işlev çağrısını destekleyecek şekilde eğitilmemiş. İşlev çağrısını veya paralel işlev çağrısını destekleyen modellerin listesi için bkz . OpenAI - Desteklenen Modeller.

Anlam Çekirdeği SDK'sı ile işlev çağrısı

Semantic Kernel SDK, yapay zekanıza hangi işlevlerin mevcut olduğunu dekoratörKernelFunction kullanarak tanımlamanızı destekler.

Çekirdek, dekoratörlerinize göre bir isteğin parametresini oluşturur tools , istenen işlev çağrılarını kodunuzla düzenler ve sonuçları modele geri döndürür.

Belirteç sayıları

İşlev açıklamaları, modele yönelik isteğinizin sistem iletisine eklenir. Bu işlev açıklamaları modelinizin belirteç sınırına göre sayılır ve isteğin maliyetine dahil edilir.

İsteğiniz modelin belirteç sınırını aşarsa aşağıdaki değişiklikleri deneyin:

  • İşlev sayısını azaltın.
  • JSON'unuzda işlev ve bağımsız değişken açıklamalarını kısaltın.