Моя вчерашняя рабочая сессия с Gemini закончилась так.
Как думаете, решение оказалось по итогу рабочим?😂
Как думаете, решение оказалось по итогу рабочим?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18 6🤣4🌚1🤪1
Общий сбор! 💪
Есть, кто может порекомендовать курсы / магистерские программы по таким критериям?
◽️Тематика — ИИ и около
◽️Наполнение — не стандартные от основ python и sql к перцептрону, а что-то более интересное (например, агенты, MCP, LLM, всё, что за рамками стандартного джентельменского набора)
◽️Формат — много практики внутри (хакатоны, kaggle, проекты, стартапы)
◽️Уровень — не для совсем начинающих
Ну или максимально приближенное к этому.
Не дайте мне разочароваться в мире, точно что-то должно быть😳
Есть, кто может порекомендовать курсы / магистерские программы по таким критериям?
◽️Тематика — ИИ и около
◽️Наполнение — не стандартные от основ python и sql к перцептрону, а что-то более интересное (например, агенты, MCP, LLM, всё, что за рамками стандартного джентельменского набора)
◽️Формат — много практики внутри (хакатоны, kaggle, проекты, стартапы)
◽️Уровень — не для совсем начинающих
Ну или максимально приближенное к этому.
Не дайте мне разочароваться в мире, точно что-то должно быть
Please open Telegram to view this post
VIEW IN TELEGRAM
🤓2👀2✍1🤔1
🧹 Пора навести порядок в списках Python! 💥 При помощи карточек вспоминаем, как удалять элементы: от
del
до list comprehensions.🔥12👍5 2⚡1👌1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
Главная фишка, которой они трясут — переход от «вайб-кодинга» к «spec-driven development». Типа, ты больше не кидаешь в чат абстрактные идеи, а IDE сама раскладывает их на внятные спеки, архитектуру и таски. А уже потом по этому ТЗ работают AI-агенты.
Что еще обещают:
▫️ Автоматическое написание доков и тестов по триггерам (например, на save файла).
▫️ Полная совместимость с плагинами и настройками VS Code.
▫️ Можно скормить фотку диаграммы с доски, и она её поймет.
Звучит как попытка превратить тупого AI-ассистента в системного аналитика.
Ну и самое прекрасное — пока что всё это бесплатно, потому что "Preview" 🌚. Мы-то знаем, что это значит.
Тестим, пока дают: https://kiro.dev/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4 3🔥2🤔2⚡1🌚1
Что получим при запуске кода?
Anonymous Quiz
11%
None
27%
2 * 100 - 1
29%
OverflowError
16%
TypeError
16%
Всё зависнет
👍3 3✍2⚡1❤1🔥1
💥 Google DeepMind выкатил LEGO для AI-агентов!
Open-source библиотека GenAI Processors — это фреймворк, который предлагает новый взгляд на то, как можно организовывать AI-агентов.
Суть такая:
1. Всё — это ProcessorPart. Неважно, что прилетело: кусок аудио, кадр видео, текстовая транскрипция или JSON-чик с данными. Всё это теперь унифицированный "кубик" со своим типом, ролью и метаданными. Никакого зоопарка из форматов.
2. "Моторы" и "переключатели" для кубиков. Вместо того, чтобы лепить гигантские функции, ты собираешь свой AI из маленьких, переиспользуемых "процессоров". Они могут работать как последовательный конвейер (
GenAI Processors умеет сам жонглировать потоками, минимизировать задержки и обеспечивать хорошую отзывчивость (Time-To-First-Token).
Что с этим можно делать?
* Собирать real-time AI-агентов (слышит, видит, говорит) всего в несколько строк кода.
* Строить исследовательских агентов, которые сами ищут инфу в Google и синтезируют ответы.
* Делать умных планировщиков, которые, пока ты ждешь, уже в фоне накидывают тебе маршрут путешествия.
🧐 Разбор поподробнее с примерами кода читаем здесь.
Open-source библиотека GenAI Processors — это фреймворк, который предлагает новый взгляд на то, как можно организовывать AI-агентов.
Суть такая:
1. Всё — это ProcessorPart. Неважно, что прилетело: кусок аудио, кадр видео, текстовая транскрипция или JSON-чик с данными. Всё это теперь унифицированный "кубик" со своим типом, ролью и метаданными. Никакого зоопарка из форматов.
2. "Моторы" и "переключатели" для кубиков. Вместо того, чтобы лепить гигантские функции, ты собираешь свой AI из маленьких, переиспользуемых "процессоров". Они могут работать как последовательный конвейер (
Processor
), так и обрабатывать каждый кубик параллельно (PartProcessor
), выжимая максимум из асинхронности Python'а. Хочешь, чтобы данные обрабатывались разными способами одновременно? Пожалуйста: процессор1 // процессор2
. Хочешь последовательно? процессорА + процессорБ
. GenAI Processors умеет сам жонглировать потоками, минимизировать задержки и обеспечивать хорошую отзывчивость (Time-To-First-Token).
Что с этим можно делать?
* Собирать real-time AI-агентов (слышит, видит, говорит) всего в несколько строк кода.
* Строить исследовательских агентов, которые сами ищут инфу в Google и синтезируют ответы.
* Делать умных планировщиков, которые, пока ты ждешь, уже в фоне накидывают тебе маршрут путешествия.
🧐 Разбор поподробнее с примерами кода читаем здесь.
👍7❤1🙏1👌1
Teletype
Осваиваем query() и eval() в Pandas для лаконичной фильтрации и вычислений
Если вы работаете с данными в Python, библиотека pandas наверняка является одним из ваших основных инструментов. Она предоставляет удобные и гибкие...
Осваиваем query() и eval() в Pandas для лаконичной фильтрации и вычислений
Если вы работаете с данными, то наверняка знаете этот "скобочный ад" в pandas. Когда простое, на первый взгляд, условие фильтрации превращается в нечитаемое чудовище:
Но есть более читаемый путь. Речь, конечно, о методах
Все подробности, наглядные примеры разобрали в статье. Читаем 🚀
Если вы работаете с данными, то наверняка знаете этот "скобочный ад" в pandas. Когда простое, на первый взгляд, условие фильтрации превращается в нечитаемое чудовище:
df[(df['col1'] > X) & ((df['col2'] == Y) | (df['col3'] < Z))]
🤢Но есть более читаемый путь. Речь, конечно, о методах
query()
и eval()
. Они позволяют писать условия фильтрации и вычисления в виде простой строки, как будто вы описываете логику на естественном языке. Код становится чище, короче и понятнее с первого взгляда.Все подробности, наглядные примеры разобрали в статье. Читаем 🚀
🔥6⚡2👍2 2
Открытая альтернатива NotebookLM — NotebookLlama 🦙
Это полноценный AI-комбайн для работы с любыми документами, который можно развернуть у себя.
Что умеет эта 🦙:
✔️ Создаёт единую базу знаний из кучи файлов (PDF, DOCX, и т.д.).
✔️ Автоматически пишет саммари и строит интерактивные mind map-графы, чтобы вы не утонули в информации.
✔️ Позволяет чатиться с документами — задаете вопрос и получаете ответ строго по тексту, с указанием источников.
✔️ Может сгенерировать подкаст в формате диалога по вашему документу (использует ElevenLabs).
✔️ Полностью бесплатный, кастомизируемый и ваш.
Короче, мастхэв для всех, кто работает с информацией и хочет иметь под рукой собственный, а не корпоративный инструмент.
Я уже поковырялся в коде, разобрал архитектуру и написал подробнейший гайд по установке.
👉 Читаем, как запустить у себя
И вот ссылка на GitHub проекта 🫲🏻
Это полноценный AI-комбайн для работы с любыми документами, который можно развернуть у себя.
Что умеет эта 🦙:
✔️ Создаёт единую базу знаний из кучи файлов (PDF, DOCX, и т.д.).
✔️ Автоматически пишет саммари и строит интерактивные mind map-графы, чтобы вы не утонули в информации.
✔️ Позволяет чатиться с документами — задаете вопрос и получаете ответ строго по тексту, с указанием источников.
✔️ Может сгенерировать подкаст в формате диалога по вашему документу (использует ElevenLabs).
✔️ Полностью бесплатный, кастомизируемый и ваш.
Короче, мастхэв для всех, кто работает с информацией и хочет иметь под рукой собственный, а не корпоративный инструмент.
Я уже поковырялся в коде, разобрал архитектуру и написал подробнейший гайд по установке.
👉 Читаем, как запустить у себя
И вот ссылка на GitHub проекта 🫲🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥1🙏1👌1
Меня постоянно спрашивают: «Что учить для DS?», «А в каком порядке?», «А что самое важное?».
В общем, я заморочился — запилил интерактивную карту навыков по Data Science. Не стыдно и людям показать.
Что там внутри:
Лучше смотреть на десктопе, но и на смартах более-менее адаптируется.
В общем, сохраняйте в закладки, делитесь с коллегами и джунами
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23❤3👍3⚡2🤔1🆒1 1
Я их отсортировал по эффективности стратегий с точки зрения зарабатывания денег
Если объединить первые две группы, то, судя по всему, сейчас уже это большинство кейсов.
Считайте, что вам очень повезло, если у вас будет проверяющий из группы 3.
Полная сепарация так называемого "асинхронного" формата обучения от "синхронного" уже вполне явно сформировалось по принципу "первое для бедных, второе — для богатых". В том числе благодаря нейронкам. Дальше это будет только усугубляться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔9😢7🤬1🙉1👾1
В продолжение дискуссии выше: агась, бОльшая часть работ учащихся сейчас — генерация.
Опытными проверяющими это выкупается элементарно.
Могли ли вы себе представить, как в основном будет работать массовое образование: нейронки проверяют работы нейронок, а вы за это платите и получаете дипломы😂
Ору, как чайка, ржу, как дельфин с этого.
Опытными проверяющими это выкупается элементарно.
Могли ли вы себе представить, как в основном будет работать массовое образование: нейронки проверяют работы нейронок, а вы за это платите и получаете дипломы
Ору, как чайка, ржу, как дельфин с этого.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣16 8❤2👻2🙈1🤪1🙉1🙊1
Алгоритмическая задачка 🐍
Представьте, что вы нашли сокровищницу! 🐉💰 В ней — россыпь золотых слитков разного веса. Ваша задача как самого умного в команде — определить, можно ли поделить всю добычу по-честному на
📋 Условие
Напишите функцию
Формат ввода:
-
-
Формат вывода:
-
Примеры: 🤔
1️⃣ Вход:
Вывод:
Объяснение: Общая сумма 20. На каждого из 4-х участников приходится по 5. Возможный делёж:
2️⃣ Вход:
Вывод:
Объяснение: Общая сумма 10, которая не делится на 3 без остатка. Делёж невозможен.
Жду ваши элегантные и эффективные решения в комментариях! 👇
Представьте, что вы нашли сокровищницу! 🐉💰 В ней — россыпь золотых слитков разного веса. Ваша задача как самого умного в команде — определить, можно ли поделить всю добычу по-честному на
k
равных долей для каждого участника.📋 Условие
Напишите функцию
can_partition(nums: list[int], k: int) -> bool
, которая принимает список весов слитков nums
и количество участников k
. Функция должна возвращать True
, если все слитки можно разбить ровно на k
непустых групп с одинаковой суммой весов, и False
в противном случае.Формат ввода:
-
nums
: список целых положительных чисел.-
k
: целое положительное число.Формат вывода:
-
bool
: True
или False
.Примеры: 🤔
1️⃣ Вход:
nums = [4, 3, 2, 3, 5, 2, 1]
k = 4
Вывод:
True
✅Объяснение: Общая сумма 20. На каждого из 4-х участников приходится по 5. Возможный делёж:
[5]
, [1, 4]
, [2, 3]
, [2, 3]
.2️⃣ Вход:
nums = [1, 2, 3, 4]
k = 3
Вывод:
False
❌Объяснение: Общая сумма 10, которая не делится на 3 без остатка. Делёж невозможен.
Жду ваши элегантные и эффективные решения в комментариях! 👇
❤3🤔2👍1🙏1
Что будет нового в Python 3.14? 🐍
Если коротко — Python продолжает войну с GIL и делает очередной шаг в сторону производительности.
Релиз запланирован на октябрь🗓
Что самого сочного нас ждёт:
1️⃣ Free-threaded Python теперь официально поддерживается (PEP 779).
Сборка без глобальной блокировки интерпретатора — больше не эксперимент. Да, пока это опционально и с небольшими потерями в однопотоке, но вектор задан.
2️⃣ Множественные интерпретаторы в стандартной библиотеке (PEP 734).
Еще один гвоздь в крышку гроба GIL. Теперь можно запускать изолированные копии Python в одном процессе, используя
3️⃣ T-строки (PEP 750).
Новый вид строк с префиксом
4️⃣ Удаленная отладка с PDB (PEP 768).
Теперь можно подключить
А ещё отложенные аннотации (прощай,
Больше подробностей здесь◀️
Доживём до того, как шутки про медленный Python останутся в прошлом?
Если коротко — Python продолжает войну с GIL и делает очередной шаг в сторону производительности.
Релиз запланирован на октябрь
Что самого сочного нас ждёт:
1️⃣ Free-threaded Python теперь официально поддерживается (PEP 779).
Сборка без глобальной блокировки интерпретатора — больше не эксперимент. Да, пока это опционально и с небольшими потерями в однопотоке, но вектор задан.
2️⃣ Множественные интерпретаторы в стандартной библиотеке (PEP 734).
Еще один гвоздь в крышку гроба GIL. Теперь можно запускать изолированные копии Python в одном процессе, используя
concurrent.interpreters
. Это как multiprocessing
, только легковеснее и эффективнее. Мощнейший инструмент для CPU-bound задач.3️⃣ T-строки (PEP 750).
Новый вид строк с префиксом
t"..."
. В отличие от f-строк, они не вычисляются сразу, а создают объект-шаблон. Это удобно для безопасной генерации HTML, SQL и других DSL. Больше никаких случайных XSS-уязвимостей из-за кривых конкатенаций.4️⃣ Удаленная отладка с PDB (PEP 768).
Теперь можно подключить
pdb
к любому запущенному Python-процессу по его PID: python -m pdb -p 12345
. Отлаживать зависшие в проде приложения станет проще.А ещё отложенные аннотации (прощай,
from __future__ import annotations
), Zstandard из коробки и улучшенная подсветка синтаксиса в REPL.Больше подробностей здесь
Доживём до того, как шутки про медленный Python останутся в прошлом?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2 2⚡1🔥1🥰1🎉1🙏1🍾1
🔮 Прогнозирование временных рядов в Python: от хаоса в данных к работающей модели SARIMA
Как изменятся продажи? Какой спрос ждать к праздникам? Вечные вопросы, на которые бизнесу нужны ответы. И чаще всего решение кроется в анализе временных рядов.
Вот вам подробный гайд, где мы возьмём хрестоматийный, но показательный датасет и пройдём весь путь от подготовки данных до построения предсказательной модели.
Что внутри:
1️⃣ Загружаем и смотрим на данные. Учимся видеть тренд и сезонность.
2️⃣ Узнаём, почему «нестационарный» ряд — это плохо, и как его исправить с помощью логарифмов и дифференцирования.
3️⃣ Разбираемся, как подбирать параметры в SARIMA при помощи ACF/PACF графиков.
4️⃣ Строим и проверяем полученную модель.
Как изменятся продажи? Какой спрос ждать к праздникам? Вечные вопросы, на которые бизнесу нужны ответы. И чаще всего решение кроется в анализе временных рядов.
Вот вам подробный гайд, где мы возьмём хрестоматийный, но показательный датасет и пройдём весь путь от подготовки данных до построения предсказательной модели.
Что внутри:
1️⃣ Загружаем и смотрим на данные. Учимся видеть тренд и сезонность.
2️⃣ Узнаём, почему «нестационарный» ряд — это плохо, и как его исправить с помощью логарифмов и дифференцирования.
3️⃣ Разбираемся, как подбирать параметры в SARIMA при помощи ACF/PACF графиков.
4️⃣ Строим и проверяем полученную модель.
🔥9 3❤1⚡1👍1🎉1🙏1
✍️ Решения вчерашней задачи
Задачку никто не решил 🥹 Но она была не из простых. Давайте посмотрим, как можно было.
💡 Оптимальное решение: умный бэктрекинг с умом
Этот метод по своей сути — умный перебор. Мы пытаемся рекурсивно "пристроить" каждый слиток в одну из
🧠 Как это работает?
1. Первым делом считаем общую сумму
2. Сортируем слитки по убыванию
3. Рекурсивный поиск (бэктрекинг):
- Функция
- Она перебирает все
- Если после добавления сумма в корзине не превышает
- Если вызов вернул
- Если нет — мы "откатываем" изменение (убираем слиток из корзины) и пробуем положить его в следующую.
4. Оптимизация:
Эта строчка означает: если мы попробовали положить слиток в пустую корзину и эта попытка не привела к итоговому решению, то нет никакого смысла пробовать класть этот же слиток в другие пустые корзины. Они ведь ничем не отличаются! Это простое условие радикально сокращает пространство поиска.
Временная сложность:
А пространственная сложность:
Наверное, одна из самых сложных задачек, которые тут были 😏
Задачку никто не решил 🥹 Но она была не из простых. Давайте посмотрим, как можно было.
💡 Оптимальное решение: умный бэктрекинг с умом
Этот метод по своей сути — умный перебор. Мы пытаемся рекурсивно "пристроить" каждый слиток в одну из
k
корзин, но с важными оптимизациями, которые отсекают заведомо проигрышные пути.def can_partition(nums: list[int], k: int) -> bool:
total_sum = sum(nums)
if total_sum % k != 0:
return False
target_sum = total_sum // k
subsets = [0] * k
nums.sort(reverse=True)
def backtrack(index):
if index == len(nums):
return True
for i in range(k):
if subsets[i] + nums[index] <= target_sum:
subsets[i] += nums[index]
if backtrack(index + 1):
return True
subsets[i] -= nums[index]
if subsets[i] == 0:
break
return False
return backtrack(0)
🧠 Как это работает?
1. Первым делом считаем общую сумму
total_sum
. Если она не делится на k
нацело, то поделить слитки на равные по весу группы невозможно. Сразу возвращаем False
.2. Сортируем слитки по убыванию
nums.sort(reverse=True)
. Пытаясь разместить сначала самые тяжелые слитки, мы гораздо быстрее обнаруживаем "тупиковые" ветви комбинаций и отбрасываем их, экономя уйму времени.3. Рекурсивный поиск (бэктрекинг):
- Функция
backtrack
пытается разместить каждый слиток, начиная с index = 0
.- Она перебирает все
k
"корзин" (subsets
) и пробует добавить текущий слиток nums[index]
.- Если после добавления сумма в корзине не превышает
target_sum
, мы рекурсивно вызываем backtrack
для следующего слитка.- Если вызов вернул
True
— ура, решение найдено!- Если нет — мы "откатываем" изменение (убираем слиток из корзины) и пробуем положить его в следующую.
4. Оптимизация:
if subsets[i] == 0: break
.Эта строчка означает: если мы попробовали положить слиток в пустую корзину и эта попытка не привела к итоговому решению, то нет никакого смысла пробовать класть этот же слиток в другие пустые корзины. Они ведь ничем не отличаются! Это простое условие радикально сокращает пространство поиска.
Временная сложность:
O(k^N)
, где N
— количество слитков. Задача относится к классу NP-полных, поэтому решения с полиномиальным временем (вроде O(N^2)
) не существует. Однако благодаря нашим оптимизациям, на реальных данных алгоритм работает значительно быстрее, чем его худшая оценка.А пространственная сложность:
O(N + k)
. В основном определяется глубиной рекурсии (O(N)
) и хранением "корзин" (O(k)
).Наверное, одна из самых сложных задачек, которые тут были 😏
Telegram
PythonTalk
Алгоритмическая задачка 🐍
Представьте, что вы нашли сокровищницу! 🐉💰 В ней — россыпь золотых слитков разного веса. Ваша задача как самого умного в команде — определить, можно ли поделить всю добычу по-честному на k равных долей для каждого участника.
📋…
Представьте, что вы нашли сокровищницу! 🐉💰 В ней — россыпь золотых слитков разного веса. Ваша задача как самого умного в команде — определить, можно ли поделить всю добычу по-честному на k равных долей для каждого участника.
📋…
👍3💯2❤1🎉1🙏1