Yapay Zekâ StüdyosuFunction calling şema oluşturucuAracı değiştir

Function calling şema oluşturucu

Bir aracı bir kez tanımlayın — adını, ne işe yaradığını ve neler aldığını — ve tanımı Anthropic, OpenAI, Gemini veya MCP'nin beklediği biçimde alın. Soldaki kontroller, modelin aracı doğru kullanıp kullanmayacağını belirleyenlerdir; bu, JSON'un ayrıştırılıp ayrıştırılmadığından farklı bir sorudur.

  • Biçimler: tek tanımdan 5 biçim
  • Kontroller: Adlandırma, açıklamalar, enum'lar
  • Çalışma yeri: Tamamen tarayıcınızda

Araç

Modelin çağırmaya karar vermeden önce okuduğu şey.

Parametreler

İzin verilen değerler (isteğe bağlı)
İzin verilen değerler (isteğe bağlı)pending, shipped, delivered, cancelled
İzin verilen değerler (isteğe bağlı)
İzin verilen değerler (isteğe bağlı)

İnceleme

Engelleyici bir şey yok; bunlar araç çağrılarını doğru tutan alışkanlıklardır.

Bu tanım iyi okunuyor.

Tanım

Bir Messages API isteğinin tools dizisine girer.

Sağlayıcı biçimiBu aracı göndereceğiniz API.
[
  {
    "name": "search_orders",
    "description": "Search the customer's orders by status, date or product. Use it whenever the customer asks about an order they have already placed. Do not use it to create, cancel or modify an order.",
    "input_schema": {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "description": "Free text to match against the product name or the order reference."
        },
        "status": {
          "type": "string",
          "description": "Restrict the search to orders in this state.",
          "enum": [
            "pending",
            "shipped",
            "delivered",
            "cancelled"
          ]
        },
        "limit": {
          "type": "integer",
          "description": "How many orders to return, newest first. Defaults to ten on the server."
        },
        "customer_id": {
          "type": "string",
          "description": "The customer whose orders to search."
        }
      },
      "required": [
        "customer_id"
      ]
    }
  }
]
tool.anthropic.json

Açıklama, prompt'un kendisidir

Model kodunuzu görmez; aracın adını ve açıklamasını görür ve bunlara göre karar verir. «Siparişleri ara» bir tahmindir. «Müşterinin mevcut siparişlerinde ara; sipariş oluşturmak veya iptal etmek için kullanma» bir talimattır — yanlış çağrıyı durduran da olumsuz yarısıdır.

Enum'lar serbest metni yener

String olarak tanımlanan bir durum parametresi, modeli bir değer uydurmaya davet eder. Aynı parametre dört izinli değerle yanlış doldurulamaz ve sizin tarafınızda şemanın ötesinde doğrulama gerektirmez.

Zarf neden farklı

JSON Schema her yerde aynıdır; yalnızca sarmalayıcı değişir — Anthropic için input_schema, OpenAI ve Gemini için parameters, MCP için inputSchema. Bunu elle dört kez yazmak, bir aracın bir sağlayıcıda çalışıp bir sonrakinde sessizce başarısız olmasının yoludur.

Sıkça sorulan sorular

Anthropic, OpenAI ve Gemini'de araç tanımı arasındaki fark nedir?
Argümanlar için JSON şeması aynıdır, fark zarftadır: Anthropic'te input_schema, OpenAI'da parameters, Gemini'de functionDeclarations, MCP'de inputSchema.
Model neden yanlış aracı çağırıyor?
Çoğunlukla açıklama yüzünden. Model aracı adından ve açıklamasından seçer; belirsiz bir açıklama seçimi şansa bırakır. Aracın ne yaptığını, ne zaman kullanılacağını ve ne zaman kullanılmayacağını yazın.
Araç parametrelerinde enum kullanmalı mıyım?
Evet, değerler sınırlı olduğunda. Kapalı liste uydurma değerleri önler ve kodunuzda ek doğrulama ihtiyacını ortadan kaldırır.
Tanımı bir MCP sunucusuna aktarabilir miyim?
Evet, araç MCP biçimini tools/list'in döndürdüğü şekilde; Anthropic, OpenAI, Gemini biçimleri ve ham JSON şemasıyla birlikte verir.

Bu sayfa ne kadar faydalıydı?

Bu sayfayı ilk puanlayan siz olun