> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Yapılandırılmış Çıktılar & Araç Çağrısı

> Her modelin aynı sözleşmeyi desteklediğini varsaymadan JSON modunu, fonksiyon araçlarını ve yerel araç yollarını kullanın.

Yapılandırılmış çıktılar ve araç çağrıları, yol spesifik sözleşmelerdir. TokenLab, birkaç kamu API formatını iletir, bu nedenle en güvenli üretim modeli, her sağlayıcıya özgü araç biçimini onu sahip olduğu yolda tutmak ve model çıktısını kendi uygulamanızda doğrulamaktır.

## Yolu Seçin

| İhtiyaç                                             | Yol                                     | Bu biçimi kullanın                                 |
| --------------------------------------------------- | --------------------------------------- | -------------------------------------------------- |
| Taşınabilir JSON nesne yanıtları                    | `/v1/chat/completions`                  | `response_format: {"type": "json_object"}`         |
| OpenAI uyumlu fonksiyon çağrısı                     | `/v1/chat/completions`                  | `tools: [{ "type": "function", "function": ... }]` |
| OpenAI Yanıtları araçları                           | `/v1/responses`                         | Yanıtlar `tools`, `tool_choice` ve `text` alanları |
| Claude'a özgü araç kullanımı veya düşünme           | `/v1/messages`                          | Anthropic Messages araç şeması                     |
| Gemini fonksiyon bildirimleri veya yerleşik araçlar | `/v1beta/models/:model:generateContent` | Gemini'ye özgü `tools` ve içerik parçaları         |

Sağlayıcıya özgü yerleşik araçları farklı bir yoldan göndermeyin ve TokenLab'ın bunları sessizce çevirmesini beklemeyin.

## JSON Modu

Taşınabilir yapılandırılmış yanıtlar için, Chat Completions JSON moduyla başlayın:

```json theme={null}
{
  "model": "gpt-5.4",
  "messages": [
    {
      "role": "user",
      "content": "Şehir ve hava durumu ile bir JSON nesnesi döndür."
    }
  ],
  "response_format": { "type": "json_object" }
}
```

Chat Completions için kararlı paylaşılan doğrulama `text` ve `json_object` kabul eder. `json_schema`, `strict` ve sağlayıcıya özgü şema uygulamaları bazı yukarı akış yolları veya dönüşüm yolları için mevcut olabilir, ancak bunlar her TokenLab yolu ve modeli için genel bir vaat değildir. Bunları güvenilir hale gelmeden önce seçilen model ile doğrulayın.

Her zaman sunucunuzda döndürülen JSON'u ayrıştırın ve doğrulayın. JSON modu biçimi iyileştirir, ancak uygulama düzeyinde şema doğrulamasını değiştirmez.

## Araç Çağrısı Döngüsü

TokenLab, fonksiyonlarınızı çalıştırmaz. Uygulamanız döngüyü sahiplenir:

1. Mesajları ve araç tanımlarını gönderin.
2. `tool_calls`, `function_call`, Anthropic `tool_use` veya Gemini fonksiyon çağrı parçaları için model yanıtını okuyun.
3. Aracı kendi arka uçunuzda çalıştırın.
4. Araç sonucunu aynı yolun gerektirdiği biçimde ekleyin.
5. Model nihai bir yanıt verene kadar konuşmaya devam edin.

Bir araç döngüsü boyunca aynı yolu koruyun. Chat Completions, Yanıtlar, Mesajlar ve Gemini formatlarını tek bir konuşmada karıştırmak genellikle ince durum ve şema hataları yaratır.

## Chat Completions Örneği

```bash theme={null}
curl https://api.tokenlab.sh/v1/chat/completions \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "messages": [
      {
        "role": "user",
        "content": "Adı ve e-postayı JSON olarak çıkar. Gerekirse, müşteriyi araştır."
      }
    ],
    "response_format": { "type": "json_object" },
    "tools": [
      {
        "type": "function",
        "function": {
          "name": "lookup_customer",
          "description": "E-posta ile bir müşteriyi araştır",
          "parameters": {
            "type": "object",
            "properties": {
              "email": { "type": "string" }
            },
            "required": ["email"]
          }
        }
      }
    ]
  }'
```

## Şema Tasarımı

* Şemaları küçük ve açık tutun. Büyük iç içe geçmiş şemalar token ekler ve güvenilirliği azaltır.
* Ürününüzün devam edemeyeceği değerler için gerekli alanları tercih edin.
* UI veya arka uçta bağımlı olduğunuz kapalı setler için enum kullanın.
* Model bir biçimle zorlandığında, istemde örnekler ekleyin.
* Desteklenmeyen alan hatalarını sözleşme geri bildirimi olarak değerlendirin. Alanı kaldırın veya onu belgeleyen yerel yolu kullanın.

## Üretim Kontrol Listesi

* Yol, model, araç adlarını ve temizlenmiş şema biçimini kayıtlara alın.
* Herhangi bir yan etki oluşturmadan önce araç argümanlarını doğrulayın.
* Araç çalıştırmadan önce kendi izin kontrollerinizi uygulayın.
* Bir istemci tekrar denemesi aynı araç çağrısını tekrarlayabileceğinden, araç çalıştırmasını idempotent hale getirin.
* Araçlar tarafından döndürülen gizli bilgileri model görünür mesajlara kaydetmeyin.

## API Referansı

| Konu                     | Referans                                                             |
| ------------------------ | -------------------------------------------------------------------- |
| Çoklu Format API         | [Çoklu Format API](/tr/guides/api-formats)                           |
| Chat Tamamlaması Oluştur | [Chat Tamamlaması Oluştur](/tr/api-reference/chat/create-completion) |
| Yanıt Oluştur            | [Yanıt Oluştur](/tr/api-reference/responses/create-response)         |
| Mesaj Oluştur            | [Mesaj Oluştur](/tr/api-reference/messages/create-message)           |
| Gemini İçeriği Oluştur   | [Gemini İçeriği Oluştur](/tr/api-reference/gemini/generate-content)  |
