YAML » temel olarak konfigürasyon ve veri tutmak için tasarlanmış, tüm programlama dilleri tarafından kullanılabilen, XML ve JSON' dan daha okunaklı bir veri formatıdır.
.yaml (veya .yml), bilgisayar yazılımlarında ve yapay zeka projelerinde verileri düzenli, okunabilir ve yapılandırılmış bir şekilde saklamak için kullanılan bir konfigürasyon (ayar) dosyası formatıdır.
Örneğin, bir nesne tespiti projesinde (örneğin YOLO modellerinde) kullanılan tipik bir data.yaml dosyası şöyle görünür:
# Veri seti yolları
path: /datasets/bitki_tespiti # Kök dizin
train: images/train # Eğitim görsellerinin yolu
val: images/val # Doğrulama görsellerinin yolu
test: images/test # Test görsellerinin yolu
# Sınıf (Class) Bilgileri
nc: 3 # Sınıf sayısı (Number of Classes)
names: ['yaprak', 'sap', 'tohum'] # Sınıf isimleri
YAML Dosyaları Nerelerde Karşımıza Çıkar?
YAML, sade ve okunabilir yapısı sayesinde günümüzde yazılım dünyasının birçok farklı alanında konfigürasyon (ayar) dosyası olarak kullanılır:
-
Yapay Zeka ve Makine Öğrenmesi (AI/ML):
Model eğitimi sırasında veri seti yollarını (
train,val), sınıf isimlerini ve hiperparametreleri tanımlamak için kullanılır. (Örn: Ultralytics YOLO'dakidata.yamldosyaları) -
Konteynerleştirme ve Sunucu Yönetimi (DevOps):
Birden fazla Docker konteynerini aynı anda çalıştırmak ve yapılandırmak için tercih edilir.
(Örn:
docker-compose.yml) - Kubernetese (K8s) Yapılandırmaları: Bulut altyapılarında servislerin, dağıtımların (deployments) ve küme ayarlarının tanımlanmasında standart olarak kullanılır.
-
CI/CD Süreçleri ve Otomasyon:
Yazılımın otomatik test edilmesi ve yayına alınması süreçlerini tanımlamak için kullanılır.
(Örn: GitHub Actions workflow dosyaları
.github/workflows/main.yml) - Web Framework ve Uygulama Ayarları: Birçok modern framework (Spring Boot, Symfony, Ruby on Rails vb.) veritabanı bağlantıları veya ortam değişkenlerini saklamak için YAML formatını destekler.

