Vanna.ai: SQL Veritabanlarıyla Konuşmak
(github.com/vanna-ai)- RAG (Retrieval-Augmented Generation) uygulayan bir LLM ile doğru Text-To-SQL üreten açık kaynaklı bir araç
Vanna Nasıl Çalışır
- RAG "modelini" eğitme: Kullanıcının verileri üzerinde RAG modeli eğitilir.
- Soru sorma: Eğitilmiş model kullanılarak soru sorulduğunda, veritabanında otomatik olarak çalıştırılabilecek SQL sorguları döndürülür.
Kullanıcı Arayüzü
- Vanna ile oluşturulmuş bazı kullanıcı arayüzleri arasında Jupyter Notebook, vanna-ai/vanna-streamlit, vanna-ai/vanna-flask ve vanna-ai/vanna-slack yer alır.
Başlarken
- Kurulum: Vanna,
pip install vannakomutuyla kurulabilir. - İçe aktarma: Vanna,
import vanna as vnkoduyla kullanılabilir.
Eğitim
- DDL ifadeleriyle eğitim: Veritabanındaki tablo adları, sütunlar, veri tipleri ve ilişkiler gibi bilgileri içeren DDL ifadeleri kullanılarak model eğitilebilir.
- Dokümanlarla eğitim: İş terimleri veya tanımlarla ilgili dokümanlar eklenerek model eğitilebilir.
- SQL ile eğitim: Mevcut SQL sorguları eğitim verisi olarak eklenip yeni SQL üretilebilir.
Soru Sorma
vn.ask("soru")yöntemi kullanılarak soru sorulduğunda ilgili SQL sorgusu alınabilir.
RAG ve Fine-Tuning Karşılaştırması
- RAG, farklı LLM'ler arasında taşınabilir, eğitim verilerinin kolayca kaldırılmasına olanak tanır, daha düşük maliyetlidir ve gelecekteki değişimlere daha uyumludur.
- Fine-tuning, prompt içindeki token'ları en aza indirmek gerektiğinde faydalıdır; ancak başlaması yavaştır ve eğitim ile çalıştırma maliyetleri yüksektir.
Neden Vanna
- Karmaşık veri setlerinde yüksek doğruluk: Vanna'nın yetenekleri, eğitim verisine bağlı olarak belirlenir.
- Güvenlik ve gizlilik: Veritabanı içeriği LLM'e veya vektör veritabanına gönderilmez.
- Kendi kendine öğrenme: Jupyter üzerinden kullanıldığında, başarıyla çalıştırılan sorgular için otomatik öğrenme yapabilir.
- Tüm SQL veritabanı desteği: Python ile bağlanabilen tüm SQL veritabanlarına bağlanabilir.
- Frontend seçimi: Jupyter Notebook ile başlayıp kullanıcılara Slackbot, web uygulaması, Streamlit uygulaması veya özel bir frontend üzerinden sunulabilir.
Vanna'yı Genişletme
- Vanna, tüm veritabanlarına, LLM'lere ve vektör veritabanlarına bağlanacak şekilde tasarlanmıştır.
- VannaBase soyut temel sınıfı, temel işlevleri tanımlar ve OpenAI ile ChromaDB kullanan bir uygulama sunar.
Ek Kaynaklar
- Tam dokümantasyon, web sitesi ve destek için Discord grubu gibi kaynaklar sunulmaktadır.
GN⁺ görüşü:
- Vanna, veritabanı yönetimi ve SQL sorgusu oluşturmayı otomatikleştiren güçlü bir araçtır; kullanıcıların karmaşık veri setleri için yüksek doğrulukta SQL sorgularını kolayca üretmesini sağlar.
- Kullanıcı dostu arayüzü ve kendi kendine öğrenme özellikleri sayesinde uzman olmayan kullanıcılar da veritabanlarını verimli şekilde kullanabilir; bu da veriye dayalı karar almayı daha da hızlandırabilir.
- Vanna'nın genişletilebilirliği ve geleceğe uyumluluğu, şirketlere teknolojik değişimlere esnek yanıt verme ve veri yönetimi süreçlerini sürekli iyileştirme fırsatı sunar.
1 yorum
Hacker News görüşleri
ChatDB.ai projesi geliştiren birinin deneyimi
GPT-4 ile kişisel deneyim
SHOW TABLEkomutuyla tablo yapısını kontrol ediyor ve bu tablolara dayanarak sepet terk oranı gibi iş metriklerini gösteren sorgular üretiyor.Doğal dili SQL'e çeviren sistemlere şüpheci bakış
YC destekli girişimler dahil benzer ürünlere ilgi
duckdb tabanlı raporlama servisi deneyimi
RAG'in nasıl çalıştığına dair endişe ve açıklama
LLM'lerin halüsinasyon problemi hakkında merak
Kendi veri kümesi ve teknolojisiyle deneyim paylaşımı
bit.io deneyimi ve müşteri tepkisi