私のテキスト・トゥ・SQLエージェントにビジネス用語集を与え... ノート

私のテキスト・トゥ・SQLエージェントにビジネス用語集を与えました。一方のバージョンは非常に役立ちましたが、もう一方のバージョンは全く役に立ちませんでした。

Text-to-SQLエージェントは、テーブル名やカラム名に直接一致しないビジネス用語の理解に苦労することが多く、クエリ結果の誤りを引き起こします。SchemaGate 1.2.0は、これらのエージェントの精度を向上させるためにビジネス用語を導入します。これらの用語は、同義語、データベースカラムへのマッピング、および関連するフィルター規則とともに明示的に定義できます。例えば、「収益」はステータスフィルターとともにbilling_invoice.total_netにマッピングできます。このプロセスは、エージェントが関連テーブルを特定し、特定のビジネス概念の意味を理解するのに役立ちます。用語は階層的な関係を持つこともでき、テーブルの包含重みに影響します。ビジネス用語は、dbt、Snowflake、またはCSVエクスポートなどのさまざまなソースからインポートでき、過去の質問とSQLのペアから学習することもできます。SchemaGateの主な機能はアクセス制御であり、エージェントがそれを見る前に、権限のないテーブルとカラムを非表示にします。データ漏洩を防ぐために、呼び出し元がすべての基盤となるテーブルとカラムにアクセスできない場合、ビジネス用語の意味行は省略されます。BIRDデータセットでの実験では、完全な用語集が提供された場合に10パーセントポイントの精度の有意な向上が示されましたが、他の質問から学習した用語は影響がありませんでした。Spiderの検索タスクでは、学習した用語がテーブルリコールの改善につながりました。本質的に、クエリ精度を向上させるためには、特に数式の理解において、主要なビジネス用語を手動で定義することが重要であり、学習した用語はテーブル発見により効果的です。プロンプトに用語を追加するには、ユーザー権限を慎重に考慮する必要があります。SchemaGateはオープンソースプロジェクトとして利用可能であり、複数のデータベースと統合オプションをサポートしています。