Maison >développement back-end >Tutoriel Python >ChatWithSQL — Bibliothèque Python texte-SQL sécurisée et validée par schéma, éliminant les risques de requêtes arbitraires des LLM
Bibliothèque : https://pypi.org/project/chatwithsql
GitHub : https://github.com/sathninduk/chatwithsql
À mesure que les logiciels évoluent, la demande d'interactions de bases de données intuitives, sécurisées et efficaces augmente de façon exponentielle. Entrez ChatWithSQL, une bibliothèque Python révolutionnaire qui transforme la façon dont les développeurs interagissent avec les bases de données SQL. En combinant la puissance du traitement du langage naturel (NLP) avec la génération SQL validée par schéma et la récupération de données, ChatWithSQL établit une nouvelle référence en matière de récupération de données sécurisée et efficace.
Les outils Text-to-SQL ne sont pas nouveaux, mais la plupart ont un défaut flagrant : la possibilité de générer et d'exécuter des requêtes arbitraires. Cela présente des risques critiques :
ChatWithSQL redéfinit la sécurité et la fiabilité en mettant en œuvre une approche de validation basée sur un schéma. En garantissant que toutes les requêtes adhèrent à un schéma prédéfini, la bibliothèque élimine les accès non autorisés tout en conservant des performances inégalées.
Contrairement aux systèmes Text-to-SQL traditionnels, ChatWithSQL valide chaque requête par rapport à des définitions de schéma strictes avant son exécution, garantissant :
Cette approche axée sur la sécurité positionne ChatWithSQL comme la solution incontournable pour les développeurs recherchant à la fois simplicité et fiabilité.
Écrivez des invites telles que :
«Montrez-moi les détails de l'utilisateur avec l'ID 5.»
« Montrez-moi toutes les commandes le 25 novembre 2024 »
"Quel est le jour de naissance de l'ID utilisateur 34"
« Quelles sont les commandes supérieures à 500 USD ? »
Et laissez ChatWithSQL gérer le reste, en le convertissant en SQL exploitable.
Définissez exactement quelles requêtes sont autorisées :
query_schema = [ { "description": "Fetch user data by ID", "name": "get_user_data", "sql": "SELECT * FROM users WHERE id = ?", "params": {"id": {"type": "int", "default": None}}, }, ]
Seules les requêtes au sein de ce schéma sont exécutées, éliminant ainsi les risques d'utilisation abusive.
ChatWithSQL prend en charge les principaux modèles d'apprentissage des langues (LLM), notamment :
Basculer entre ces LLM est aussi simple qu'un changement de configuration.
ChatWithSQL extrait, valide et mappe dynamiquement les paramètres de requête pour garantir des résultats précis à chaque fois.
Que vous utilisiez PostgreSQL, MySQL, SQLite ou toute autre base de données SQL, ChatWithSQL le prend en charge via un format URI universel.
Grâce à la journalisation détaillée, ChatWithSQL facilite le débogage :
Installer 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}}, }, ]
Initialisez votre instance
pip install chatwithsql
Exécuter une requête
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}}, }, ], )
Cas d'utilisation
Exemple de schéma de requête avancé
response = chat_with_sql.load_data("Get user details for ID 10.") print(response)
Actuellement, ChatWithSQL ne prend en charge que les requêtes SELECT, mais il est prévu d'étendre la prise en charge à d'autres opérations SQL, notamment INSERT, UPDATE et DELETE.
De plus, cette bibliothèque est le premier élément d'une initiative plus large visant à développer un cadre complet, gratuit et open source pour les agents de chat IA. Ce cadre répond à un besoin commercial important dans le secteur actuel du génie logiciel en simplifiant les exigences complexes en quelques étapes simples.
? Rejoignez la révolution ChatWithSQL
Prêt à découvrir le prochain niveau d'interaction avec les bases de données ? Commencez à utiliser ChatWithSQL dès aujourd'hui et donnez à vos applications une gestion des requêtes intelligente, sécurisée et efficace.
Référentiel GitHub : ChatWithSQL
E-mail d'assistance : hello@bysatha.com
Nous apprécions les contributions ! Soumettez des demandes d'extraction ou signalez des problèmes pour contribuer à façonner l'avenir de ChatWithSQL.
Avec ChatWithSQL, le langage naturel rencontre SQL d'une manière sécurisée, fiable et révolutionnaire. Rejoignez le mouvement et faites passer vos candidatures au niveau supérieur dès aujourd'hui !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!