ホームページ >バックエンド開発 >Python チュートリアル >ChatWithSQL — LLM による任意のクエリのリスクを排除する、安全でスキーマ検証済みの Text-to-SQL Python ライブラリ
ライブラリ: https://pypi.org/project/chatwithsql
GitHub: https://github.com/sathninduk/chatwithsql
ソフトウェアが進化するにつれて、直観的で安全かつ効率的なデータベース対話に対する需要が飛躍的に高まります。 ChatWithSQL は、開発者が SQL データベースと対話する方法を変革する画期的な Python ライブラリです。 ChatWithSQL は、自然言語処理 (NLP) の機能とスキーマ検証された SQL 生成およびデータ取得を組み合わせることで、安全で効率的なデータ取得のための新しいベンチマークを設定します。
Text-to-SQL ツールは新しいものではありませんが、そのほとんどには明らかな欠陥があります。それは、任意のクエリを生成して実行する可能性があるということです。これは重大なリスクをもたらします:
ChatWithSQL は、スキーマベースの検証アプローチを実装することにより、安全性と信頼性を再定義します。すべてのクエリが事前定義されたスキーマに準拠していることを確認することで、ライブラリは比類のないパフォーマンスを維持しながら不正アクセスを排除します。
従来の Text-to-SQL システムとは異なり、ChatWithSQL は実行前に厳密なスキーマ定義に照らして各クエリを検証し、次のことを保証します。
このセキュリティ第一のアプローチにより、ChatWithSQL は、シンプルさと信頼性の両方を求める開発者にとって頼りになるソリューションとなります。
次のようなプロンプトを作成します。
「ID 5 のユーザーの詳細を表示します。」
「2024 年 11 月 25 日のすべての注文を見せてください」
「ユーザーID 34の誕生日は何日ですか?」
「500 ドルを超える注文とは何ですか?」
残りの処理は ChatWithSQL に任せて、実行可能な SQL に変換します。
どのクエリが許可されるかを正確に定義します:
query_schema = [ { "description": "Fetch user data by ID", "name": "get_user_data", "sql": "SELECT * FROM users WHERE id = ?", "params": {"id": {"type": "int", "default": None}}, }, ]
このスキーマ内のクエリのみが実行されるため、悪用のリスクが排除されます。
ChatWithSQL は、次のような主要な言語学習モデル (LLM) をサポートしています。
これらの LLM 間の切り替えは、構成を変更するのと同じくらい簡単です。
ChatWithSQL はクエリ パラメータを動的に抽出、検証、マッピングして、毎回正確な結果を保証します。
PostgreSQL、MySQL、SQLite、またはその他の SQL データベースを使用しているかどうかに関係なく、ChatWithSQL はユニバーサル URI 形式でサポートします。
ChatWithSQL では詳細なログが記録されるため、デバッグが簡単になります。
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}}, }, ]
インスタンスを初期化します
pip install chatwithsql
クエリを実行する
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}}, }, ], )
使用例
高度なクエリ スキーマの例
response = chat_with_sql.load_data("Get user details for ID 10.") print(response)
現在、ChatWithSQL は SELECT クエリのみをサポートしていますが、INSERT、UPDATE、DELETE などの他の SQL 操作にもサポートを拡張する予定です。
さらに、このライブラリは、AI チャット エージェント用の包括的で無料のオープンソース フレームワークを開発する広範な取り組みの最初のコンポーネントです。このフレームワークは、複雑な要件をいくつかの簡単なステップに簡素化することで、今日のソフトウェア エンジニアリング業界における重要なビジネス ニーズに対応します。
? ChatWithSQL 革命に参加してください
次のレベルのデータベース インタラクションを体験する準備はできましたか?今すぐ ChatWithSQL の使用を開始し、インテリジェントで安全かつ効率的なクエリ処理をアプリケーションに提供します。
GitHub リポジトリ: ChatWithSQL
サポートメール: hello@bysatha.com
寄付を歓迎します!プル リクエストを送信するか、問題を報告して、ChatWithSQL の将来を形作るのに役立ててください。
ChatWithSQL を使用すると、安全で信頼性が高く、革新的な方法で自然言語と SQL が融合します。この運動に参加して、今すぐアプリケーションを次のレベルに引き上げましょう!
以上がChatWithSQL — LLM による任意のクエリのリスクを排除する、安全でスキーマ検証済みの Text-to-SQL Python ライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。