В качестве регулярных напоминаний, какое-то время назад я разрабатывал инструмент под названием metacrafter это специальная библиотека для Python, утилита и сервер для идентификации семантических типов данных, удобная для идентификации того что содержится к конкретном поле конкретной базы данных и вспомогательный инструмент для определения персональных данных и другого осмысленного содержания. У него есть достаточно широкий набор общедоступных правил на основе которых он работает.
В его основе принцип local-only, все его правила описываются в YAML файлах которые могут быть описаны как простые перечисления, регулярные выражения (через синтаксис pyparsing) или как функции для Python.
Правил там сейчас 262 для идентификации по наименованиям полей и по их содержанию и ещё 312 для идентификации дат на разных языках по содержанию текста.
Утилита поддерживает любую базу данных через SQLAlchemy и MongoDB, а также файлы CSV, Parquet, JSONL и тд. в том числе в сжатом виде gz, zst, xz и тд.
Более 105 правил сделаны именно под данные связанные с русскоязычными кодами и идентификаторами.
Сейчас, конечно, её надо переосмыслять для применения ИИ поскольку с помощью LLM можно сильно повысить качество её работы, но тогда она перестанет быть инструментом local-only, а станет local-first через опциональное подключение API LLM для анализа данных.
Сейчас, у меня больше всего времени уходит на Dateno поэтому инструмент я хоть и не забросил, но скорее использую её на внутренних данных чем наполняю новыми функциями и правилами.
Если Вы ей пользуетесь, напишите что в ней для полезно, а чего не хватает.
#opensource #data #datatools #dataengineering
В его основе принцип local-only, все его правила описываются в YAML файлах которые могут быть описаны как простые перечисления, регулярные выражения (через синтаксис pyparsing) или как функции для Python.
Правил там сейчас 262 для идентификации по наименованиям полей и по их содержанию и ещё 312 для идентификации дат на разных языках по содержанию текста.
Утилита поддерживает любую базу данных через SQLAlchemy и MongoDB, а также файлы CSV, Parquet, JSONL и тд. в том числе в сжатом виде gz, zst, xz и тд.
Более 105 правил сделаны именно под данные связанные с русскоязычными кодами и идентификаторами.
Сейчас, конечно, её надо переосмыслять для применения ИИ поскольку с помощью LLM можно сильно повысить качество её работы, но тогда она перестанет быть инструментом local-only, а станет local-first через опциональное подключение API LLM для анализа данных.
Сейчас, у меня больше всего времени уходит на Dateno поэтому инструмент я хоть и не забросил, но скорее использую её на внутренних данных чем наполняю новыми функциями и правилами.
Если Вы ей пользуетесь, напишите что в ней для полезно, а чего не хватает.
#opensource #data #datatools #dataengineering
👍14
О предубеждениях программистов
На днях мне довелось общаться с командой которая делает один любопытный продукт по обработке данных. В какой-то момент они решили добавить в продукт работы с данными с помощью ИИ и, поначалу, поэкспериментировали с подключением ChatGPT, а потом весь механизм полностью заменили на движок llama.cpp (не путайте с Ollama) с помощью и перевели всю работу с данными в режим local-only. Это когда через интерфейс приложения можно скачать одну из двух моделей Llama 3.2 или Qwen 2.5 и с их помощью локально с данными работать.
Надо ли объяснять что тут не так? В первом случае они сделали решение которое было cloud-only, без облачного сервиса не работало. Во втором случае они сделали решение local-only, очень приватное, и почти неработоспособное. Кроме того что оно кушает много памяти и диска, оно ещё и замораживает компьютер пользователя, а пользователи могут быть не самые продвинутые по навыкам и по технике.
Мне буквально пришлось им объяснять что для большинства пользователей нужен выбор и оба подхода некорректны по умолчанию. Кого-то не пугают облачные LLM, у кого-то есть собственная инфраструктура с развертными Ollama или LM Studio на сервере или десктопе с сетевым подключением, кто-то пользуется хостинг провайдерами - Digital Ocean, Nebius, Яндекс.Клауд и др.
Поскольку эту команду я знаю достаточно давно и они из open source мира то подозреваю что первоначальное использование ChatGPT было скорее экспериментом, а потом они стремительно переключились на local-first решение как то которое они считают наиболее приемлемым.
Я совсем не уверен что мне удастся их переубедить, потому что у них есть два мощнейших предубеждения. Это Анти бигтех и Анти ИИ (пока не могу подобрать названий получше).
Первое заключается в том чтобы не использовать никаких сервисов биг техов и других крупных облачных провайдеров. Это довольно мощная установка в большой часть европейского open source движения в том что использовать только открытые альтернативы. Не использовать хостинг биг техов, не использовать их облачные сервисы, не использовать системы звонков/коммуникации и тд. Эта предустановка распространяется и на все американские ИИ стартапы и сейчас множится на концепцию цифрового суверенитета ЕС.
Второе - Анти ИИ, происходит от Анти бигтех, но с установкой того что большие ИИ компании "сжирают Интернет" и все открытые цифровые артефакты: открытый код, открытые данные, книги, статьи, иные открытые результаты, всё идёт в их обучение. Она выражается в том что обработка данных через ИИ не реализуется чтобы "не кормить ИИ своими данными".
Всё это в дополнение другим традиционным предубеждениям программных команд: Не изобретено здесь, Пользователь всегда неправ и ещё многих других.
#opensource #programming #thoughts #data #ai
На днях мне довелось общаться с командой которая делает один любопытный продукт по обработке данных. В какой-то момент они решили добавить в продукт работы с данными с помощью ИИ и, поначалу, поэкспериментировали с подключением ChatGPT, а потом весь механизм полностью заменили на движок llama.cpp (не путайте с Ollama) с помощью и перевели всю работу с данными в режим local-only. Это когда через интерфейс приложения можно скачать одну из двух моделей Llama 3.2 или Qwen 2.5 и с их помощью локально с данными работать.
Надо ли объяснять что тут не так? В первом случае они сделали решение которое было cloud-only, без облачного сервиса не работало. Во втором случае они сделали решение local-only, очень приватное, и почти неработоспособное. Кроме того что оно кушает много памяти и диска, оно ещё и замораживает компьютер пользователя, а пользователи могут быть не самые продвинутые по навыкам и по технике.
Мне буквально пришлось им объяснять что для большинства пользователей нужен выбор и оба подхода некорректны по умолчанию. Кого-то не пугают облачные LLM, у кого-то есть собственная инфраструктура с развертными Ollama или LM Studio на сервере или десктопе с сетевым подключением, кто-то пользуется хостинг провайдерами - Digital Ocean, Nebius, Яндекс.Клауд и др.
Поскольку эту команду я знаю достаточно давно и они из open source мира то подозреваю что первоначальное использование ChatGPT было скорее экспериментом, а потом они стремительно переключились на local-first решение как то которое они считают наиболее приемлемым.
Я совсем не уверен что мне удастся их переубедить, потому что у них есть два мощнейших предубеждения. Это Анти бигтех и Анти ИИ (пока не могу подобрать названий получше).
Первое заключается в том чтобы не использовать никаких сервисов биг техов и других крупных облачных провайдеров. Это довольно мощная установка в большой часть европейского open source движения в том что использовать только открытые альтернативы. Не использовать хостинг биг техов, не использовать их облачные сервисы, не использовать системы звонков/коммуникации и тд. Эта предустановка распространяется и на все американские ИИ стартапы и сейчас множится на концепцию цифрового суверенитета ЕС.
Второе - Анти ИИ, происходит от Анти бигтех, но с установкой того что большие ИИ компании "сжирают Интернет" и все открытые цифровые артефакты: открытый код, открытые данные, книги, статьи, иные открытые результаты, всё идёт в их обучение. Она выражается в том что обработка данных через ИИ не реализуется чтобы "не кормить ИИ своими данными".
Всё это в дополнение другим традиционным предубеждениям программных команд: Не изобретено здесь, Пользователь всегда неправ и ещё многих других.
#opensource #programming #thoughts #data #ai
1✍5🔥5💯2