Slide 1

Slide 1 text

Text-to-SQLをLangSmithで評価 2024/07/27 第37回勉強会

Slide 2

Slide 2 text

自己紹介 ● 名前: 西岡 賢一郎 ○ Twitter: @ken_nishi ○ note: https://note.com/kenichiro ○ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) ● 経歴 ○ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ○ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ○ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ○ CDPのスタートアップ (Sr. CSM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ○ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験

Slide 3

Slide 3 text

Text-to-SQLの背景と必要性

Slide 4

Slide 4 text

Text-to-SQLとは ● 自然言語の質問やコマンドをSQLクエリに変換する技術 ● 例: "30歳以上のユーザーの平均年齢は?" → "SELECT AVG(age) FROM users WHERE age >= 30;" ● Text-to-SQLの仕組み ○ 自然言語理解 (NLU): ■ ユーザーが入力した自然言語の質問や要求を解析して、意図を理解します。 ○ 文脈と構造の抽出: ■ 質問の文脈や構造を抽出し、どのデータベースのテーブルやカラムが関係して いるかを特定します。 ○ SQLクエリ生成: ■ 抽出された情報を基に、適切なSQLクエリを生成します。 ○ 実行と結果の表示: ■ 生成されたSQLクエリをデータベースに対して実行し、その結果をユーザーに 返します。

Slide 5

Slide 5 text

なぜText-to-SQLが必要か ● データベースへのアクセシビリティ向上 ○ SQL非専門家でもデータ分析が可能に ○ ビジネスユーザーが直接データにアクセス可能 ● 開発効率の向上 ○ 繰り返し行われるクエリ作成の自動化 ○ プロトタイピングの迅速化 ● 自然言語インターフェースの実現 ○ チャットボットやAIアシスタントへの統合 ○ よりユーザーフレンドリーなデータ探索ツールの 開発 データ抽出依頼 データ抽出 Text-to SQLで データ抽出

Slide 6

Slide 6 text

Text-to-SQLの評価方法

Slide 7

Slide 7 text

評価指標の例 1. 正確性 (Correctness) ○ 生成されたSQLが意図した結果を返すか 2. 効率性 (Efficiency) ○ 生成されたSQLが最適化されているか 3. 可読性 (Readability) ○ 生成されたSQLが人間にとって理解しやすいか 4. 実行精度 (Execution Accuracy) ○ 実行結果が期待される結果と一致するか

Slide 8

Slide 8 text

LangSmithを使ったText-to-SQL評価のデモ

Slide 9

Slide 9 text

LangSmithの概要 LLMアプリケーション開発でよく使われるLangChainのサー ビスである「LangSmith」は、LLMを楽に評価できる機能を 提供している。 ● Evaluatorの設定 ○ コードを書かずにEvaluatorを設定し、データ セットに紐づけられる ● PlayGround ○ プログラムを書かずにプロンプトやモデルの設 定をテスト ● 中間ステップの評価 ○ RAGパイプラインなどの中間ステップを詳細に 評価 ● 標準Evaluatorの利用: ○ カスタムコードを書くことなく、標準の Evaluatorを使用 ● Annotationの利用 ○ 実行結果に注釈を追加し、詳細なフィードバッ クを提供

Slide 10

Slide 10 text

デモ 評価プロセス 1. 評価対象のText-to-SQL modelの定義 2. 評価用データセットの作成 3. カスタム評価器の設定 4. 評価の実行と結果の分析 デモの主要ポイント ● SQLiteデータベースの使用 ● LangChainのSQLエージェントの活用 ● カスタムLLM評価器の実装 ● 効率性スコアの計算 ● LangSmithでの評価実行と結果の可視化

Slide 11

Slide 11 text

まとめ ● Text-to-SQLはデータアクセシビリティと開発効率を向上 ● 多面的な評価が重要: 正確性、効率性、可読性、実行精度 ● LangSmithを使用することで、包括的かつ効率的な評価が可能 ● 継続的な改善と最適化のためのツールとしてのLangSmithが便利