Çerez kullanıyoruz. Çerezler ve tarayıcı depolaması oturumunu açık tutar ve tercihlerini hatırlar. İzin verirsen sitenin nasıl kullanıldığını da ölçeriz. İstediğin zaman . Ayrıntılar için çerez politikamıza bak.

Tool calling

Uç noktalar

Tool calling

Modelin kodunuza bir fonksiyon çalıştırtmasını ve sonucu yanıtında kullanmasını sağlayın; tools parametreleri, tool_calls döngüsü ve streaming ipuçları.

Playground’da dene

Tool calling (function calling), modelin kodunuzdan bir fonksiyon çalıştırmasını istemesini ve sonucu yanıtında kullanmasını sağlar. api14, araçları destekleyen her model için OpenAI tools formatını kullanır: OpenAI, Anthropic, Google, Mistral, Qwen, DeepSeek ve diğerleri. Araç destekli modelleri bulmak için Modeller listesinde desteklenen parametrelere göre filtreleyin (supported_parameters içinde tools bulunur).

İstek parametreleri

ParametreTürAçıklama
toolsarray[{ "type": "function", "function": { "name", "description", "parameters" } }]; parameters bir JSON Schema'dır.
tool_choicestring | object"auto" (varsayılan), "none", "required" veya { "type": "function", "function": { "name": "get_weather" } }.
parallel_tool_callsbooleanTek turda birden çok araç çağrısına izin verir (desteklenen yerlerde varsayılan true).
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api14.com/api/v1",
  apiKey: process.env.API14_API_KEY,
});

const result = await client.chat.completions.create({
  "model": "openai/gpt-5-mini",
  "messages": [
    {
      "role": "user",
      "content": "What is the weather in Istanbul?"
    }
  ],
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get the current weather",
        "parameters": {
          "type": "object",
          "properties": {
            "city": {
              "type": "string"
            }
          },
          "required": [
            "city"
          ]
        }
      }
    }
  ]
});
console.log(result.choices[0].message.tool_calls);

Döngü

  1. messages ve tools gönderin.
  2. Yanıtta finish_reason: "tool_calls" varsa message.tool_calls içindeki her girdiyi çalıştırın.
  3. Asistan mesajını ekleyin, ardından her çağrı için bir { "role": "tool", "tool_call_id", "content" } mesajı ekleyip isteği tekrar gönderin.
  4. Model düz içerikle yanıt verene kadar tekrarlayın.

Araç çağrısı içeren yanıt:

{
  "id": "gen-1760000000-tool1",
  "model": "anthropic/claude-sonnet-4.5",
  "choices": [
    {
      "index": 0,
      "finish_reason": "tool_calls",
      "message": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "id": "call_01",
            "type": "function",
            "function": { "name": "get_weather", "arguments": "{\"city\":\"Istanbul\"}" }
          }
        ]
      }
    }
  ],
  "usage": { "prompt_tokens": 182, "completion_tokens": 21, "total_tokens": 203, "cost": 0.000861 }
}

Devam isteği, araç sonucunu içerir:

{
  "model": "anthropic/claude-sonnet-4.5",
  "tools": [ ... same tools ... ],
  "messages": [
    { "role": "user", "content": "What's the weather in Istanbul?" },
    { "role": "assistant", "content": null, "tool_calls": [ { "id": "call_01", "type": "function", "function": { "name": "get_weather", "arguments": "{\"city\":\"Istanbul\"}" } } ] },
    { "role": "tool", "tool_call_id": "call_01", "content": "{\"temp_c\": 21, \"sky\": \"clear\"}" }
  ]
}

Döngüdeki her istekte tools göndermeye devam edin. Birçok sağlayıcı, istekte tools tanımları yoksa bir tool mesajını reddeder.

İpuçları

  • arguments, JSON içeren bir dizedir. Modeller geçersiz JSON üretebileceği için ayrıştırın ve doğrulayın.
  • Stream sırasında araç çağrıları index ile anahtarlanan delta.tool_calls parçaları olarak gelir. Ayrıştırmadan önce arguments dizelerini birleştirin.
  • Yalnızca araçları destekleyen sağlayıcılara yönlendirmek için provider: { "require_parameters": true } ayarlayın. Bkz. Sağlayıcı yönlendirme.
  • Döngünün her yinelemesi ayrı bir faturalandırılan istektir.

Hatalar

Araçları desteklemeyen bir model, sağlayıcı kaynaklı bir 400 veya 404 ("No endpoints found that support tool use") döndürebilir. Diğer hatalar Chat completions ile aynıdır. Bkz. Hatalar.