Media is too big
VIEW IN TELEGRAM
Разработчик представил собственный open-source клон NotebookLM, который способен обрабатывать мультимодальные данные, собирать знания из разных источников и даже генерировать подкасты.
По словам автора, цель проекта не повторить оригинал, а разобраться, как работают современные инструменты для обучения и исследований, реализовав их шаг за шагом.
Функциональность впечатляет:
- обработка текста, аудио, видео, ссылок и роликов с YouTube;
- создание единой базы знаний и поиск по ней через RAG;
- система памяти, запоминающая диалоги и предпочтения пользователя;
- генерация подкастов с помощью локальной модели синтеза речи.
Весь проект полностью открытый и доступен на GitHub, а сборка работает локально, без облачных зависимостей.
👉 @PythonPortal
По словам автора, цель проекта не повторить оригинал, а разобраться, как работают современные инструменты для обучения и исследований, реализовав их шаг за шагом.
Функциональность впечатляет:
- обработка текста, аудио, видео, ссылок и роликов с YouTube;
- создание единой базы знаний и поиск по ней через RAG;
- система памяти, запоминающая диалоги и предпочтения пользователя;
- генерация подкастов с помощью локальной модели синтеза речи.
Весь проект полностью открытый и доступен на GitHub, а сборка работает локально, без облачных зависимостей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤7🌭3🤔2
Как работать с requirements.txt и не запутаться в зависимостях
Когда Python-проект разрастается, в нём появляется десятки библиотек. Чтобы не ставить их вручную и не ломать окружение, используется файл requirements.txt - список всех зависимостей проекта.
Чтобы сохранить список установленных библиотек, достаточно одной команды:
Она выгрузит все текущие пакеты и их версии в requirements.txt.
Чтобы развернуть проект на другой машине или сервере, выполняем:
Все нужные пакеты установятся автоматически — с нужными версиями.
В requirements.txt можно указывать версии библиотек по-разному:
И не забывай: комментарии начинаются с #.
Если проект большой то можно разбить зависимости:
Так ты отделишь продакшен-зависимости от тех, что нужны только для разработки.
Чтобы зафиксировать версии пакетов без прямого указания в основном файле, можно использовать constraints.txt:
Пример:
requirements.txt:
constraints.txt:
Для разных задач - свои зависимости:
Пример:
Чтобы подтянуть свежие версии библиотек:
Всегда изолируй зависимости:
👉 @PythonPortal
Когда Python-проект разрастается, в нём появляется десятки библиотек. Чтобы не ставить их вручную и не ломать окружение, используется файл requirements.txt - список всех зависимостей проекта.
Чтобы сохранить список установленных библиотек, достаточно одной команды:
pip freeze > requirements.txt
Она выгрузит все текущие пакеты и их версии в requirements.txt.
Чтобы развернуть проект на другой машине или сервере, выполняем:
pip install -r requirements.txt
Все нужные пакеты установятся автоматически — с нужными версиями.
В requirements.txt можно указывать версии библиотек по-разному:
numpy==1.21.0 # строгая версия
pandas>=1.3.0 # версия не ниже указанной
requests # установится последняя
И не забывай: комментарии начинаются с #.
# Основные зависимости
numpy==1.21.0
pandas>=1.3.0
# Для тестов
pytest
Если проект большой то можно разбить зависимости:
# requirements.txt
-r base.txt
-r dev.txt
Так ты отделишь продакшен-зависимости от тех, что нужны только для разработки.
Чтобы зафиксировать версии пакетов без прямого указания в основном файле, можно использовать constraints.txt:
pip install -r requirements.txt -c constraints.txt
Пример:
requirements.txt:
numpy==1.21.0
pandas
constraints.txt:
pandas<=1.3.5
Для разных задач - свои зависимости:
requirements-dev.txt # разработка
requirements-test.txt # тесты
requirements-prod.txt # продакшен
Пример:
pip install -r requirements-dev.txt
Чтобы подтянуть свежие версии библиотек:
pip install --upgrade -r requirements.txt
Всегда изолируй зависимости:
python -m venv venv
source venv/bin/activate # macOS/Linux
venv\Scripts\activate # Windows
pip install -r requirements.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
❤17👍13🔥11💊1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤34🤔16🔥9👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Python митап от Авито 27 октября в Москве! ☄
Вечером 27 октября вас ждут в офисе на Лесной, чтобы обсудить:
➡ кейс оптимизации GC в Python от Саши Федосеева, backend-инженера из команды Main Page Tech Авито;
➡ как mypy укрощает Python в большой компании вместе с Сергеем Яхницким из Яндекса.
После докладов, как и сказали выше, вместе с участниками спикеры обсудят, подходит ли Python для запуска больших нагруженных решений в формате круглого стола.
Для тех, кто не успевает вырваться из офиса или дома, будет онлайн-трансляция.
Так что не откладывайте, регистрируйтесь и зовите коллег — все подробности по ссылке
Вечером 27 октября вас ждут в офисе на Лесной, чтобы обсудить:
После докладов, как и сказали выше, вместе с участниками спикеры обсудят, подходит ли Python для запуска больших нагруженных решений в формате круглого стола.
Для тех, кто не успевает вырваться из офиса или дома, будет онлайн-трансляция.
Так что не откладывайте, регистрируйтесь и зовите коллег — все подробности по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатный курс от MIT для начинающих по основам компьютерных наук. В этих классических лекциях разбираются такие концепции, как дизайн языков программирования, абстракция и рекурсия: https://bit.ly/46zVDEy
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍3
Вот трюк для оптимизации нейросетки, который даёт примерно 4x ускорение при передаче данных с CPU на GPU.
Представим задачу классификации изображений.
Определяем модель, загружаем и преобразуем данные.
В цикле обучения передаём данные на GPU и тренируем сеть.
В чём проблема:
Если заглянуть в профайлер,
- большая часть ресурсов уходит на ядро (то есть на само обучение),
- но заметное время тратится и на передачу данных с CPU на GPU (cudaMemcpyAsync).
Сократить это просто.
Изначально датасет состоит из пикселей в виде 8-битных целых чисел. Мы преобразуем их в 32-битные float’ы.
А потом именно эти float-тензоры гоняем на GPU. В итоге данных стало в 4 раза больше, а значит, и передача тяжелее.
Решение:
Сдвинуть шаг преобразования после передачи. То есть сначала передаём 8-битные int’ы, а уже на GPU конвертируем их в float.
В результате шаг передачи данных заметно ускорится.
Конечно, это работает не везде, например, в NLP мы изначально имеем дело с float-эмбеддингами.
Но в случаях, где это применимо, ускорение получается очень ощутимым.
👉 @PythonPortal
Представим задачу классификации изображений.
Определяем модель, загружаем и преобразуем данные.
В цикле обучения передаём данные на GPU и тренируем сеть.
В чём проблема:
Если заглянуть в профайлер,
- большая часть ресурсов уходит на ядро (то есть на само обучение),
- но заметное время тратится и на передачу данных с CPU на GPU (cudaMemcpyAsync).
Сократить это просто.
Изначально датасет состоит из пикселей в виде 8-битных целых чисел. Мы преобразуем их в 32-битные float’ы.
А потом именно эти float-тензоры гоняем на GPU. В итоге данных стало в 4 раза больше, а значит, и передача тяжелее.
Решение:
Сдвинуть шаг преобразования после передачи. То есть сначала передаём 8-битные int’ы, а уже на GPU конвертируем их в float.
В результате шаг передачи данных заметно ускорится.
Конечно, это работает не везде, например, в NLP мы изначально имеем дело с float-эмбеддингами.
Но в случаях, где это применимо, ускорение получается очень ощутимым.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤30
Please open Telegram to view this post
VIEW IN TELEGRAM
😁65🤣43❤5🔥3👀2
This media is not supported in your browser
VIEW IN TELEGRAM
Бесплатная халява в Steam
Забираем Upload Labs — симулятор программиста, где тебе предстоит спасти Вселенную от тепловой смерти, создав идеальную компьютерную систему.🤣
Готовься к настоящему испытанию мозга, ведь придётся писать код, оптимизировать ресурсы и заставлять всё работать как часы.
Забираем: стим
👉 @PythonPortal
Забираем Upload Labs — симулятор программиста, где тебе предстоит спасти Вселенную от тепловой смерти, создав идеальную компьютерную систему.
Готовься к настоящему испытанию мозга, ведь придётся писать код, оптимизировать ресурсы и заставлять всё работать как часы.
Забираем: стим
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33🔥2🤯1💊1
Совет по чистому коду в Python:
Избегай наивных datetime-объектов — всегда используй те, что учитывают часовой пояс.
Работай с ними в UTC, а пользователю показывай только в его локальной таймзоне.
👉 @PythonPortal
Избегай наивных datetime-объектов — всегда используй те, что учитывают часовой пояс.
Работай с ними в UTC, а пользователю показывай только в его локальной таймзоне.
import datetime
from zoneinfo import ZoneInfo
# BAD
now = datetime.datetime.now()
print(now.isoformat())
# 2025-10-21T15:03:07.332217
# GOOD
now = datetime.datetime.now(tz=ZoneInfo("UTC"))
print(now.isoformat())
# 2025-10-21T12:04:22.573590+00:00
print(now.astimezone().isoformat())
# 2025-10-21T15:04:22.573590+03:00
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35❤2💊1
This media is not supported in your browser
VIEW IN TELEGRAM
Один One Day Offer вам или целых три — всем? 😉
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
25 октября Сбер проведёт сразу три экспресс-отбора кандидатов в две команды: GigaData и Kandinsky. Чем вам предстоит заниматься 👇
✔️ Развивать GigaData — внутреннюю платформу Сбера, которая обрабатывает петабайты данных и миллиарды запросов в сутки. One Day Offer для Python‑разработчиков.
✔️ Работать над Kandinsky — обучать большие модели с нуля, собирать и подготавливать данные, исследовать самые эффективные методы дообучения моделей.
— One Day Offer для Machine Learning Engineers с опытом в Deep Learning и компьютерном зрении (CV).
— One Day Offer для Research и Deep Learning Engineers.
Выбирайте то, что больше подходит под ваши навыки, и регистрируйтесь на One Day Offer!
❤5👍2
Media is too big
VIEW IN TELEGRAM
OpenAI выпустила Atlas новый браузер с искусственным интеллектом, который умеет запоминать контекст и работает в Agent Mode.
Что известно:
Atlas полностью интегрирован с ChatGPT и использует ChatGPT Search под капотом.
В Agent Mode браузер может сам ходить по сайтам, кликать, искать и выполнять действия.
Можно открывать неограниченное число вкладок с агентами — каждый живёт своей жизнью и решает отдельные задачи.
Atlas уже доступен для пользователей Free, Plus, Pro, Go и Business по всему миру.
Пользователи Enterprise и Education могут получить доступ к бете, если админ включит её. Также в разработке версии для Windows, iOS и Android.
Скачать можно на chatgpt.com/atlas
Надеемся, что пользователи Windows скоро тоже смогут оценить этот новый браузер в деле.😎
👉 @PythonPortal
Что известно:
Atlas полностью интегрирован с ChatGPT и использует ChatGPT Search под капотом.
В Agent Mode браузер может сам ходить по сайтам, кликать, искать и выполнять действия.
Можно открывать неограниченное число вкладок с агентами — каждый живёт своей жизнью и решает отдельные задачи.
Atlas уже доступен для пользователей Free, Plus, Pro, Go и Business по всему миру.
Пользователи Enterprise и Education могут получить доступ к бете, если админ включит её. Также в разработке версии для Windows, iOS и Android.
Скачать можно на chatgpt.com/atlas
Надеемся, что пользователи Windows скоро тоже смогут оценить этот новый браузер в деле.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5💊2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁80🔥9💊6🤔4🌚3❤2👍1🤣1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
Изучай алгоритмы computer science наглядно
Этот онлайн-инструмент помогает разобраться с широким спектром алгоритмов через интерактивные визуализации.
Пошагово проходи выполнение каждого алгоритма, наблюдай, как изменяются структуры данных, и понимай логику каждой операции.😑
👉 @PythonPortal
Этот онлайн-инструмент помогает разобраться с широким спектром алгоритмов через интерактивные визуализации.
Пошагово проходи выполнение каждого алгоритма, наблюдай, как изменяются структуры данных, и понимай логику каждой операции.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Эксперимент: диффузионная текстовая модель на 11 млн параметров
Разработчик тестирует миниатюрную символьную диффузионную модель (всего 11M параметров), основанную на переработанной версии nanochat GPT. Вместо классического авторегрессионного декодирования используется диффузионный подход, а обучается модель на датасете Tiny Shakespeare.
В процессе экспериментов исследуются разные стратегии маскирования токенов. Простая схема с равномерной вероятностью уступает новым методам, где маскирование идёт блоками слева направо = это повышает качество вывода и даёт возможность частично переиспользовать KVCache.
Самое интересное, автор попробовал применять маскирование по правилам «Игры жизни» Конвея, и это дало неожиданные, но визуально захватывающие результаты.
Он предполагает, что подобные нестандартные схемы маскирования могут привести к новым эффектам и улучшениям в генерации текста.
Эксперимент ещё в работе, но уже выглядит как увлекательное направление для развития текстовых диффузионных моделей.
👉 @PythonPortal
Разработчик тестирует миниатюрную символьную диффузионную модель (всего 11M параметров), основанную на переработанной версии nanochat GPT. Вместо классического авторегрессионного декодирования используется диффузионный подход, а обучается модель на датасете Tiny Shakespeare.
В процессе экспериментов исследуются разные стратегии маскирования токенов. Простая схема с равномерной вероятностью уступает новым методам, где маскирование идёт блоками слева направо = это повышает качество вывода и даёт возможность частично переиспользовать KVCache.
Самое интересное, автор попробовал применять маскирование по правилам «Игры жизни» Конвея, и это дало неожиданные, но визуально захватывающие результаты.
Он предполагает, что подобные нестандартные схемы маскирования могут привести к новым эффектам и улучшениям в генерации текста.
Эксперимент ещё в работе, но уже выглядит как увлекательное направление для развития текстовых диффузионных моделей.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍7🔥5
Самостоятельные курсы по программированию для школьников от Яндекс Лицея
Убрали дедлайны, отборы и преподавателей, чтобы вы смогли в комфортном темпе проходить материал. Сейчас доступны курсы по Go, С++ и фронтенд-разработке.
Эти курсы помогут понять, нравится вам кодить или нет, подготовиться к экзаменам, контрольным по информатике. Можно сказать, что это замена репетитора для более детального изучения тем.
👉 Регистрируемся и начинаем обучение здесь
Убрали дедлайны, отборы и преподавателей, чтобы вы смогли в комфортном темпе проходить материал. Сейчас доступны курсы по Go, С++ и фронтенд-разработке.
Эти курсы помогут понять, нравится вам кодить или нет, подготовиться к экзаменам, контрольным по информатике. Можно сказать, что это замена репетитора для более детального изучения тем.
👉 Регистрируемся и начинаем обучение здесь