Natural Language Database Queries with OpenClaw

How OpenClaw enables natural language database queries, translating plain English business questions into accurate SQL without exposing database credentials or query complexity.

E
ECOSIRE Research and Development Team
|19 Mart 202610 dk okuma2.1k Kelime|

OpenClaw ile Doğal Dil Veritabanı Sorgulamaları

İş kullanıcılarının verilere ihtiyacı var. Veritabanı yöneticileri sorgular yazar. Hangi soruyu soracağını bilen kişi ile cevaba nasıl ulaşacağını bilen kişi arasındaki bu boşluk, kuruluşlara çok fazla zaman kaybettiriyor ve SQL bilgisine sahip kişilerde analitik darboğazlar yoğunlaştırıyor.

Doğal dil veritabanı sorgusu (metinden SQL'e veya NL'den SQL'e de denir) bu boşluğu doldurur. OpenClaw'ın NL sorgulama yeteneği, iş kullanıcılarının SQL bilgisi, veritabanı erişim kimlik bilgileri veya bir geliştirici beklemeye gerek kalmadan düz İngilizce soru sormalarına ve veritabanlarından doğru yanıtlar almalarına olanak tanır.

Bu, birçok aracın sunduğu basit CSV üzerinden sohbet robotu deneyimi değil. Bu, karmaşık çok tablolu sorguları, toplu hesaplamaları, tarih aralığı ifadelerini ve iş terminolojisi çevirisini işleyebilen, üretim düzeyinde metinden SQL'e aktarımdır.

Önemli Çıkarımlar

  • İş kullanıcıları, SQL bilgisi olmadan düz İngilizce kullanarak üretim veritabanlarını sorgulayabilir
  • OpenClaw, doğal dili parametreli SQL'e çevirir; asla SQL'e ham kullanıcı girişi yapmaz (enjeksiyon güvenli)
  • Semantik katman yoluyla şema anlayışı, iş terminolojisini teknik veritabanı alanlarıyla eşleştirir
  • Birleştirmeler, toplamalar, CTE'ler ve pencere işlevlerini içeren karmaşık sorgular desteklenir
  • Sonuçlar, bağlam ve görselleştirmelerle birlikte iş dostu formatta döndürülür
  • Erişim kontrolü, kullanıcıların yalnızca görmeye yetkili oldukları verileri sorgulamasını sağlar
  • Sorgu önbelleğe alma, sık sorulan sorular için veritabanı yükünü ve yanıt süresini azaltır
  • Odoo, PostgreSQL, MySQL, SQL Server, BigQuery ve Snowflake ile entegrasyon yereldir

Doğal Dilden SQL'e Çeviri Sorunu

Doğal dili SQL'e çevirmek aldatıcı derecede zordur. Görünen basitlik - "sadece bir soru sorun, yanıt alın" - uygulamanın üretimde kullanılabilir mi yoksa sinir bozucu bir demo mu olduğunu belirleyen birkaç zorlu sorunu gizliyor.

Sorun 1: Terminoloji eşleme. İş kullanıcıları "gelir" diyor; ancak bu invoice_total alanı mı, order_amount alanı mı yoksa payment_received alanı mı? "Müşteriler", accounts tablosu, contacts tablosu veya her ikisini de birleştiren bir görünüm anlamına gelebilir. İş terminolojisini teknik şemayla eşleştiren anlamsal bir katman olmadan Yüksek Lisans'ın tahminde bulunması gerekir ve sıklıkla yanlış tahminde bulunur.

Sorun 2: Şema karmaşıklığı. Kurumsal veritabanlarında yüzlerce veya binlerce tablo bulunur. "Bu çeyrekte bölgelere göre satış performansı" ile ilgili bir soru 6-8 masaya katılmayı gerektirebilir. LLM'nin doğru birleştirmeyi oluşturmak için yeterli şema içeriğine ihtiyacı vardır, ancak şemanın tamamını her istemde göndermek verimsiz ve pahalıdır.

Sorun 3: Belirsizlik çözümü. "Bana en iyi müşterileri göster" — hangi ölçüme göre en üstte? Hangi zaman dilimi? "En üst" için bir eşik var mı? Belirsizliği ele almayan doğal dil sorgulama sistemleri ya tahminde bulunur (ve çoğu zaman yanlıştır) ya da açıklama ister (kullanıcılar bunu sinir bozucu bulur).

Sorun 4: Doğruluğun doğrulanması. Oluşturulan SQL'in doğruluğuna yalnızca güvenemezsiniz. Doğrulamaya ihtiyacı var; sözdizimsel doğrulama (çalışacak mı?), anlamsal doğrulama (amaçlanan soruyu yanıtlıyor mu?) ve sonuç doğrulama (sonuçlar makul görünüyor mu?).

Sorun 5: Güvenlik. Doğal dil girişi doğrudan veritabanına aktarılamıyor. Oluşturulan SQL'in yürütmeden önce parametrelendirilmesi, doğrulanması ve erişim denetiminin yapılması gerekir. Aksi takdirde, "bana satışları göster, burada isim = '; DROP TABLE satışları;'" diye soran bir kullanıcı ciddi zarara neden olabilir.

OpenClaw'ın NL sorgu mimarisi beş sorunun tamamını giderir.


Mimari: OpenClaw NL Sorguları Nasıl Çalışır?

Anlamsal Katman

Anlamsal katman, üretim kalitesinde NL sorgularının temelidir. Aracının kullanıcı dilini veritabanı nesnelerine çevirmek için kullandığı iş konseptlerinizin yapılandırılmış bir tanımıdır.

Anlamsal katman bileşenleri:

İş kavramı tanımları: "Gelir" = SUM(invoice_lines.unit_price * invoice_lines.quantity) WHERE invoice.state = 'posted'. "Etkin müşteriler" = accounts WHERE account_type = 'customer' AND last_transaction_date > NOW() - INTERVAL '12 months'.

Terminoloji takma adları: Birden fazla terimi aynı konseptle eşleştirin. "Gelir", "satışlar", "ciro", "gelir" öğelerinin tümü gelir hesaplamasıyla eşleşir. "Müşteri", "müşteri", "hesap", "alıcı" öğelerinin tümü hesaplar tablosuyla eşlenir.

İlişki tanımları: Tabloların nasıl ilişki kurduğunu ve hangi birleştirmelerin hangi sorular için doğru olduğunu belgeleyin. "Müşteriye satılan ürünler", siparişler ve sipariş satırları arasında belirli bir birleştirme yolu gerektirir; bunu anlamsal katmanda bir kez belgeleyin.

Metrik tanımları: Hesaplanan metrikleri (brüt kar yüzdesi, müşteri edinme maliyeti, bekleyen satış günleri) kesin formülleriyle önceden tanımlayın. Kullanıcılar bu metrikleri adlarına göre isteyebilir.

Erişim kontrolü tanımları: Hangi kullanıcı rollerinin hangi tablolara, sütunlara ve satır alt kümelerine erişebileceğini tanımlayın. Bölge satış yöneticisi yalnızca kendi bölgesinin verilerini sorgulayabilir.

Sorgu Oluşturma İşlem Hattı

Bir kullanıcı bir doğal dil sorusu gönderdiğinde, OpenClaw bunu çok adımlı bir işlem hattı aracılığıyla işler:

1. Adım — Amaç sınıflandırması: Soru türünü sınıflandırın (arama, toplama, eğilim analizi, karşılaştırma, sıralama) ve ilgili birincil varlıkları tanımlayın.

2. Adım — Varlık çıkarma: Soruda bahsedilen ticari varlıkları (ürünler, müşteriler, zaman dilimleri, coğrafyalar) tanımlayın ve bunları anlamsal katman kavramlarıyla eşleştirin.

3. Adım — Belirsizlik tespiti: Belirsiz terimleri tanımlayın ve bunları bağlamı (önceki konuşma dönüşleri, kullanıcı profili) kullanarak çözün veya açıklayıcı bir soru oluşturun.

4. Adım — Şema seçimi: Soruyu yanıtlamak için gereken veritabanı şemasının ilgili alt kümesini seçin. Bu, LLM bağlamının alakasız şemalarla aşırı yüklenmesini önler.

5. Adım — SQL oluşturma: Çözülmüş varlıkları, anlamsal katman eşlemelerini ve seçilen şemayı kullanarak SQL oluşturun. Çıktı parametreli SQL'dir, asla dize enterpolasyonu yapılmaz.

6. Adım — Doğrulama: Oluşturulan SQL'i sözdizimsel olarak doğrulayın. Semantik olarak soruyu ele aldığını doğrulayın. Beklenmeyen sonuçlar döndürecek sorguları tespit etmek için satır sayısı tahminlerini kontrol edin.

7. Adım — Erişim kontrolünün uygulanması: Sorgulayan kullanıcının, başvurulan tüm tablo ve sütunlara okuma erişimine sahip olduğunu doğrulayın. Kullanıcının erişim profiline göre otomatik olarak satır düzeyinde güvenlik filtreleri ekleyin.

8. Adım — Yürütme ve sonuç biçimlendirme: Doğrulanmış sorguyu yürütün. Sonuçları iş açısından okunabilirlik için biçimlendirin: insan tarafından okunabilen sütun adları, uygun sayı biçimlendirmesi, tarih biçimlendirmesi ve sayıların ne anlama geldiğiyle ilgili bağlam.

9. Adım — Doğal dil yanıtı: Sonuçların doğal dil özetini oluşturun. "1. çeyrek geliriniz, geçen yılın 1. çeyreğine göre %23 artışla 4,2 milyon dolar oldu. Büyüme esas olarak Kurumsal segmentten (+%41) kaynaklandı."


Sorgu Karmaşıklığı Destekleniyor

OpenClaw'ın NL sorgu yeteneği tüm SQL karmaşıklık yelpazesini yönetir:

Basit aramalar:

  • "Ürün SKU-1234'ün güncel fiyatı nedir?"
  • "Bana Acme Corp'un iletişim bilgilerini göster"

Toplamalar:

  • "Geçen çeyrekte ürün kategorisine göre toplam gelir neydi?"
  • "Bu yıl her ay kaç yeni müşteri kazandık?"

Çoklu tablo birleştirmeleri:

  • "Son 6 ayda A Ürününü satın alıp B Ürününü satın almayan hangi müşteriler?"
  • "Müşterinin kredi limitinin fatura tutarından az olduğu tüm açık faturaları göster"

Zaman serisi analizi:

  • "3 aylık hareketli ortalamayla son 24 ayın aylık gelirini göster"
  • "Satış performansını 2024'ün ilk çeyreği ile 2025'in ilk çeyreği arasında satış temsilcisine göre karşılaştırın"

Sıralamalar ve ilk N sorgular:

  • "Bana yaşam boyu değere göre ilk 20 müşteriyi göster"
  • "Hangi 10 üründe iade oranı en yüksek?"

Kohort analizi:

  • "2024'ün ilk çeyreğinde edinilen müşterilerin yüzde kaçı bugün hala aktif?"
  • "Farklı kanallardan elde edilen müşteriler için ortalama müşteri yaşam boyu değeri nedir?"

Karmaşık iş soruları:

  • "Sipariş sıklığındaki düşüşe bağlı olarak hangi müşteriler kaybetme riskiyle karşı karşıya?"
  • "Hangi ürün kombinasyonları sıklıkla birlikte satın alınır?"

Ticari Kullanıcı Deneyimi

İş kullanıcısı deneyimi bilinçli olarak basittir. Kullanıcılar, mevcut araçlarındaki bir sohbet arayüzü veya yerleşik sorgu widget'ı aracılığıyla etkileşime girer.

Konuşma arayüzü:

Kullanıcı: "Satış personelinin bu çeyrekteki gelirini kotalarıyla karşılaştırmalı olarak göster"

Temsilci: "İşte satış elemanının 2026'nın ilk çeyreği için kotaya ulaşması:

Satış elemanıGelirKotaKazanım
Sarah Chen847.200 $800.000$%105,9
James Wilson721.500 $850.000$%84,9
Maria Garcia912.300 $900.000$%101,4

Sarah ve Maria doğru yoldalar. James, 3 hafta kala kotanın 128.500$ gerisinde kaldı. Aradaki farkı kapatıp kapatamayacağını değerlendirmek için James'in boru hattını görmek ister misiniz?"

Takip soruları: Kullanıcılar bağlam içinde takip soruları sorabilir. "James'in son aşamada hangi anlaşmaları var?" - temsilci "James"in önceki konuşmadaki James Wilson'a atıfta bulunduğunu anlıyor.

Açıklama: Kullanıcılar "neden?" diye sorabilir. veya "bunu nasıl hesapladınız?" temsilci hesaplamayı açıklar ve temel verileri gösterir.

Görselleştirme: Trend verileri için temsilci, tablonun yanında bir grafik oluşturur. Kullanıcılar belirli grafik türlerini talep edebilir: "bunu bana çubuk grafik olarak göster" veya "bunu zaman içinde çiz".


Güvenlik Mimarisi

Üretim veritabanlarına erişen hiçbir sistem için güvenlik tartışılamaz. OpenClaw'ın NL sorgu güvenlik modeli:

Salt okunur bağlantılar: Sorgu bağlantısı salt okunur veritabanı izinlerine sahiptir. Aracının NL sorgu arayüzü aracılığıyla verileri değiştirmesi yapısal olarak imkansızdır.

Parametreli sorgular: Aracı tarafından oluşturulan tüm SQL parametrelidir; kullanıcı tarafından sağlanan değerler hiçbir zaman SQL dizelerinde birleştirilmez. Bu, mimari düzeyde SQL enjeksiyon riskini ortadan kaldırır.

Satır düzeyinde güvenlik: Erişim politikaları, sorgu oluşturma sırasında uygulanır. Bölgesel bir satış müdürü tüm sorgulara otomatik olarak WHERE region = 'North' eklenir. Bir müşteri hizmetleri temsilcisi yalnızca kendisine atanmış hesapları görebilir.

Sütun düzeyinde erişim kontrolü: Hassas sütunlar (maaş bilgileri, SSN'ler, ödeme kartı verileri), uygun erişimi olmayan roller için sorgulanabilir şemanın dışında bırakılır.

Sorgu doğrulaması: Yürütmeden önce oluşturulan her sorgu, aşağıdakileri kontrol eden bir güvenlik doğrulama adımından geçer: yetkisiz tablo referansları, kısıtlanmış sütunlara erişim girişimleri, şüpheli sorgu modelleri ve sorgu karmaşıklığı sınırları (sorguların kazara veya kasıtlı olarak tükenmesini önler).

Denetim günlüğü: Her sorgu, bunu kimin sorduğu, ne zaman ve hangi verilerin döndürüldüğü günlüğe kaydedilir. Bu, uyumluluk raporlamasını ve içeriden tehdit tespitini destekler.


İş Sistemleriyle Entegrasyon

Odoo ERP: OpenClaw, Odoo'nun veri modeliyle derin bir entegrasyona sahiptir. İş terminolojisi otomatik olarak Odoo'nun şemasıyla eşleşir - "satış siparişleri", "satıcı faturaları", "üretim siparişleri", "envanter hareketleri" hepsi uygun Odoo tablolarına doğru şekilde çözümlenir.

PostgreSQL ve MySQL: Tam şema iç gözlemiyle doğrudan bağlantı. Anlamsal katman, uygulama sırasında iş terminolojisini belirli bir şemayla eşleyecek şekilde yapılandırılır.

Analitik veritabanları: Snowflake, BigQuery, Redshift ve Databricks, analitik verileri bir veri ambarında merkezileştiren kuruluşlar için desteklenir. Bu ortamlar, üretim veritabanları için uygun olmayan karmaşık analitik sorguları (büyük ölçekli toplamalar, geçmiş eğilim analizi) yönetir.

SQL Server ve Oracle: Microsoft veya Oracle veri platformlarını çalıştıran kuruluşlar için desteklenir.

Birden çok veritabanı: Aracı, birden çok veritabanındaki sorguları birleştirebilir; CRM (Salesforce) ve ERP'den (Odoo) alınan verilerin bir veri ambarına ihtiyaç duymadan birleştirilmesini gerektiren soruları yanıtlayabilir.


Uygulama: Semantik Katmanı Oluşturmak

Anlamsal katman, NL sorgu kalitesi için en önemli uygulama yapısıdır. ECOSIRE anlamsal katmanı yapılandırılmış bir süreç aracılığıyla oluşturur:

1-2. Hafta: Keşif

  • Sık sorulan soruları toplamak için iş kullanıcılarıyla röportaj yapın
  • Veritabanı şemasını teknik personel ile denetleyin
  • Terminoloji çatışmalarını ve belirsizliklerini belirleyin
  • En yaygın 50 iş sorusuna öncelik verin

2-4. Hafta: Anlamsal katman oluşturma

  • İş konsepti eşlemelerini tanımlayın
  • Kesin formüllerle metrik tanımları yazın
  • Birleştirme ilişkilerini belgeleyin
  • Erişim kontrolü politikalarını yapılandırın

4-6. Hafta: Test ve kalibrasyon

  • 50 öncelikli soruyu anlamsal katmana göre test edin
  • Uyuşmazlıkları belirleyin ve anlam katmanını iyileştirin
  • Testi uç durumları kapsayan 200 soruya genişletin
  • Açıklama soruları için güven eşiklerini ayarlayın

6-8. Hafta: Kullanıcı kabul testi

  • Bir pilot kullanıcı grubuna dağıtın
  • Soru işleme doğruluğu hakkında geri bildirim toplayın
  • Gerçek kullanıcı sorgularından anlamsal katmana terminoloji ekleyin
  • Soru cevap doğruluk oranını ölçün

Sıkça Sorulan Sorular

Doğal dilin pratikte SQL çevirisine uygunluğu ne kadar doğrudur?

Yapılandırılmış semantik katman kapsamındaki sorular için doğruluk, standart iş sorularında genellikle %88-95'e ulaşır. Oldukça karmaşık, çok adımlı analitik sorular ve semantik katman tarafından kapsanmayan şema alanlarıyla ilgili sorular için doğruluk daha düşüktür. Anlamsal katmanı iyileştirmek için gerçek kullanıcı soruları kullanıldıkça doğruluk ilk 2-3 ayda artar.

Aracı, doğrudan bir geliştirici tarafından çalıştırılabilecek SQL oluşturabilir mi?

Evet. Aracı, isteğe bağlı olarak oluşturulan SQL'i, onu görmek, kopyalamak veya kendileri değiştirmek isteyen kullanıcılara gösterebilir. Bu, oluşturulan bir sorgudan başlayıp onu daha da özelleştirmek isteyen veri analistleri için özellikle değerlidir. Arayüz doğal dili, oluşturulan SQL'i ve sonuçları bir arada gösterir.

Temsilci bir soruyu anlamadığında veya soru belirsiz olduğunda ne olur?

Temsilci tahmin etmek yerine açıklayıcı bir soru sorar. Örneğin, "'Gelir' derken, faturalanmış geliri mi (ödenmemiş faturalar dahil) yoksa toplanan geliri mi (alınan ödemeler) kastediyorsunuz?" Açıklama soruları minimumda tutulur; temsilci, belirsiz durumları otomatik olarak çözer ve yalnızca ayrımın yanıtı gerçekten etkilediğinde sorar.

Gerçek zamanlı olarak yanıtlanamayacak kadar yoğun kaynak gerektiren soruları nasıl ele alırız?

Aracı, yürütmeden önce sorgu maliyetini tahmin eder. Büyük tabloları tarayacak veya pahalı işlemler gerçekleştirecek sorular ya analitik veritabanına (varsa) yönlendirilir, sonuçların eşzamansız olarak iletildiği arka plan işleri olarak planlanır veya kullanıcıya yürütme süresi ve gerekli onay hakkında bir uyarı ile sunulur.

Teknik bilgisi olmayan işletme kullanıcıları bu özelliği kullanarak rapor oluşturabilir mi?

Evet. NL sorgu arayüzü, sonuçları Excel'e aktarabilir, statik raporlar oluşturabilir ve belirli bir zamanlamaya göre yenilenen kayıtlı sorgular oluşturabilir. İş kullanıcıları, geliştirici yardımı olmadan doğal dil sorgularından kişisel raporlar oluşturabilir. Kaydedilen sorgular diğer kullanıcılarla paylaşılarak yavaş yavaş ekibin başvurabileceği ortak sorgulardan oluşan bir kitaplık oluşturulabilir.

Hangi veritabanları desteklenmiyor?

Standart SQL arayüzleri olmayan özel veya kapalı veritabanları (bazı NoSQL veritabanları, özel veri depoları), entegrasyon için ek geliştirme gerektirebilir. Belge veritabanları (MongoDB) ve anahtar-değer depoları (Redis), ilişkisel veritabanlarından farklı yaklaşımlar gerektirir. Bu durumlar için ECOSIRE, SQL yerine uygun sorgu dilini çeviren özel bir entegrasyon tasarlar.


Sonraki Adımlar

Doğal dil veritabanı sorguları, iş analitiğindeki en kalıcı darboğazlardan birini, yani soruları olan kişiler ile sorgu yazabilen kişiler arasındaki boşluğu ortadan kaldırır. OpenClaw'ın güçlü bir semantik katmanla düzgün bir şekilde uygulanan NL sorgu yeteneği, her iş kullanıcısının verilerine doğrudan erişmesini sağlar.

NL sorgu yeteneği ve diğer özel Beceri seçenekleri hakkında bilgi edinmek için OpenClaw Özel Becerilerini Keşfedin veya OpenClaw'ın belirli veri şemanız ve iş sorularınızla nasıl eşleşeceğini görmek için bir veritabanı değerlendirmesi planlayın.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

WhatsApp'ta Sohbet Et