LLM'ler ile Text to SQL Üretimi: En İyi Uygulamalar

28 Ekim 2026 9 dk okuma Max Richter

Yazar:

Yapay Zekâ Optimizasyonu

Profili gör

Bu sayfayı yapay zekâya sor

6 görüntülenme 6 dk okuma

LLM’ler ile SQL üretimi (text to SQL), doğal dildeki sorular ile veritabanı motorları arasındaki boşluğu doldurarak teknik olmayan ekiplerin karmaşık veri sistemlerini güvenli ve doğru bir şekilde sorgulamalarını sağlar. İş analistleri veya pazarlamacılar müşteri içgörülerine ihtiyaç duyduklarında, bir mühendislik biletini beklemek ciddi bir sürtünmeye neden olur. Büyük dil modelleri aracılığıyla sorgu yazmak bu gecikmeyi ortadan kaldırır, ancak koruyucu önlemler olmadan doğrudan üretim, üretim ortamlarında ciddi güvenlik açıklarına, sözdizimi hatalarına ve performans darboğazlarına yol açar.

Büyük Dil Modelleri Neden Ham Şemalarla Zorlanır?

Büyük dil modelleri, şirkete özgü tablo adlandırma kuralları, yabancı anahtar ilişkileri ve alana özgü kısaltmalar hakkında doğal bir anlayışa sahip değildir. Yüzlerce tablo içeren tüm bir veritabanı şemasını doğrudan bir isteme (prompt) beslemek, genellikle bağlam sınırlarını aşar ve çıktı kalitesini düşüren gürültü yaratır. user_tbl_v2 ve customer_master_staging gibi adlandırılmış tablolara sahip bir veritabanı, net bir meta veri bağlamı sağlanmadıkça standart modelleri şaşırtır. Bir text to SQL hattı tasarlarken, şema tanımını birinci sınıf bir istem mühendisliği varlığı olarak ele almak, güvenilir sorgu çıktısı için esastır.

Sütun açıklamaları, veri türleri ve birincil anahtar kısıtlamaları, modele ulaşmadan önce temiz, özlü dokümantasyon formatlarına çevrilmelidir. Örneğin, ham SQL veritabanı DUMP komutları yerine ilgili tabloların bir markdown özetini sağlamak, token tüketimini azaltır ve sözdizimi karmaşasını ortadan kaldırır. Bu bağlam katmanını kurmak, aktif bir abonelik ile iptal edilmiş bir hesap arasındaki farkı tanımlamak gibi kesin iş mantığı tanımlarını belgelemek için veri mühendisleri ve pazarlama operasyonları ekipleri arasında iş birliği gerektirir.

Doğru SQL Üretimi İçin İstemleri Nasıl Yapılandırmalısınız?

Text to SQL için istemleri yapılandırmak, katı kısıtlamaların uygulanmasını, az sayıda örnek (few-shot) kullanımını ve net çıktı biçimlendirme talimatlarını gerektirir. Bir LLM’in kodun yanında yapılandırılmamış metin üretmesine izin verirseniz, yürütme motorunuz çıktıyı temiz bir şekilde ayrıştıramaz. Güvenilir bir istem şablonu; veritabanı şeması tanımını, iş mantığı kurallarını, kullanıcı sorusunu ve beklenen çıktı bloğunu ayırır. Ortaya çıkan SQL sorgusu için kod bloklarının kullanılması, programatik çıkarımı garanti eder.

  • Sistem istemine kesin tablo şemalarını ve yabancı anahtar eşleme kurallarını dahil edin.
  • Doğal dildeki soruları doğru SQL sözdizimi ile birlikte gösteren 3 ila 5 farklı az sayıda örnek (few-shot) sağlayın.
  • PostgreSQL, Snowflake veya Google BigQuery sözdizimi gibi katı lehçe spesifikasyonlarını uygulayın.
  • Modele, konuşma dili dolguları olmadan yalnızca yürütülebilir sorguyu döndürmesi talimatını verin.

Az sayıda örnek (few-shot) ile istemde bulunmak, karmaşık birleştirmeler (joins) ve toplamalar üzerinde üretim doğruluğunu artırmak için birincil mekanizma olarak hizmet eder. Modele siparişler, satır öğeleri ve ürünleri içeren çok tablolu birleştirmelerin nasıl ele alınacağını göstermek, Kartezyen çarpımlar gibi yaygın hataları önler. Sorgu kalıpları tarih matematiği veya saat dilimi dönüşümlerini içerdiğinde, açık örnek çiftleri modeli genel sözde kod yerine veritabanına özgü doğru işlevleri kullanmaya yönlendirir.

Text to SQL İş Akışlarındaki Başlıca Güvenlik Riskleri Nelerdir?

Bir LLM’in veritabanı sorguları yazmasına izin vermek, özellikle SQL enjeksiyonu ve yetkisiz veri ifşası gibi büyük bir güvenlik açığı potansiyeli yaratır. Kötü niyetli bir kullanıcı, şema kısıtlamalarını atlamak için tasarlanmış bir istem girerse, güvenli olmayan bir hat DROP TABLE komutunu yürütebilir veya hassas kişisel bilgileri dışa aktarabilir. Üretim mimarileri, bir LLM’i asla doğrudan bir veritabanı yazma kullanıcısına bağlamamalıdır. Üretim iş akışlarında kullanılan veritabanı bağlantı dizeleri, katı sorgu zaman aşımı sınırlarına sahip salt okunur izinlere dayanmalıdır.

Sık karşılaşılan bir diğer güvenlik ihmali, yüksek ayrıcalıklı sistem tablolarını veya dahili denetim günlüklerini model bağlamına maruz bırakmaktır. Şema filtreleme, istem oluşturma sırasında yalnızca pazarlama, analitik veya müşteri başarısı tablolarının görünür olmasını sağlar. Model SQL sorgusunu oluşturduktan sonra statik bir analiz ayrıştırıcısı uygulamak, yürütmeden önce son bir doğrulama bariyeri görevi görür. Bu ayrıştırıcı, yalnızca SELECT ifadelerinin mevcut olduğunu ve yetkisiz sistem tablolarının dokunulmaz kaldığını doğrulamak için soyut sözdizimi ağacını kontrol eder.

Karmaşık İş Mantığını ve Toplamaları Nasıl Yönetebilirsiniz?

İş mantığı, veritabanı dokümantasyonundan daha hızlı gelişir ve bu da aylık tekrarlayan gelir veya aktif kullanıcı sayısı gibi metriklerde tutarsızlıklara yol açar. Farklı departmanlar temel performans göstergelerini farklı şekilde hesapladığında, LLM belirsiz istemlere dayanarak çelişkili sorgular üretecektir. Veritabanı ile text to SQL motoru arasında semantik bir katman oluşturmak, merkezi metrik hesaplamalarını tanımlayarak bu zorluğu çözer. Semantik modelleme dilleri veya görünüm tanımları gibi araçlar, ekiplerin ham işlemsel tablolar yerine önceden toplanmış görünümleri sunmasına olanak tanır.

Örneğin, modelden karmaşık pencere işlevlerine sahip beş ham tablo üzerinden müşteri yaşam boyu değerini hesaplamasını istemek yerine, modeli önceden hesaplanmış bir customer_metrics görünümüne yönlendirin. Bu, model üzerindeki bilişsel yükü azaltır ve pazarlama analitiği panellerinde tutarlı raporlama sağlar. Sorgular karmaşık pencere işlevleri veya özyinelemeli ortak tablo ifadeleri gerektirdiğinde, isteği çok adımlı bir düşünce zincirine bölmek çıktı doğruluğunu artırır.

Alien Road Müşteriler İçin Text to SQL’i Nasıl Uyguluyor?

Alien Road’da, müşteriler için üretime hazır text to SQL sistemleri oluşturmak, titiz ve çok aşamalı bir mühendislik yaklaşımını içerir. Keşif aşamasında veri ekibimiz mevcut veritabanı yapılarını denetler, yüksek değerli raporlama tablolarını tanımlar ve alana özgü metrik tanımlarını belgeler. Ham veritabanı örneklerini doğrudan açmaktan kaçınır, doğrulama ara katman yazılımı içine sarılmış güvenli, salt okunur API uç noktaları oluştururuz.

Örneğin, bir SaaS müşterisi için tipik bir çalışmada, şema güncellemelerini LLM sistem istemine otomatik olarak senkronize eden özel bir bağlam kürasyon hattı kuruyoruz. Dağıtım iş akışımız, üretilen herhangi bir SQL müşteri deposuna ulaşmadan önce otomatik bir sözdizimi doğrulayıcısı ve sorgu maliyeti tahmincisi içerir. Bu kurulum, müşteri pazarlama ekiplerinin kullanıcı tutma, kampanya ROI’si ve huni dönüşüm oranlarını anında sorgulamasına olanak tanırken, kurumsal düzeyde güvenlik ve bütçe kontrolünü korur.

Üretilen SQL Sorguları Nasıl Doğrulanır ve Test Edilir?

Text to SQL hatlarını test etmek, yüzlerce doğrulanmış doğal dil sorusundan ve bunların altın standart SQL karşılıklarından oluşan özel bir değerlendirme veri seti gerektirir. Otomatik test çerçeveleri, hem altın sorguyu hem de model tarafından üretilen sorguyu bir hazırlık veritabanında çalıştırarak, yalnızca dize sözdizimini değil, ortaya çıkan veri setlerini karşılaştırır. Bu yaklaşım, üretilen SQL’in başarıyla çalıştığı ancak hatalı birleştirme koşulları nedeniyle yanlış iş sonuçları döndürdüğü mantıksal hataları yakalar.

  • 50 ila 100 temsili iş sorgusundan oluşan bir kıyaslama test paketi oluşturun.
  • Katı dize eşleşmesi yerine yürütme çıktısı veri çerçevelerini karşılaştırın.
  • Sorgu yürütme süresini ve token tüketim metriklerini zaman içinde izleyin.
  • Düşük güven puanına sahip sorgular için insan denetimli inceleme kuyrukları oluşturun.

Başarısız sorguların sürekli izlenmesi, istem iyileştirme ve şema dokümantasyonu güncellemeleri için değerli veriler sağlar. Bir kullanıcı sözdizimi hatasına veya boş bir veri çerçevesine yol açan bir soru girdiğinde, bu etkileşimi günlüğe kaydetmek, az sayıda örnekteki (few-shot) boşlukları veya eksik meta veri tanımlarını belirlemeye yardımcı olur. Bu hata günlüklerini haftalık olarak incelemek, text to SQL sisteminin değişen iş gereksinimlerine ve yeni veri şemalarına sorunsuz bir şekilde uyum sağlamasını sağlar.

Bu Hafta Hangi Sonraki Adımları Atmalısınız?

Text to SQL uygulamanıza bu hafta tek bir raporlama veritabanını denetleyerek ve pazarlama analitiğinizle ilgili beş temel tabloyu seçerek başlayın. Şema tanımlarını markdown’da net bir şekilde belgeleyin, üç kesin az sayıda örnek (few-shot) yazın ve salt okunur bir veritabanı kullanıcısı kullanarak üretim performansını test edin. Yürütmeden önce tüm çıktıları doğrulamak için soyut bir sözdizimi ağacı ayrıştırıcısı kurun ve ekibiniz için güvenli ve güvenilir veri erişimi sağlayın.

Okumaya devam edin: Yapay Zekâ Optimizasyonu · Yapay Zekâ Optimizasyonu

Paylaş