Этот проект демонстрирует процесс ETL, работающий на основе модели LLM, в консольном приложении .NET 8.
Традиционный ETL испытывает трудности с меняющимися именами столбцов в CSV, но этот подход использует LLM для определения сопоставления столбцов во время выполнения.
Выбирая первые несколько строк CSV, приложение запрашивает модель llama3.2-3B, чтобы определить, какие столбцы CSV соответствуют фиксированной схеме «Клиент».
Определенное сопоставление затем используется для преобразования всего файла CSV.
Процесс преобразует динамические данные CSV в структурированную запись «Клиент» с полями Id, Name, Email, SignupDate и IsActive.
Методы `Convert` и `Lookup` обрабатывают нормализацию данных и преобразования типов, включая гибкую обработку дат.
Приложение считывает весь файл CSV, обрабатывает каждую строку с помощью сопоставления, сгенерированного LLM, и выводит JSON, разделенный строками.
Этот метод исключает необходимость в хрупких файлах конфигурации и позволяет легко обрабатывать реальные данные.
Весь решение построен с использованием примерно 150 строк кода на C#, используя Semantic Kernel и Ollama.
Это демонстрирует силу 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 ...
