tag OpenAPI
JSON Schema (JSON Şema)
Bu sayfada OpenAPI (JSON Schema (JSON Şema)) etiketi ile işaretlenmiş 1 yapay zeka kavramını bulabilirsiniz.
JSON Schema, JSON verilerinin yapısını, türlerini ve kısıtlamalarını tanımlayan bir spesifikasyon standardıdır. Bir JSON belgesinin nasıl görüneceğini önceden tanımlamaya, veriyi doğrulamaya (validation) ve otomatik olarak belgelemeye olanak tanır. JSON Schema, JSON verisinin "blueprint"i (şablonu) olarak düşünülebilir. Bir JSON Schema belgesi, hangi alanların zorunlu olduğunu, her alanın türünü (string, number, boolean, array, object) ve geçerli değer aralığını tanımlar. Örneğin bir kullanıcı nesnesi için "name" alanı string ve zorunlu, "age" 0 ile 150 arasında integer, "email" regex ile doğrulanmış string olarak tanımlanabilir. Tip denetiminin yanı sıra minimum, maximum, minLength, maxLength, pattern ve enum anahtar kelimeleriyle çok katmanlı kısıtlamalar ifade edilebilir. JSON Schema, API dokümantasyonu ve doğrulamasında kritik bir rol oynamaktadır. OpenAPI Specification (Swagger), REST API'lerini tanımlarken JSON Schema'yı temel alır. Bu sayede API tanımlamasından otomatik olarak istemci SDK'ları, sunucu stub'ları ve dokümantasyon sayfaları üretilmesi mümkün olmaktadır. Kod üreteci araçlar ise OpenAPI tanımlamasından TypeScript tiplemeleri, Python Pydantic modelleri veya Java DTO sınıfları üretebilir; bu yaklaşım API'yi tek kaynak of truth olarak konumlandırır. Yapay zeka uygulamalarında JSON Schema, büyük dil modellerinin (LLM) yapılandırılmış çıktı üretmesi için zorunlu hale gelmiştir. OpenAI ve Anthropic'in function calling/tool use özelliklerinde her araç, parametrelerini JSON Schema ile tanımlar. Claude ve GPT-4'ün "structured outputs" modu da tamamen JSON Schema üzerine kuruludur; model yalnızca şemada tanımlanan alanlara sahip yanıtlar döndürür. Pydantic (Python) ve Zod (TypeScript) gibi kütüphaneler, JSON Schema doğrulamasını uygulama düzeyinde kolaylaştıran popüler araçlar arasındadır. TypeScript ekosisteminde Zod kütüphanesi, tip güvenli şema tanımını çalışma zamanı doğrulamasıyla birleştirir ve .toJSONSchema() yöntemiyle doğrudan JSON Schema çıktısı üretir. @sinclair/typebox ise TypeScript tiplerini JSON Schema olarak ifade ederek derleme ve çalışma zamanı arasındaki uyumu garantiler. Node.js tarafında AJV (Another JSON Schema Validator), JIT derleme kullanarak nanosaniye düzeyinde doğrulama performansı sunar. Sürüm tarihi açısından JSON Schema 2009'da taslak olarak başlamış; bugün Draft 2020-12 en kararlı sürüm konumundadır. Tekrar kullanılabilir alt şema tanımları ($defs), diğer şema referansları ($ref) ve şema birleşimi (allOf, anyOf, oneOf) bu standardın ileri özellikleri arasında yer alır.