Rumah >pembangunan bahagian belakang >Tutorial Python >ChatWithSQL — Perpustakaan Python Teks-ke-SQL yang Selamat, Skema-Disahkan, Menghapuskan Risiko Pertanyaan Sewenang-wenang daripada LLM
Perpustakaan: https://pypi.org/project/chatwithsql
GitHub: https://github.com/sathninduk/chatwithsql
Apabila perisian berkembang, permintaan untuk interaksi pangkalan data yang intuitif, selamat dan cekap berkembang dengan pesat. Masukkan ChatWithSQL, perpustakaan Python terobosan yang mengubah cara pembangun berinteraksi dengan pangkalan data SQL. Dengan menggabungkan kuasa Pemprosesan Bahasa Semulajadi (NLP) dengan penjanaan SQL yang disahkan skema dan pengambilan data, ChatWithSQL menetapkan penanda aras baharu untuk mendapatkan semula data yang selamat dan cekap.
Alat Text-to-SQL bukanlah baharu, tetapi kebanyakannya mempunyai kelemahan yang ketara: potensi untuk menjana dan melaksanakan pertanyaan sewenang-wenangnya. Ini menimbulkan risiko kritikal:
ChatWithSQL mentakrifkan semula keselamatan dan kebolehpercayaan dengan melaksanakan pendekatan pengesahan berasaskan skema. Dengan memastikan semua pertanyaan mematuhi skema yang telah ditetapkan, perpustakaan menghapuskan akses tanpa kebenaran sambil mengekalkan prestasi yang tiada tandingannya.
Tidak seperti sistem Text-to-SQL tradisional, ChatWithSQL mengesahkan setiap pertanyaan terhadap definisi skema yang ketat sebelum pelaksanaan, memastikan:
Pendekatan mengutamakan keselamatan ini meletakkan ChatWithSQL sebagai penyelesaian pilihan untuk pembangun yang mencari kesederhanaan dan kebolehpercayaan.
Tulis gesaan seperti:
“Tunjukkan saya butiran pengguna dengan ID 5.”
“Tunjukkan kepada saya semua pesanan pada 25 November 2024”
“Apakah Hari Lahir ID pengguna 34”
“Apakah pesanan yang lebih tinggi daripada USD 500?”
Dan biarkan ChatWithSQL mengendalikan selebihnya, menukarnya kepada SQL yang boleh diambil tindakan.
Tentukan dengan tepat pertanyaan yang dibenarkan:
query_schema = [ { "description": "Fetch user data by ID", "name": "get_user_data", "sql": "SELECT * FROM users WHERE id = ?", "params": {"id": {"type": "int", "default": None}}, }, ]
Hanya pertanyaan dalam skema ini dilaksanakan, menghapuskan risiko penyalahgunaan.
ChatWithSQL menyokong Model Pembelajaran Bahasa (LLM) terkemuka, termasuk:
Bertukar antara LLM ini semudah perubahan konfigurasi.
ChatWithSQL mengekstrak, mengesahkan dan memetakan parameter pertanyaan secara dinamik untuk memastikan hasil yang tepat setiap masa.
Sama ada anda menggunakan PostgreSQL, MySQL, SQLite atau mana-mana pangkalan data SQL yang lain, ChatWithSQL menyokongnya melalui format URI universal.
Dengan pengelogan terperinci, ChatWithSQL menjadikan penyahpepijatan menjadi mudah:
Pasang ChatWithSQL
query_schema = [ { "description": "Fetch user data by ID", "name": "get_user_data", "sql": "SELECT * FROM users WHERE id = ?", "params": {"id": {"type": "int", "default": None}}, }, ]
Mulakan Contoh Anda
pip install chatwithsql
Lakukan Pertanyaan
from chat_with_sql import ChatWithSQL chat_with_sql = ChatWithSQL( database_url="your_database_url", llm="openai", model="gpt-3.5-turbo", llm_api_key="your_llm_api_key", query_schema=[ { "description": "Fetch user by ID", "name": "get_user", "sql": "SELECT * FROM users WHERE id = ?", "params": {"id": {"type": "int", "default": None}}, }, ], )
Kes Penggunaan
Contoh Skema Pertanyaan Lanjutan
response = chat_with_sql.load_data("Get user details for ID 10.") print(response)
Pada masa ini, ChatWithSQL hanya menyokong pertanyaan SELECT, tetapi terdapat rancangan untuk melanjutkan sokongan kepada operasi SQL yang lain, termasuk INSERT, UPDATE dan DELETE.
Selain itu, perpustakaan ini ialah komponen pertama inisiatif yang lebih luas untuk membangunkan rangka kerja sumber terbuka yang komprehensif, percuma dan terbuka untuk Ejen Sembang AI. Rangka kerja ini menangani keperluan perniagaan yang penting dalam industri kejuruteraan perisian pada masa kini dengan memudahkan keperluan yang kompleks kepada beberapa langkah mudah.
? Sertai Revolusi ChatWithSQL
Bersedia untuk mengalami tahap interaksi pangkalan data seterusnya? Mula menggunakan ChatWithSQL hari ini dan memperkasakan aplikasi anda dengan pengendalian pertanyaan yang bijak, selamat dan cekap.
Repositori GitHub: ChatWithSQL
E-mel Sokongan: hello@bysatha.com
Kami mengalu-alukan sumbangan! Serahkan permintaan tarik atau laporkan isu untuk membantu membentuk masa depan ChatWithSQL.
Dengan ChatWithSQL, bahasa semula jadi memenuhi SQL dengan cara yang selamat, boleh dipercayai dan mengubah permainan. Sertai pergerakan dan bawa permohonan anda ke peringkat seterusnya hari ini!
Atas ialah kandungan terperinci ChatWithSQL — Perpustakaan Python Teks-ke-SQL yang Selamat, Skema-Disahkan, Menghapuskan Risiko Pertanyaan Sewenang-wenang daripada LLM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!