LLMがデータの系統を特定する方法
Сбер
この記事では、大規模言語モデル(LLM)を使用してSQLコードからデータの系統(データリネージ)を自動的に抽出する方法について説明しています。SberのGigaChatをベースにしたアプローチを提示し、高いF1スコアを達成しています。エージェントベースのリフレクションループがプロンプトを最適化し、Streamlitで構築されたWebインターフェースが結果を可視化します。
本稿は、複雑なデータ環境において正確なデータ系列を維持するという課題に取り組んでいる。著者らは、LLMを使用してSQLスクリプトを自動解析し、ターゲットテーブルとソーステーブルを抽出する手法を提案している。127個の異なる複雑度のテストスクリプトを選定した。GigaChatを用いて、LangChainでSQLLineageExtractorクラスを開発した。初期結果では、基本のGigaChatでF1スコア0.7898、GigaChat 2 Proで0.9218を示した。プロンプト品質を向上させるため、検証フィードバックを用いてプロンプトを反復的に洗練するLangGraphベースのインテリジェントエージェント(GigaChatSQLLineageAgent)を作成し、F1スコア0.9336を達成した。単一およびバッチSQL分析のためのStreamlit Webインターフェースを構築し、依存関係の可視化を提供している。
出典: Habr — хаб ИИ —
原文
