Vanna.ai: Berbicara dengan database SQL
(github.com/vanna-ai)- Open source untuk menghasilkan Text-To-SQL yang akurat dengan LLM yang menerapkan RAG (Retrieval-Augmented Generation)
Cara kerja Vanna
- Melatih "model" RAG: Melatih model RAG pada data pengguna.
- Mengajukan pertanyaan: Saat mengajukan pertanyaan dengan model yang telah dilatih, model akan mengembalikan kueri SQL yang dapat dijalankan secara otomatis di database.
Antarmuka pengguna
- Beberapa antarmuka pengguna yang dibangun menggunakan Vanna antara lain Jupyter Notebook, vanna-ai/vanna-streamlit, vanna-ai/vanna-flask, dan vanna-ai/vanna-slack.
Memulai
- Instalasi: Vanna dapat dipasang dengan perintah
pip install vanna. - Import: Vanna dapat digunakan melalui kode
import vanna as vn.
Pelatihan
- Pelatihan dengan pernyataan DDL: Model dapat dilatih menggunakan pernyataan DDL yang mencakup informasi tentang nama tabel, kolom, tipe data, relasi, dan sebagainya di database.
- Pelatihan dengan dokumentasi: Model dapat dilatih dengan menambahkan dokumentasi tentang istilah atau definisi bisnis.
- Pelatihan dengan SQL: SQL yang sudah ada dapat ditambahkan sebagai data pelatihan untuk menghasilkan SQL baru.
Mengajukan pertanyaan
- Dengan menggunakan metode
vn.ask("질문"), pengguna bisa mendapatkan kueri SQL yang relevan.
RAG vs fine-tuning
- RAG dapat dipindahkan lintas LLM, data pelatihannya mudah dihapus, biayanya lebih murah, dan memiliki daya adaptasi yang tinggi untuk masa depan.
- Fine-tuning berguna saat perlu meminimalkan token dalam prompt, tetapi awalnya lambat dan biaya pelatihan serta eksekusinya mahal.
Alasan memilih Vanna
- Akurasi tinggi untuk dataset yang kompleks: Kemampuan Vanna ditentukan berdasarkan data pelatihannya.
- Keamanan dan privasi: Isi database tidak dikirim ke LLM maupun database vektor.
- Pembelajaran mandiri: Jika digunakan melalui Jupyter, Vanna dapat belajar otomatis dari kueri yang berhasil dijalankan.
- Mendukung semua database SQL: Dapat terhubung ke semua database SQL yang bisa dihubungkan melalui Python.
- Pilihan front-end: Bisa dimulai dari Jupyter Notebook lalu disediakan ke pengguna melalui Slackbot, aplikasi web, aplikasi Streamlit, atau front-end kustom.
Ekstensi Vanna
- Vanna dirancang agar dapat terhubung ke semua database, LLM, dan database vektor.
- Kelas dasar abstrak VannaBase mendefinisikan fungsi dasar dan menyediakan implementasi yang menggunakan OpenAI dan ChromaDB.
Materi tambahan
- Tersedia dokumentasi lengkap, situs web, grup Discord untuk dukungan, dan lainnya.
GN⁺ berpendapat:
- Vanna adalah alat yang kuat untuk mengotomatiskan pengelolaan database dan pembuatan kueri SQL, sehingga pengguna dapat dengan mudah membuat kueri SQL berakurasi tinggi untuk dataset yang kompleks.
- Melalui antarmuka yang ramah pengguna dan fitur pembelajaran mandiri, bahkan pengguna nonspesialis dapat memanfaatkan database secara efisien, yang dapat semakin mempercepat pengambilan keputusan berbasis data.
- Skalabilitas dan kemampuan adaptasi Vanna di masa depan memberi perusahaan peluang untuk merespons perubahan teknologi secara fleksibel dan terus meningkatkan proses pengelolaan data mereka.
1 komentar
Opini Hacker News
Pengalaman pengguna yang sedang mengembangkan proyek ChatDB.ai
Pengalaman pribadi menggunakan GPT-4
SHOW TABLEdi MySQL CLI, lalu membuat kueri berdasarkan tabel tersebut untuk menampilkan metrik bisnis seperti tingkat pengabaian keranjang belanja.Pandangan skeptis terhadap sistem yang menerjemahkan bahasa alami ke SQL
Ketertarikan pada produk serupa, termasuk startup yang didukung YC
Pengalaman dengan layanan pelaporan berbasis duckdb
Kekhawatiran dan penjelasan tentang cara kerja RAG
Rasa penasaran tentang masalah halusinasi LLM
Berbagi pengalaman menggunakan dataset dan teknologi sendiri
Pengalaman di bit.io dan respons pelanggan