Microsoft снова в своём стиле
Собирать решение на агенте с ИИ почти никогда не получается с первого раза.
Дни уходят на то, чтобы крутить промпты, добавлять примеры, надеяться на улучшение. Никакой системы, один сплошной тык.
И как раз это решает Agent Lightning от Microsoft.😏
Это опенсорсный фреймворк, который обучает ЛЮБОГО ИИ-агента с помощью обучения с подкреплением. Подходит для LangChain, AutoGen, CrewAI, OpenAI SDK или просто Python.
Как это работает:
Агент работает как обычно с любым фреймворком. Просто добавляешь лёгкий вызов agl.emit() или даёшь трейсеру самому собирать данные.
Agent Lightning собирает каждый промпт, вызов инструмента и награду. Сохраняет всё как структурированные события.
Ты выбираешь алгоритм (RL, оптимизация промптов, fine-tuning). Он читает события, находит паттерны и генерирует улучшенные промпты или веса политики.
Trainer загружает обновления обратно в агента. Агент становится умнее, без переписывания кода.
Самое приятное: можно оптимизировать каждого агента в системе из нескольких агентов.
👉 @PythonPortal
Собирать решение на агенте с ИИ почти никогда не получается с первого раза.
Дни уходят на то, чтобы крутить промпты, добавлять примеры, надеяться на улучшение. Никакой системы, один сплошной тык.
И как раз это решает Agent Lightning от Microsoft.
Это опенсорсный фреймворк, который обучает ЛЮБОГО ИИ-агента с помощью обучения с подкреплением. Подходит для LangChain, AutoGen, CrewAI, OpenAI SDK или просто Python.
Как это работает:
Агент работает как обычно с любым фреймворком. Просто добавляешь лёгкий вызов agl.emit() или даёшь трейсеру самому собирать данные.
Agent Lightning собирает каждый промпт, вызов инструмента и награду. Сохраняет всё как структурированные события.
Ты выбираешь алгоритм (RL, оптимизация промптов, fine-tuning). Он читает события, находит паттерны и генерирует улучшенные промпты или веса политики.
Trainer загружает обновления обратно в агента. Агент становится умнее, без переписывания кода.
Самое приятное: можно оптимизировать каждого агента в системе из нескольких агентов.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Datalab выкатывает Chandra
Среди open-source OCR внезапно появился новый чемпион. Модель Chandra от команды Datalab залетела на независимые бенчмарки и обошла прежнего топа dots-ocr. Судя по тестам, это не просто ещё один форк, а реально мощный инструмент.
Chandra уверенно работает с текстом, таблицами и даже формулами. Поддерживает больше сорока языков и не только печатный текст, но и старые рукописи. Один из тестов прогнали на письме Рамануджана 1913 года, и модель справилась без кривых артефактов.
Проект полностью открыт
👉 @PythonPortal
Среди open-source OCR внезапно появился новый чемпион. Модель Chandra от команды Datalab залетела на независимые бенчмарки и обошла прежнего топа dots-ocr. Судя по тестам, это не просто ещё один форк, а реально мощный инструмент.
Chandra уверенно работает с текстом, таблицами и даже формулами. Поддерживает больше сорока языков и не только печатный текст, но и старые рукописи. Один из тестов прогнали на письме Рамануджана 1913 года, и модель справилась без кривых артефактов.
Проект полностью открыт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤8🔥5
Python совет:
itertools.dropwhile пропускает элементы итерируемого объекта, пока условие возвращает True, а затем отдаёт все последующие элементы, начиная с первого, для которого условие стало False.
Итератор dropwhile не вернет ни одного элемента, пока предикат хотя бы раз не даст False.
Пример👇
👉 @PythonPortal
itertools.dropwhile пропускает элементы итерируемого объекта, пока условие возвращает True, а затем отдаёт все последующие элементы, начиная с первого, для которого условие стало False.
Итератор dropwhile не вернет ни одного элемента, пока предикат хотя бы раз не даст False.
Пример
>>> import itertools
>>> purchase_price = 99.00
>>> daily_prices = [95, 97, 94, 96, 100, 102, 99]
>>> prices_after_gain = list(itertools.dropwhile(lambda price: price <= purchase_price, daily_prices))
prices_after_gain
[100, 102, 99]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🤔3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣83❤8🤯6😁1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
Преподаватель показал, как метод Монте-Карло помогает по-настоящему разбираться в данных. Он собрал интерактивный дашборд на Python с использованием Matplotlib, чтобы студенты могли сами моделировать неопределённость в оценке запасов лития. 🌟
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤔4❤3😁1
Telegram опубликовал список 8 самых быстрорастущих каналов для программистов:
Only Python — Подборки приёмов и фич, о которых не рассказывают в курсах.
Only Tech — Главные тренды и инсайды из мира технологий, маркетинга и интернет-культуры.
Only Hack — Реальные кейсы кибератак, инструменты и методы защиты, которые используют хакеры.
Only GitHub — Репозитории, которые решают реальные задачи.
Скрипты, фреймворки и готовые решения
Only IT — Без мнений и слухов — только факты и важные IT-события.
Only Apple — Новые апдейты, утечки и фишки, которые Apple ещё не показала.
Only GPT — Промпты, хаки и свежие инструменты, о которых молчат даже AI-каналы.
Only Memes — Если ты когда-нибудь деплоил в пятницу вечером — ты поймешь
Подписывайтесь и прокачивайте свои скиллы.
Only Python — Подборки приёмов и фич, о которых не рассказывают в курсах.
Only Tech — Главные тренды и инсайды из мира технологий, маркетинга и интернет-культуры.
Only Hack — Реальные кейсы кибератак, инструменты и методы защиты, которые используют хакеры.
Only GitHub — Репозитории, которые решают реальные задачи.
Скрипты, фреймворки и готовые решения
Only IT — Без мнений и слухов — только факты и важные IT-события.
Only Apple — Новые апдейты, утечки и фишки, которые Apple ещё не показала.
Only GPT — Промпты, хаки и свежие инструменты, о которых молчат даже AI-каналы.
Only Memes — Если ты когда-нибудь деплоил в пятницу вечером — ты поймешь
Подписывайтесь и прокачивайте свои скиллы.
🤣13💊9🌚2🤯1
This media is not supported in your browser
VIEW IN TELEGRAM
Фишка на GitHub! Добавь
Бесплатно. Смотри , как это работает
👉 @PythonPortal
0 в URL Pull Request, и ИИ поможет тебе разобрать и понять изменения, которые хотят влить. Бесплатно. Смотри , как это работает
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5💊2
12 Python-библиотек для бесплатных рыночных данных, которые стоит знать каждому:
👉 @PythonPortal
🔸 yfinance
Данные по акциям: история, внутридневные котировки, фундаменталка. Плюс FX, крипта и опционы. Юзает Yahoo Finance, так что все данные оттуда доступны через yfinance.🔸 pandas-datareader
Раньше был частью pandas, теперь отдельный проект. Данные по акциям, валютам, экономическим индикаторам, факторам Фама-Френча и много чего еще.
Документация: https://pandas-datareader.readthedocs.io/en/latest/🔸 IBApi
Официальный API Interactive Brokers с доступом ко всем их данным. Пришел на замену IBPy.
Документация: https://interactivebrokers.github.io/tws-api/🔸 Alpha Vantage
Бесплатный API с реальными котировками и популярными финансовыми индикаторами. Формат JSON или CSV.🔸 Nasdaq Data Link (бывший Quandl)
Миллионы финансовых и экономических датасетов от сотен источников прямо в Python.🔸 Twelve Data
Доступ к 100000+ тикеров по акциям, форексу, индексам и фундаментальным данным со всего мира.🔸 Polygon.io
Реальные и исторические данные по акциям, валютам и криптовалютам.🔸 Tradier
Python-библиотеки для работы с Tradier API.🔸 alpaca-py
Все, что угодно: от стриминга рыночных данных до разработки своих инвест-приложений.🔸 Finnhub
Реалтайм REST API и вебсокеты для акций, валют и крипты.🔸 marketstack
Внутридневные и исторические данные за 30+ лет, 170000+ тикеров.
Документация: https://marketstack.com/documentation🔸 Tiingo
API с котировками на конец дня. Ставка на надежность, прозрачность и полноту.
Документация: https://api.tiingo.com/documentation/general/overview
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥16👍7❤5
Deepnote уходит в open source и серьезно наезжает на Jupyter. Платформа предлагает мощный kernel с полной обратной совместимостью, но заметно более современный опыт работы с ноутбуками. Это все тот же формат для исследований данных и быстрой аналитики, только с нормальными версиями, комментариями, ревью и красивыми диффами.
В одном workspace могут спокойно работать и дата-инженеры, и менеджеры. Можно писать на Python, SQL или R, подключать сотни источников данных и даже собирать логику из no-code блоков вместе с AI-агентом. Поддерживается работа через VS Code, Cursor, Windsurf и JupyterLab. Интерфейс свежий, не из прошлого десятилетия. И да, .ipynb полностью гоняется туда-обратно.
Если Jupyter и дальше будет стоять на месте, Deepnote может занять его место уже в ближайшие годы.👀
👉 @PythonPortal
В одном workspace могут спокойно работать и дата-инженеры, и менеджеры. Можно писать на Python, SQL или R, подключать сотни источников данных и даже собирать логику из no-code блоков вместе с AI-агентом. Поддерживается работа через VS Code, Cursor, Windsurf и JupyterLab. Интерфейс свежий, не из прошлого десятилетия. И да, .ipynb полностью гоняется туда-обратно.
Если Jupyter и дальше будет стоять на месте, Deepnote может занять его место уже в ближайшие годы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🤯7👍4
Когда: 25–28 ноября
Формат: онлайн + финал на площадке
Участвуй, если ты:
Выбери свой кейс:
✴️ VibeCode Jam: собеседование будущего. Создай ИИ-платформу для прохождения технических собеседований с виртуальным интервьюером.✴️ Self-Deploy: CI/CD без DevOps. Автоматизируй генерацию CI/CD пайплайнов по анализу структуры Git-репозитория.
Почему стоит участвовать:
Регистрация открыта!
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
💊2
«Это же Python.. что ни сделай - всё в итоге аллоцируется».
Насколько это правда?
Разработчик внёс правку в CPython, чтобы логировались все аллокации объектов int. Затем запустил простой цикл сложения чисел 100 тысяч раз. В терминал прилетело 101006 сообщений.
Почему так много?
Во внутренних механизмах CPython каждое целое число представлено объектом PyLongObject в куче. И маленькие тоже.
Большинство VM используют tagged pointers, чтобы обойтись без лишних аллокаций. Даже Smalltalk в 80-х уже умел это. Python же идёт по тяжёлому пути: каждая аллокация тормозит работу, а редкий случай больших чисел ухудшает производительность самого частого кейса — простых интов.
Допущение: в тесте использовался print, который тоже может порождать новые ints. Разработчик убрал print. Количество аллокаций резко снизилось.
Куда делись остальные ~100k?
Смотрим функцию сложения ints. Если оба операнда меньше 2^30, их значения просто достаются и складываются напрямую. Тип stwodigits так и называется потому, что PyLongObject хранит число в основании 2^30 - каждый элемент массива хранит такой разряд.
Дальше вызывается _PyLong_FromSTwoDigits. В зависимости от величины числа - три пути.
Для маленьких чисел есть оптимизация: готовый статический массив маленьких PyLongObject, без аллокаций в куче. Просто возвращается указатель.
Для средних значений подключается другая функция. И вот что важно:
long_alloc тут не используется
Сначала пытается взять объект из freelist
Если нет свободных = создаёт новый
Freelist - типичная техника для переиспользования освобождённых объектов, чтобы лишний раз не трогать аллокатор.
В long_dealloc объект аккуратно возвращается в этот список.
Разработчик перенёс отладочный вывод в _PyLong_FromMedium: стало видно, что приличная часть объектов переиспользуется.
Но даже так накладные расходы огромные. На уровне процессора сложение двух int - одна инструкция ADD, исполняемая за один такт. В Python же вокруг неё целый аттракцион.
Плюс заметно отсутствие довольно старых оптимизаций, известных индустрии десятки лет.
Хороший пример того, что возможность контролировать аллокации позволяет строить специализированные аллокаторы и избавляться от мусора по пути.
И именно такие вещи делают языки вроде Zig привлекательными для разработчиков.
Подробнее с кодом: тык
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4🤔1