Buku Pegangan NL2SQL
Dari repositori ini, Anda dapat melihat kemajuan terbaru di NL2SQL. Buku pegangan ini sesuai dengan makalah survei kami: survei NL2SQL dengan model bahasa besar: kemana kami, dan kemana kami akan pergi? Kami juga menyediakan slide tutorial untuk meringkas poin -poin penting dari survei ini. Berdasarkan tren dalam pengembangan model bahasa, kami telah membuat diagram sungai dari metode NL2SQL untuk melacak evolusi bidang NL2SQL.
Jika Anda seorang pemula, jangan khawatir - kami telah menyiapkan panduan praktis untuk Anda, mencakup berbagai bahan dasar di sini. Kami merangkum aplikasi terkait NL2SQL.

@misc { liu2024surveynl2sqllargelanguage ,
title = { A Survey of NL2SQL with Large Language Models: Where are we, and where are we going? } ,
author = { Xinyu Liu and Shuyu Shen and Boyan Li and Peixian Ma and Runzhi Jiang and Yuyu Luo and Yuxin Zhang and Ju Fan and Guoliang Li and Nan Tang } ,
year = { 2024 } ,
eprint = { 2408.05109 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.DB } ,
url = { https://arxiv.org/abs/2408.05109 } ,
}? NL2SQL PENDAHULUAN
Menerjemahkan kueri bahasa alami pengguna (NL) ke dalam kueri SQL dapat secara signifikan mengurangi hambatan untuk mengakses database relasional dan mendukung berbagai aplikasi komersial. Kinerja NL2SQL telah sangat ditingkatkan dengan munculnya model bahasa (LMS). Dalam konteks ini, sangat penting untuk menilai posisi kita saat ini, menentukan solusi NL2SQL yang harus diadopsi untuk skenario spesifik oleh praktisi, dan mengidentifikasi topik penelitian yang harus dijelajahi oleh para peneliti berikutnya.

? Siklus hidup NL2SQL

Model: Teknik terjemahan NL2SQL yang menangani tidak hanya ambiguitas NL dan kurang spesifikasi, tetapi juga memetakan NL dengan tepat dengan skema dan instance basis data;
Data: Dari pengumpulan data pelatihan, sintesis data karena kelangkaan data pelatihan, hingga tolok ukur NL2SQL;
Evaluasi: Mengevaluasi metode NL2SQL dari beberapa sudut menggunakan berbagai metrik dan granularitas;
Analisis Kesalahan: Menganalisis kesalahan NL2SQL untuk menemukan akar penyebab dan memandu model NL2SQL untuk berkembang.
? Dimana kita?
Kami mengkategorikan tantangan NL2SQL menjadi lima level, masing -masing mengatasi rintangan tertentu. Tiga level pertama mencakup tantangan yang telah atau saat ini sedang ditangani, mencerminkan pengembangan progresif NL2SQL. Level keempat mewakili tantangan yang ingin kami tangani dalam tahap LLMS, sedangkan level kelima menguraikan visi kami untuk sistem NL2SQL dalam lima tahun ke depan.
Kami menggambarkan evolusi solusi NL2SQL dari perspektif model bahasa, mengkategorikannya menjadi empat tahap. Untuk setiap tahap NL2SQL, kami menganalisis perubahan pada pengguna target dan sejauh mana tantangan ditangani.

? Metode NL2SQL berbasis modul
Kami merangkum modul kunci dari solusi NL2SQL yang menggunakan model bahasa.
- Pra-pemrosesan berfungsi sebagai peningkatan input model dalam proses parsing NL2SQL. Anda bisa mendapatkan detail lebih lanjut dari bab ini: pra-pemrosesan
- Metode terjemahan NL2SQL merupakan inti dari solusi NL2SQL, yang bertanggung jawab untuk mengubah input kueri bahasa alami menjadi kueri SQL. Anda bisa mendapatkan detail lebih lanjut dari bab ini: Metode Terjemahan NL2SQL
- Pasca pemrosesan adalah langkah penting untuk memperbaiki kueri SQL yang dihasilkan, memastikan mereka memenuhi harapan pengguna dengan lebih akurat. Anda bisa mendapatkan detail lebih lanjut dari bab ini: pasca-pemrosesan

Survei & Tutorial NL2SQL
- Survei NL2SQL dengan model bahasa besar: kemana kita, dan kemana kita akan?
- Antarmuka databas generasi berikutnya: Survei teks-ke-SQL berbasis LLM.
- Model bahasa besar meningkatkan generasi teks-ke-SQL: survei.
- Dari bahasa alami ke SQL: Tinjauan sistem teks-ke-SQL berbasis LLM.
- Survei tentang menggunakan model bahasa besar untuk tugas teks-ke-sql.
- Antarmuka bahasa alami untuk kueri dan visualisasi data tabel: survei.
- Antarmuka bahasa alami untuk database dengan pembelajaran mendalam.
- Sebuah survei tentang pendekatan pembelajaran mendalam untuk teks-ke-sql.
- Kemajuan terbaru dalam teks-ke-sql: survei tentang apa yang kita miliki dan apa yang kita harapkan.
- Menyelam mendalam ke dalam pendekatan pembelajaran yang mendalam untuk sistem teks-ke-sql.
- Canggih dan tantangan terbuka dalam antarmuka bahasa alami ke data.
- Bahasa alami untuk SQL: Di mana kita hari ini?
? Daftar Kertas NL2SQL
- Dawn of Natural Language to SQL: Apakah kita sepenuhnya siap?
- Teks-ke-SQL yang diberdayakan oleh model bahasa besar: evaluasi benchmark.
- Interleaving model bahasa pra-terlatih dan model bahasa besar untuk generasi nl2sql nol-shot.
- Menghasilkan deskripsi ringkas dari skema basis data untuk memicu model bahasa besar yang hemat biaya.
- ScienceBenchmark: Benchmark dunia nyata yang kompleks untuk mengevaluasi bahasa alami ke sistem SQL.
- Kode: Menuju membangun model bahasa open-source untuk teks-ke-sql.
- FINSQL: Kerangka kerja teks-ke-SQL berbasis LLMS-agnostik untuk analisis keuangan.
- Ungu: Membuat model bahasa besar penulis SQL yang lebih baik.
- METASQL: Kerangka kerja yang menghasilkan-kemudian untuk bahasa alami untuk terjemahan SQL.
- Archer: Dataset teks-ke-sql berlabel manusia dengan penalaran aritmatika, akal sehat, dan hipotetis.
- Mensintesis data teks-ke-SQL dari LLM yang lemah dan kuat.
- Memahami efek kebisingan dalam teks-ke-sql: pemeriksaan tolok ukur burung-bangku.
- Saya butuh bantuan! Mengevaluasi kemampuan LLM untuk meminta dukungan pengguna: Studi kasus tentang pembuatan teks-ke-SQL.
- PTD-SQL: Partisi dan pengeboran yang ditargetkan dengan LLMS dalam teks-ke-sql.
- Meningkatkan Teks-ke-SQL Pengambilan-Augmented dengan peringkat dan pemangkasan skema yang berbasis di AST.
- Teks ke-data-ke-SQL dengan model bahasa besar.
- Spider 2.0: Mengevaluasi model bahasa pada alur kerja teks-ke-sql dunia nyata.
- Model bahasa besar yang dipandu struktur untuk generasi SQL.
- RSL-SQL: Skema kuat yang menghubungkan dalam generasi teks-ke-SQL.
- TrustSQL: Benchmarking Text-to-SQL Keandalan dengan penilaian berbasis penalti.
- SQL-GEN: Menjembatani kesenjangan dialek untuk teks-ke-SQL melalui data sintetis dan penggabungan model.
- Membumikan bahasa alami ke terjemahan SQL dengan penjelasan diri berbasis data.
- Chase-SQL: Penalaran multi-jalur dan preferensi pemilihan kandidat yang dioptimalkan dalam teks-ke-SQL.
- Menuju mengoptimalkan generasi SQL melalui routing LLM.
- Xiyan-sql: Kerangka kerja ensemble multi-generator untuk teks-ke-sql.
- E-SQL: Tautan skema langsung melalui pengayaan pertanyaan dalam teks-ke-sql.
- DB-GPT: Memberdayakan interaksi basis data dengan model bahasa besar pribadi.
- Kematian SKEMA yang menghubungkan? Teks-ke-SQL di zaman model bahasa yang masuk akal.
- DBCOPILOT: Meningkatkan bahasa alami permintaan ke database besar.
- Catur: memanfaatkan kontekstual untuk sintesis SQL yang efisien.
- PET-SQL: Penyempurnaan dua putaran yang ditingkatkan dengan cepat dari Text-to-SQL dengan konsistensi silang.
- COE-SQL: Pembelajaran dalam konteks untuk multi-turn Text-to-SQL dengan rantai-edisi.
- Ambrosia: Benchmark untuk parsing pertanyaan ambigu ke dalam kueri database.
- Terjemahan teks-ke-sql beberapa shot menggunakan struktur dan pembelajaran cepat konten.
- CATSQL: Menuju bahasa alami dunia nyata ke aplikasi SQL.
- DIN-SQL: Pembelajaran dalam konteks yang didekomposisi teks-ke-SQL dengan koreksi diri.
- Data Ambiguity menyerang: Bagaimana dokumentasi meningkatkan teks-ke-SQL GPT.
- ACT-SQL: Pembelajaran dalam konteks untuk Text-to-SQL dengan rantai-dipikirkan secara otomatis.
- Demonstrasi selektif untuk teks-ke-sql lintas domain.
- RESDSQL: Decoupling Schema Linking dan Skeleton Parsing untuk Teks-ke-SQL.
- Graphix-T5: Mencampur transformator terlatih dengan lapisan-lapisan yang sadar grafik untuk penguraian teks-ke-sql.
- Meningkatkan Generalisasi dalam Model Bahasa Berbasis Teks-ke-SQL Semantic Parsing: Dua teknik berbasis batas semantik sederhana.
- G 3 R: Kerangka kerja yang dipandu oleh grafik-dan-erank untuk pembuatan teks-ke-SQL yang kompleks dan domain.
- Pentingnya mensintesis data berkualitas tinggi untuk penguraian teks-ke-sql.
- Ketahui apa yang tidak saya ketahui: menangani pertanyaan yang ambigu dan tidak dikenal untuk teks-ke-sql.
- C3: Teks ke-sql nol-shot dengan chatgpt
- Mac-SQL: Kerangka kerja kolaboratif multi-agen untuk teks-ke-sql.
- SQLFORMER: Pembuatan grafik kueri regresif auto-auto untuk terjemahan teks-ke-sql.
Benchmark NL2SQL
Kami membuat garis waktu pengembangan benchmark dan menandai tonggak yang relevan. Anda bisa mendapatkan detail lebih lanjut dari bab ini: Benchmark

Kemana kita akan pergi?
- Sovle Open NL2SQL Masalah
- Mengembangkan metode NL2SQL yang hemat biaya
- Jadikan solusi NL2SQL dapat dipercaya
- Nl2sql dengan kueri NL yang ambigu dan tidak ditentukan
- Sintesis Data Pelatihan Adaptif
Katalog untuk survei kami
Anda bisa mendapatkan informasi lebih lanjut dari ayat kami. Kami memperkenalkan makalah yang representatif tentang konsep terkait:
- Pra-pemrosesan
- Metode Terjemahan NL2SQL
- Pasca-pemrosesan
- Benchmark
- Evaluasi
- Analisis Kesalahan
? Panduan Praktis untuk Pemula
Cara Mendapatkan Data:
- Kami mengumpulkan fitur benchmark NL2SQL dan mengunduh tautan untuk Anda. Anda bisa mendapatkan detail lebih lanjut dari bab ini: Benchmark
- Kode analisis untuk tolok ukur tersedia di direktori
src/dataset_analysis . Laporan analisis benchmark dapat ditemukan di report/ direktori.
Cara Membangun Model NL2SQL Berbasis LLM:
Tautan repositori LISGPT
Repositori ini menawarkan akses ke lebih dari 20 model bahasa besar berkinerja tinggi (LLM) dengan panduan komprehensif untuk pretraining, fine-tuning, dan penyebaran pada skala. Ini dirancang untuk ramah pemula dengan implementasi dari goresan dan tidak ada abstraksi yang kompleks.
Tautan repositori llama-factory terpadu fine-tuning efisien 100+ llms. Mengintegrasikan berbagai model dengan sumber daya pelatihan yang dapat diskalakan, algoritma canggih, trik praktis, dan alat pemantauan eksperimen komprehensif, pengaturan ini memungkinkan inferensi yang efisien dan lebih cepat melalui API dan UI yang dioptimalkan.
Pembelajaran fine-tuning dan in-context untuk tautan repositori benchmark SQL Burung
Tutorial untuk pembelajaran fine-tuning dan in-context disediakan oleh Benchmark Burung-SQL.
? Bagaimana cara mengevaluasi model Anda:
Kami mengumpulkan metrik evaluasi NL2SQL untuk Anda. Anda bisa mendapatkan detail lebih lanjut dari bab ini: Evaluasi
Tautan repositori NLSQL360
NL2SQL360 adalah testbed untuk evaluasi solusi NL2SQL berbutir halus. Testbed kami mengintegrasikan tolok ukur NL2SQL yang ada, repositori model NL2SQL, dan berbagai metrik evaluasi, yang bertujuan untuk menyediakan platform yang intuitif dan ramah pengguna untuk memungkinkan evaluasi kinerja standar dan yang disesuaikan.
Tautan repositori uji-suite-sql-eval
Repo ini berisi metrik evaluasi test suite untuk 11 tugas teks-ke-sql. Sekarang metrik resmi Spider, SPARC, dan COSQL, dan sekarang juga tersedia untuk akademik, ATIS, menasihati, geografi, IMDB, restoran, sarjana, dan yelp (membangun karya luar biasa oleh Catherine dan Jonathan).
Tautan repositori Burung-SQL-Resmi
Sekarang alat resmi Burung-SQL. Ini adalah alat pertama yang mengusulkan VES dan memberikan rangkaian tes resmi.
? Roadmap dan aliran keputusan
Anda bisa mendapatkan inspirasi dari peta jalan dan aliran keputusan.

Aplikasi terkait NL2SQL:
- CHAT2DB: Alat database yang digerakkan AI dan klien SQL, klien GUI terpanas, mendukung MySQL, Oracle, PostgreSQL, DB2, SQL Server, DB2, SQLite, H2, Clickhouse, dan banyak lagi.
- DB-GPT: Kerangka Pengembangan Aplikasi Data Asli AI dengan AWEL (Bahasa Ekspresi Alur Kerja Agen) dan Agen.
- Postgres.NEW: In-browser Postgres Sandbox dengan bantuan AI.