このプロジェクトは、.NET 8 コンソールアプリケーションにおけるLLM搭載ETLプロセスを実証します。
従来のETLはCSVの列名変更に苦労しますが、このアプローチではLLMを使用して実行時に列マッピングを推測します。
CSVの最初の数行をサンプリングすることで、アプリケーションは軽量なllama3.2-3Bモデルにクエリを実行し、どのCSV列が固定の顧客スキーマに対応するかを特定します。
推測されたマッピングは、CSVファイル全体を変換するために使用されます。
このプロセスは、動的なCSVデータを、Id、Name、Email、SignupDate、IsActiveフィールドを持つ構造化された顧客レコードに変換します。
`Convert` および `Lookup` メソッドは、柔軟な日付解析を含むデータ正規化と型変換を処理します。
アプリケーションはCSVファイル全体をストリーミングし、LLMによって生成されたマッピングを使用して各行を処理し、行区切りJSONを出力します。
この方法により、壊れやすい設定ファイルが不要になり、厄介な実世界のデータをうまく処理できます。
ソリューション全体は、Semantic KernelとOllamaを活用して、約150行のC#コードで構築されています。
これは、LLMが動的なデータ統合にどれほど強力であるかを示しており、従来のETL手法に代わる堅牢で効率的な選択肢を提供します。
dev.to
Unlock the Power of LLM-Driven ETL: Transform Variable CSV to Clean JSON with C#, Semantic Kernel & Llama 3.2-3B
Create attached notes ...
