NVIDIA выложили в открытый доступ BioNeMo Agent Toolkit инструментарий для работы специалистов-биоинформатиков с ИИ агентами. Это не LLM модель, не программный продукт, а коллекция большого числа файлов навыков (SKILL.md), документации и примеров кода оптимизированное под Claude, Codex и Nemotron и инфраструктуру сервисов NVIDIA. Все под лицензиями Apache 2.0 и CC-BY-4.0
По сути это не то чтобы радикально новый, но всё же новый подход к документированию API и сервисов. Каждый файл SKILL.md сопровождается документацией к эндпоинтам API и примерами использования с дополнительными описаниями как с ними работать.
Общаясь со спецами по биоинформатике я уже не первый раз слышу что они используют специализированные ИИ инструменты, но ощущают что от всех них откажутся в сторону general LLM, учитывая как те развиваются. Пример с NVIDIA тоже показателен. Не разработка отдельного закрытого продукта, многие из которых есть на рынке, а встраивание в собственную экосистему и экосистему Anthropic и OpenAI
#opensource #ai #biotech
По сути это не то чтобы радикально новый, но всё же новый подход к документированию API и сервисов. Каждый файл SKILL.md сопровождается документацией к эндпоинтам API и примерами использования с дополнительными описаниями как с ними работать.
Общаясь со спецами по биоинформатике я уже не первый раз слышу что они используют специализированные ИИ инструменты, но ощущают что от всех них откажутся в сторону general LLM, учитывая как те развиваются. Пример с NVIDIA тоже показателен. Не разработка отдельного закрытого продукта, многие из которых есть на рынке, а встраивание в собственную экосистему и экосистему Anthropic и OpenAI
#opensource #ai #biotech
👍7❤1🔥1
Для тех кто любит работать с данными, я недавно залил обновления в два репозитория:
- iterabledata библиотека для Python для чтения условно любых файлов и баз данных в итеративном режиме в том числе в потоковом режиме с экономией памяти
- undatum утилита для командной строки для манипуляции условно любыми дата файлами, их конверсии, чтении данных, анализу и документированию. Внутри используется как раз библиотека iterabledata
В чем особенность этих релизов.
В iterabledata исправлена возможность записи в форматы Avro, Orc и Lance. Не самые большие изменения, но повышающие удобство работы с библиотекой.
А утилита undatum была радикально обновлена с переводом большей части функций на работу через iterabledata и отказа от части внутреннего кода. Теперь работает преобразование файлов всех форматов которые поддерживает iterabledata - это более 100 форматов.
Сами инструменты были вдохновлены утилитами xsv и qsv и были написаны для того чтобы можно было удобным образом работать с изначально с JSONl/NDJSON файлами сжатыми любым способом, а далее с форматами вроде Parquet, ORC и остальные.
Вообще у меня не так много времени остается на программирование в последнее время, это скорее как хобби, но хобби полезное.
#opensource #datatools #dataengineering
- iterabledata библиотека для Python для чтения условно любых файлов и баз данных в итеративном режиме в том числе в потоковом режиме с экономией памяти
- undatum утилита для командной строки для манипуляции условно любыми дата файлами, их конверсии, чтении данных, анализу и документированию. Внутри используется как раз библиотека iterabledata
В чем особенность этих релизов.
В iterabledata исправлена возможность записи в форматы Avro, Orc и Lance. Не самые большие изменения, но повышающие удобство работы с библиотекой.
А утилита undatum была радикально обновлена с переводом большей части функций на работу через iterabledata и отказа от части внутреннего кода. Теперь работает преобразование файлов всех форматов которые поддерживает iterabledata - это более 100 форматов.
Сами инструменты были вдохновлены утилитами xsv и qsv и были написаны для того чтобы можно было удобным образом работать с изначально с JSONl/NDJSON файлами сжатыми любым способом, а далее с форматами вроде Parquet, ORC и остальные.
Вообще у меня не так много времени остается на программирование в последнее время, это скорее как хобби, но хобби полезное.
#opensource #datatools #dataengineering
1🔥14👍11✍4
Подборка полезных ссылок про данные, технологии и не только:
- Onyxia платформа от французского института статистики INSEE для организации работы команды data science. Помогает разворачивать разные открытые продукты под задачи: тетрадки Jupyter, R Studio и многие другие с акцентом на статистические данные и не только. Предназначена для обучения студентов в первую очередь
- miller аналог AWK для CSV файлов, позволяет их удобно форматировать с командной строки.
- tad настольный редактор для табличных файлов, в первую очередь это файлы CSV и Parquet, но также поддерживает и базы sqlite и duckdb. Из минусов - не обновлялся около года
- uPlot одна из наиболее быстрых и легковесных библиотек визуализации больших объемов данных временных рядов.
#opensource #datatools
- Onyxia платформа от французского института статистики INSEE для организации работы команды data science. Помогает разворачивать разные открытые продукты под задачи: тетрадки Jupyter, R Studio и многие другие с акцентом на статистические данные и не только. Предназначена для обучения студентов в первую очередь
- miller аналог AWK для CSV файлов, позволяет их удобно форматировать с командной строки.
- tad настольный редактор для табличных файлов, в первую очередь это файлы CSV и Parquet, но также поддерживает и базы sqlite и duckdb. Из минусов - не обновлялся около года
- uPlot одна из наиболее быстрых и легковесных библиотек визуализации больших объемов данных временных рядов.
#opensource #datatools
GitHub
GitHub - InseeFrLab/onyxia: 🔬 Data science environment for k8s
🔬 Data science environment for k8s. Contribute to InseeFrLab/onyxia development by creating an account on GitHub.
🔥4✍3👍3
Ещё немного про утилиту с открытым кодом для работы с данными undatum которую я когда-то разработал и потихоньку развиваю. Это не коммерческий продукт, а скорее вспомогательный инструмент когда надо что-то поделать с данными в командной строке и эти данные не просто плоские CSV файлы, а что-то посложнее.
Я приводил в пример ее использование для преобразования файлов, а вот дополнительные примеры того как ее можно применять.
Быстрое API на основе файла с данными
Предположим есть файл CSV, JSONl, Parquet или еще какой-то и его содержанию надо быстро дать доступ кому-то внешнему, но передавать файл/файлы целиком нельзя по какой-либо причине.
Очень простая и быстрая команда
Автоматически проанализирует файл и запустит веб-сервер с доступом к данным через REST API и возможностью фильтрации по его полям. Из плюсов - минимум усилий. Из минусов - в нем нет сейчас какой-то сложной программной логике поиска по полям и тд., только полный или частичный мэтчинг.
В итоге получается неидеальное, зато очень быстро развертываемое API которое можно выставлять внешним пользователям.
Быстрое документирование дата файлов
Когда есть некий файл с данными к нему нет дополнительной информации, а очень надо быстро в нем разобраться, то генератор Markdown документации
В самом простом виде выглядит как
выводит на экран итоговый Markdown текст
Более продвинутый
Создает документацию в формате JSON с Markdown блоками перечисленными списком и на русском языке.
Загрузка данных в NoSQL/SQL базы данных
Команда ingest изначально делалась для продвинутого импорта данных в MongoDB и Elasticsearch и идея в том чтобы на вход получить файл и строку подключения в базе данных после чего загрузить содержимое в выбранную таблицу/коллекцию/индекс
Пример команды
В чем важная особенность undatum от специализированных инструментов которые умеют это же? В поддержке любых сжатых файлов .xz, .gz, .zst, .lz4, .bz2 и так далее. Потому что хранить данные в чистом NDJSON или CSV - это прямо таки очень неэффективно. Особенно когда это много слепков коллекции из MongoDB или индекса Elasticsearch.
#opensource #datatools #data
Я приводил в пример ее использование для преобразования файлов, а вот дополнительные примеры того как ее можно применять.
Быстрое API на основе файла с данными
Предположим есть файл CSV, JSONl, Parquet или еще какой-то и его содержанию надо быстро дать доступ кому-то внешнему, но передавать файл/файлы целиком нельзя по какой-либо причине.
Очень простая и быстрая команда
undatum api run data.jsonl
Автоматически проанализирует файл и запустит веб-сервер с доступом к данным через REST API и возможностью фильтрации по его полям. Из плюсов - минимум усилий. Из минусов - в нем нет сейчас какой-то сложной программной логике поиска по полям и тд., только полный или частичный мэтчинг.
В итоге получается неидеальное, зато очень быстро развертываемое API которое можно выставлять внешним пользователям.
Быстрое документирование дата файлов
Когда есть некий файл с данными к нему нет дополнительной информации, а очень надо быстро в нем разобраться, то генератор Markdown документации
В самом простом виде выглядит как
undatum ai doc data.csv
выводит на экран итоговый Markdown текст
Более продвинутый
undatum ai doc —blocks general,schema,quality,examples,codebook —format json —language Russian data.csv
Создает документацию в формате JSON с Markdown блоками перечисленными списком и на русском языке.
Загрузка данных в NoSQL/SQL базы данных
Команда ingest изначально делалась для продвинутого импорта данных в MongoDB и Elasticsearch и идея в том чтобы на вход получить файл и строку подключения в базе данных после чего загрузить содержимое в выбранную таблицу/коллекцию/индекс
Пример команды
undatum ingest data.jsonl https://elasticsearch:9200 myindex myindex --dbtype elasticsearch --api-key YOUR_API_KEY --doc-id id
В чем важная особенность undatum от специализированных инструментов которые умеют это же? В поддержке любых сжатых файлов .xz, .gz, .zst, .lz4, .bz2 и так далее. Потому что хранить данные в чистом NDJSON или CSV - это прямо таки очень неэффективно. Особенно когда это много слепков коллекции из MongoDB или индекса Elasticsearch.
#opensource #datatools #data
GitHub
GitHub - datenoio/undatum: undatum: a command-line tool for data processing. Brings CSV simplicity to NDJSON, BSON, XML and other…
undatum: a command-line tool for data processing. Brings CSV simplicity to NDJSON, BSON, XML and other data files - datenoio/undatum
👍12✍2🔥2
OmniRoute локальный маршрутизатор запросов к ИИ провайдерам умеющий работать с большим их количеством, сейчас это 231 провайдер в том числе с теми которые дают бесплатные квоты. Позиционируется как инструмент сильной оптимизации потребления токенов, позволяет сократить их благодаря сжатию RTK + Caveman.
Что характерно даже поддерживают одного из российских провайдеров - gigachat (можно увидеть в общем списке), но собственно и только. Того же Яндекс'а к примеру тут нет почему-то.
Плюс обещают прозрачную интеграцию с 1proxy и возможность обхода блокировок из стран которым некоторые AI провайдеры не дают доступа (Россия, Иран, Куба, Китай и тд.).
На чем зарабатывают непонятно, думаю что монетизацию включат позже и привяжут как раз к сервисам прокси или экономии токенов.
Выглядит как очень полезный инструмент еще и из-за встроенной аналитики потребления, так что надо пробовать на практике. Если все работает как обещано - ценное дополнение к техническому стеку.
#opensource #ai #tools
Что характерно даже поддерживают одного из российских провайдеров - gigachat (можно увидеть в общем списке), но собственно и только. Того же Яндекс'а к примеру тут нет почему-то.
Плюс обещают прозрачную интеграцию с 1proxy и возможность обхода блокировок из стран которым некоторые AI провайдеры не дают доступа (Россия, Иран, Куба, Китай и тд.).
На чем зарабатывают непонятно, думаю что монетизацию включат позже и привяжут как раз к сервисам прокси или экономии токенов.
Выглядит как очень полезный инструмент еще и из-за встроенной аналитики потребления, так что надо пробовать на практике. Если все работает как обещано - ценное дополнение к техническому стеку.
#opensource #ai #tools
✍5👍3⚡2
В качестве регулярных напоминаний коллекция библиотек и инструментов с открытым кодом к которым я приложил свою руку и которые могут быть полезны многим работающим с данными:
- qddate библиотека для Python быстрого парсинга дат написанных на множестве языков и во множестве форматов. Не такой широкий охват форматов как у dateutil, но гораздо более высокая скорость парсинга.
- newsworker библиотека и инструмент на Python для извлечения новостей из веб страниц. Например, когда надо подписаться на сайт через RSS, а RSS ленты нет. Понимает множество форматов дат используя qddate и динамически идентифицирует новостные блоки.
- russiannames база данных и парсер Python для разного рода написания ФИО принятых в российской практике. В базе десятки тысяч имен и отчеств и сотни тысяч фамилий
- undatum утилита командной строки для работы с датасетами в форматах CSV, JSONl, Parquet и сотне других форматах. Умеет преобразовывать данные и проводить с ними различные операции. Эдакий швейцарский нож для работы с данными с командной строки
- metawarc утилита по извлечению метаданных из файлов веб-архивов (WARC). Умеет извлекать метаданные из офисных файлов, PDF, изображений и тд.
- plainrussian сервис проверки простоты текстов на русском языке используя формулы читабельности адаптированные под русский язык. Код самого сервиса и формул для расчета
- iterabledata библиотека для Python для чтения и записи практически всех существующих форматов файлов с данными. Используется в утилите undatum
- internacia-db дата продукт в виде датасета по всем странам и макрорегионам во множестве форматов и покрытием всего мира и многими метаданными по каждой территории
#opensource #datatools #tools
- qddate библиотека для Python быстрого парсинга дат написанных на множестве языков и во множестве форматов. Не такой широкий охват форматов как у dateutil, но гораздо более высокая скорость парсинга.
- newsworker библиотека и инструмент на Python для извлечения новостей из веб страниц. Например, когда надо подписаться на сайт через RSS, а RSS ленты нет. Понимает множество форматов дат используя qddate и динамически идентифицирует новостные блоки.
- russiannames база данных и парсер Python для разного рода написания ФИО принятых в российской практике. В базе десятки тысяч имен и отчеств и сотни тысяч фамилий
- undatum утилита командной строки для работы с датасетами в форматах CSV, JSONl, Parquet и сотне других форматах. Умеет преобразовывать данные и проводить с ними различные операции. Эдакий швейцарский нож для работы с данными с командной строки
- metawarc утилита по извлечению метаданных из файлов веб-архивов (WARC). Умеет извлекать метаданные из офисных файлов, PDF, изображений и тд.
- plainrussian сервис проверки простоты текстов на русском языке используя формулы читабельности адаптированные под русский язык. Код самого сервиса и формул для расчета
- iterabledata библиотека для Python для чтения и записи практически всех существующих форматов файлов с данными. Используется в утилите undatum
- internacia-db дата продукт в виде датасета по всем странам и макрорегионам во множестве форматов и покрытием всего мира и многими метаданными по каждой территории
#opensource #datatools #tools
GitHub
GitHub - ivbeg/qddate: Quick and dirty date parsing Python library to parse HTML dates really fast
Quick and dirty date parsing Python library to parse HTML dates really fast - ivbeg/qddate
👍13🔥6✍4❤4
newsworker-missing-features-audit.pdf
286.1 KB
Помните я писал подход к разработке через режим
где прежде чем приступаешь к изменениям в коде запускаешь неоднократный анализ имеющегося.
Я регулярно тестирую новые LLM модели и агентские сервисы на разных репозиториях запросами именно на их полноты и подготовки роадмапов. Эдакий внешний ревью архитектуры, кода и перспектив продукта.
Примеры такого анализа на коммерческих репозиториях показать я не могу, а вот почему бы не показать пример анализа открытого кода. Все та же библиотека и инструмент newsworker о которой я ранее писал и которая умеет преобразовывать страницы без RSS/Atom в RSS/Atom и другие новостные ленты.
В этом примере я запросил у агента Z.ai и модель GLM-5.2 провести аудит репозитория и составить перечень нехватающих функций и роадмап по их внедрению.
Результат более чем удовлетворительный. Не идеальный, но таким он и не может быть, но экономящий время и через несколько корректировочных вводных позволяющий превратить этот открытый продукт в более удобный инструмент.
Причем разные инструменты и LLM дают разные результаты. Хороший итоговый анализ является сводным и дополненным личными архитектурными комментариями видения продукта.
Ну и конечно не могу не добавить что все что касается открытых репозиториев - это отличный полигон для тестирования применения кодирующих ИИ.
#opensource #ai #coding
set the goal → analyze + analyze + analyze → review → design → plan → execute → (repeat tests till conditions met) → verify
где прежде чем приступаешь к изменениям в коде запускаешь неоднократный анализ имеющегося.
Я регулярно тестирую новые LLM модели и агентские сервисы на разных репозиториях запросами именно на их полноты и подготовки роадмапов. Эдакий внешний ревью архитектуры, кода и перспектив продукта.
Примеры такого анализа на коммерческих репозиториях показать я не могу, а вот почему бы не показать пример анализа открытого кода. Все та же библиотека и инструмент newsworker о которой я ранее писал и которая умеет преобразовывать страницы без RSS/Atom в RSS/Atom и другие новостные ленты.
В этом примере я запросил у агента Z.ai и модель GLM-5.2 провести аудит репозитория и составить перечень нехватающих функций и роадмап по их внедрению.
Результат более чем удовлетворительный. Не идеальный, но таким он и не может быть, но экономящий время и через несколько корректировочных вводных позволяющий превратить этот открытый продукт в более удобный инструмент.
Причем разные инструменты и LLM дают разные результаты. Хороший итоговый анализ является сводным и дополненным личными архитектурными комментариями видения продукта.
Ну и конечно не могу не добавить что все что касается открытых репозиториев - это отличный полигон для тестирования применения кодирующих ИИ.
#opensource #ai #coding
👍7✍4⚡2❤1💊1
В продолжение моих размышлений про чтение новостей и инструменты для этого, я на этих выходных чуть потратил времени и сделал в библиотеке newsworker очень давнюю идею шаблонов извлечения новостей.
Оригинальная идея инструмента была в том что алгоритм идентифицировал новостные блоки и даты динамически, каждый раз прогоняя веб страницу через кластеризацию и идентификацию дат по сотням шаблонам. Это хотя и ускорено, но все таки не самый оптимальный способ извлечения контента.
Идея была в том чтобы по итогам анализа страницы создавать псевдокод/конфиг и потом уже по нему извлекать контент. В общем-то ничего сверх сложного, но и. не настолько просто чтобы можно было сделать быстро. Сейчас, с помощью ИИ агентов для разработки все сильно ускорилось.
Так что в последней версии newsworker появилось две команды analyze и extract где первая создает спецификацию, а вторая по спецификации извлекает новости.
Второе важное изменение - это команда serve запускающая инструмент в серверном режиме, можно по эндпоинту передавать ссылку на веб страницу и получать RSS/Atom ленту на выходе. Тем самым можно интегрировать с любой RSS читалкой и развернуть этот сервер у себя локально или где-то в сети. Сервер по умолчанию работает через спецификации поэтому потребление CPU и памяти в нем минимизировано.
Все это не делает пока что инструмент для конечных пользователей, нужны технические навыки чтобы его развернуть. Но в целом я чувствую некую завершенность того что хотелось сделать еще лет 15 назад, и сейчас удалось доделать за пару дней и применять с пользой. Как минимум мне лично это облегчит чтение новостей из многих источников.
#opensource
Оригинальная идея инструмента была в том что алгоритм идентифицировал новостные блоки и даты динамически, каждый раз прогоняя веб страницу через кластеризацию и идентификацию дат по сотням шаблонам. Это хотя и ускорено, но все таки не самый оптимальный способ извлечения контента.
Идея была в том чтобы по итогам анализа страницы создавать псевдокод/конфиг и потом уже по нему извлекать контент. В общем-то ничего сверх сложного, но и. не настолько просто чтобы можно было сделать быстро. Сейчас, с помощью ИИ агентов для разработки все сильно ускорилось.
Так что в последней версии newsworker появилось две команды analyze и extract где первая создает спецификацию, а вторая по спецификации извлекает новости.
Второе важное изменение - это команда serve запускающая инструмент в серверном режиме, можно по эндпоинту передавать ссылку на веб страницу и получать RSS/Atom ленту на выходе. Тем самым можно интегрировать с любой RSS читалкой и развернуть этот сервер у себя локально или где-то в сети. Сервер по умолчанию работает через спецификации поэтому потребление CPU и памяти в нем минимизировано.
Все это не делает пока что инструмент для конечных пользователей, нужны технические навыки чтобы его развернуть. Но в целом я чувствую некую завершенность того что хотелось сделать еще лет 15 назад, и сейчас удалось доделать за пару дней и применять с пользой. Как минимум мне лично это облегчит чтение новостей из многих источников.
#opensource
👍8✍5🔥3⚡1
datannur свежее ПО каталога данных с открытым кодом под MIT лицензией. На самом деле является каталогом метаданных и работает через сканирование локальных папок с дата файлами на диске на основе которых создаются их профили, извлекаются колонки/переменные, считается статистика и так далее. И даже есть ассистент отвечающий на вопросы про эти метаданные/данные.
Проект любопытный, но ИМХО автор совсем не понимает своих предполагаемых пользователей и переусложняет то что надо, наоборот, упрощать.
Тем не менее хорошие идеи там тоже есть и посмотрим куда автор свой проект будет развивать.
#opensource #opendata #datacatalogs
Проект любопытный, но ИМХО автор совсем не понимает своих предполагаемых пользователей и переусложняет то что надо, наоборот, упрощать.
Тем не менее хорошие идеи там тоже есть и посмотрим куда автор свой проект будет развивать.
#opensource #opendata #datacatalogs
👍2🤔1
Allemannsdata коллекция MCP сервисов для 24 API/сервисов открытых норвежских данных. Хотелось бы сказать что сделано норвежским правительством/министерством цифры, но нет, это инициатива одного разработчика.
Дело полезное, но еще лучше когда будет официальное чтобы точно быть уверенными что будет стабильно работать.
А вообще вот вам пример потестить навыки, берете открытое госAPI или большой датасет и делаете над ним открытый MCP сервис. Почему нет?
#opensource #API #AI
Дело полезное, но еще лучше когда будет официальное чтобы точно быть уверенными что будет стабильно работать.
А вообще вот вам пример потестить навыки, берете открытое госAPI или большой датасет и делаете над ним открытый MCP сервис. Почему нет?
#opensource #API #AI
👍4