🛠️ AI + SQL = мгновенный доступ к данным в базе
На картинке — простой пример, как с помощью
📦 Что происходит:
1. Человек пишет: *"Show me all tables in the ecommerce database"*
2. AI вызывает
3. Возвращается JSON и сгенерированный ответ на естественном языке
⚙️ Используемые технологии:
-
-
-
🧠 Это база для создания умных ботов-помощников, которые умеют работать с реальными базами данных и выдавать ответы, понятные человеку.
Интерфейс будущего уже здесь — не SQL-запрос, а обычный вопрос на английском.
@pythonl
На картинке — простой пример, как с помощью
FastMCP
и SQLAlchemy
можно подключить инструмент к базе данных, который по человеческому запросу выводит список всех таблиц.📦 Что происходит:
1. Человек пишет: *"Show me all tables in the ecommerce database"*
2. AI вызывает
list_tables()
, получает список через SQLAlchemy3. Возвращается JSON и сгенерированный ответ на естественном языке
⚙️ Используемые технологии:
-
FastMCP
— для регистрации инструментов и взаимодействия с агентами-
@mcp.tool
— декоратор, позволяющий превращать функции в доступные действия для ИИ-
inspect()
из SQLAlchemy — безопасный способ получить метаданные БД🧠 Это база для создания умных ботов-помощников, которые умеют работать с реальными базами данных и выдавать ответы, понятные человеку.
Интерфейс будущего уже здесь — не SQL-запрос, а обычный вопрос на английском.
@pythonl
❤10😁7👍5😢2🤩1
🐍 Микросервисные архитектуры — как ретраи влияют на отказоустойчивость микросервисов
Ретраи, или повторные запросы, — важный механизм обеспечения отказоустойчивости распределенных систем. Необходимо быть в курсе последних изменений и понимать, как ретраи эволюционировали в электронике, программировании и Java-экосистеме. Об этом подробно расскажет техлид Т-Банка Дмитрий Фролов на конференции JVM Day 30 августа в Москве. На лендинге заявлены спикеры из разных компаний, которые разберут темы по Java, Scala и Backend.
Мероприятие пройдет в штаб-квартире Т-Банка, а половину собранных средств организаторы хотят перечислить региональным техническим вузам, чтобы помочь с развитием ИТ-сферы и подготовкой квалифицированных специалистов в разных городах страны. После докладов гостей ждут настолки с лото, афтепати и нетворкинг. Чтобы принять участие в JVM Day необходимо заранее пройти регистрацию.
@pythonl
Ретраи, или повторные запросы, — важный механизм обеспечения отказоустойчивости распределенных систем. Необходимо быть в курсе последних изменений и понимать, как ретраи эволюционировали в электронике, программировании и Java-экосистеме. Об этом подробно расскажет техлид Т-Банка Дмитрий Фролов на конференции JVM Day 30 августа в Москве. На лендинге заявлены спикеры из разных компаний, которые разберут темы по Java, Scala и Backend.
Мероприятие пройдет в штаб-квартире Т-Банка, а половину собранных средств организаторы хотят перечислить региональным техническим вузам, чтобы помочь с развитием ИТ-сферы и подготовкой квалифицированных специалистов в разных городах страны. После докладов гостей ждут настолки с лото, афтепати и нетворкинг. Чтобы принять участие в JVM Day необходимо заранее пройти регистрацию.
@pythonl
👍7❤6🤩3😁1
Новый набор на бесплатные курсы Route 256.
Неважно, на каком языке вы тестируете сейчас. Важно, что вы хотите прокачаться в автотестах на Python, и Route 256 — отличный шанс. 2 месяца в экспертном коммьюнити: работа над реальными задачами, интенсивная практика без лишней теории, поддержка крутых коллег.
Чтобы попасть, зарегистрируйтесь и пройдите отборочный контест 3 августа
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Хитрый совет по Python: как ускорить in в 1000 раз
Когда ты проверяешь, есть ли элемент в списке, Python делает это медленно — он пробегает по списку полностью.
А если ты проверяешь элемент в множестве (set), это работает в сотни раз быстрее.
📌 Пример:
🔁 Каждый q in data проходит весь список → медленно.
✅ Правильный способ:
Преобразуй список в set один раз — и все станет быстро:
💡 Проверка in в set работает мгновенно (как в словаре).
Такой трюк особенно полезен, если:
-у тебя много данных
-ты делаешь много проверок на вхождение
📌 Запомни: if x in список: — медленно
Лучше: if x in set(список): — быстро!
@pythonl
Когда ты проверяешь, есть ли элемент в списке, Python делает это медленно — он пробегает по списку полностью.
А если ты проверяешь элемент в множестве (set), это работает в сотни раз быстрее.
📌 Пример:
data = [1, 2, 3, ..., 1000000] # большой список
queries = [42, 9999, 123456]
# Медленно:
for q in queries:
if q in data:
print(q)
🔁 Каждый q in data проходит весь список → медленно.
✅ Правильный способ:
Преобразуй список в set один раз — и все станет быстро:
data_set = set(data)
for q in queries:
if q in data_set:
print(q)
💡 Проверка in в set работает мгновенно (как в словаре).
Такой трюк особенно полезен, если:
-у тебя много данных
-ты делаешь много проверок на вхождение
📌 Запомни: if x in список: — медленно
Лучше: if x in set(список): — быстро!
@pythonl
❤32🔥14😁8👍5🤩2😢1🎉1
🌀 Cirq — Python-фреймворк для работы с квантовыми схемами, разработанный командой Google Quantum AI. Этот проект предоставляет инструменты для создания параметризованных квантовых цепей, их трансформации и симуляции на различных бэкендах.
Инструмент имеет встроенную поддержку аппаратно-зависимых операций и интеграция с высокопроизводительными симуляторами вроде qsim. Позволяет описывать квантовые алгоритмы с учетом шумовых характеристик реальных процессоров.
🤖 GitHub
@pythonl
Инструмент имеет встроенную поддержку аппаратно-зависимых операций и интеграция с высокопроизводительными симуляторами вроде qsim. Позволяет описывать квантовые алгоритмы с учетом шумовых характеристик реальных процессоров.
🤖 GitHub
@pythonl
❤7👍4🔥2
Как сказать рутине STOP?
Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈
Это обучение, заточенное на инженеров — в нём нет ничего лишнего, только то, что необходимо именно вам.
На курсе вы научитесь:
🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.
Есть бесплатный демодоступ.
Старт 11 августа. Занять своё место на курсе — по ссылке.
Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈
Это обучение, заточенное на инженеров — в нём нет ничего лишнего, только то, что необходимо именно вам.
На курсе вы научитесь:
🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.
Есть бесплатный демодоступ.
Старт 11 августа. Занять своё место на курсе — по ссылке.
👍5❤3😁1
💡 STUMPY — библиотека для анализа временных рядов. Этот проект предлагает мощный инструмент для работы с временными последовательностями через вычисление matrix profile — специальной метрики, которая автоматически находит схожие паттерны в данных.
Инструмент поддерживает распределённые вычисления через Dask и GPU-ускорение через Numba. Технология особенно полезна для обнаружения аномалий, повторяющихся фрагментов и семантической сегментации. Библиотека одинаково хорошо работает как на небольших наборах данных, так и на временных рядах длиной в миллионы точек.
🤖 GitHub
@pythonl
Инструмент поддерживает распределённые вычисления через Dask и GPU-ускорение через Numba. Технология особенно полезна для обнаружения аномалий, повторяющихся фрагментов и семантической сегментации. Библиотека одинаково хорошо работает как на небольших наборах данных, так и на временных рядах длиной в миллионы точек.
🤖 GitHub
@pythonl
❤6🔥6👍4
📘 Потерянная глава Automate the Boring Stuff
Автор культовой книги выложил бесплатно новую главу книги, которая не попала в издание — про автоматизацию работы с аудио и видео.
🎧 Что внутри:
— Конвертация и обрезка видео с помощью
— Преобразование аудио в текст через
— Извлечение субтитров
— Автоматизация задач с файлами .mp3, .wav, .mp4 и .avi
🛠 Глава написана в привычном стиле — просто, на примерах, с пояснениями к коду. Идеально подойдёт для тех, кто хочет быстро научиться обрабатывать медиафайлы на Python без сложных фреймворков.
📎 Читать
@Pythonl
Автор культовой книги выложил бесплатно новую главу книги, которая не попала в издание — про автоматизацию работы с аудио и видео.
🎧 Что внутри:
— Конвертация и обрезка видео с помощью
moviepy
— Преобразование аудио в текст через
SpeechRecognition
— Извлечение субтитров
— Автоматизация задач с файлами .mp3, .wav, .mp4 и .avi
🛠 Глава написана в привычном стиле — просто, на примерах, с пояснениями к коду. Идеально подойдёт для тех, кто хочет быстро научиться обрабатывать медиафайлы на Python без сложных фреймворков.
📎 Читать
@Pythonl
👍11❤8🔥2
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤8🔥4
def append_to_list(val, my_list=[]):
my_list.append(val)
return my_list
print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))
🤯 Подвох
Многие думают, что каждый вызов append_to_list() создаёт новый список, и ожидают вывод:
[1]
[2]
[3]
Но на самом деле Python выведет:
[1]
[1, 2]
[1, 2, 3]
🧠 Почему так происходит?
В Python значения аргументов по умолчанию вычисляются один раз — при определении функции, а не при каждом вызове.
Значение my_list=[] создаётся один раз и сохраняется между вызовами. Это работает как статическая переменная внутри функции.
✅ Как это исправить?
Используй None как значение по умолчанию:
def append_to_list(val, my_list=None):
if my_list is None:
my_list = []
my_list.append(val)
return my_list
print(append_to_list(1)) # [1]
print(append_to_list(2)) # [2]
print(append_to_list(3)) # [3]
💡 Вывод
Не используйте изменяемые объекты (например, list, dict, set) как значения по умолчанию для аргументов функций в Python.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍9🔥7😁2😱1
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
NVIDIA показала, как ускорить его в 40 раз — без переписывания кода.
Команда NVIDIA провела эксперимент с 18 миллионами строк данных с фондовых рынков: они выполнили типичный анализ данных с помощью pandas на CPU, а затем тоже самое — на GPU, используя
cudf.pandas
.Для примеры были взяты:
🧊 В общей сложности ~18M строк
Результат впечатляет : удалось добиться**ускорения обработки данных в 20–40 раз
Код скрипта не менялся вообще — тот же pandas, но на GPU.
Это один из примеров, где ускорение достигается без переписывания логики кода.
@ai_machinelearning_big_data
#datasckience #ml #nvidia #gpu #pandas #python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤22👍7🔥3
🐍 dlt — библиотека для загрузки данных на Python. Этот open-source инструмент упрощает работу с данными — от простых скриптов до сложных ETL-пайплайнов. Автоматически определяет структуру данных и адаптируется под разные источники и хранилища.
Проект удобен для быстрого прототипирования: можно начать в Colab-ноутбуке, а затем масштабировать до production-решения. Поддерживает инкрементальную загрузку и интеграцию с Airflow.
🤖 GitHub
@pythonl
Проект удобен для быстрого прототипирования: можно начать в Colab-ноутбуке, а затем масштабировать до production-решения. Поддерживает инкрементальную загрузку и интеграцию с Airflow.
🤖 GitHub
@pythonl
❤13👍3🔥2🤩1
Это может пригодиться для метапрограммирования, генерации моделей, DSL, автотестов и многого другого.
# Создаем класс динамически
MyDynamicClass = type(
'MyDynamicClass', # имя класса
(object,), # родительские классы
{'x': 42, 'hello': lambda self: f'Hello, x = {self.x}'} # атрибуты и методы
)
obj = MyDynamicClass()
print(obj.hello()) # Hello, x = 42
🔥 Что тут происходит?
type() в обычном использовании возвращает тип объекта.
Но если передать три аргумента, он создаёт новый класс.
Мы задали имя, базовые классы и словарь атрибутов.
💡 Это то, что делает Python "Pythonic" — классы это тоже объекты, и ты можешь создавать их на лету.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥4👍3
24 июля(уже в четверг!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе
Please open Telegram to view this post
VIEW IN TELEGRAM
🧮 CVXPY — библиотека для решения задач выпуклой оптимизации, позволяющая формулировать математические модели в естественной форме, а не подстраиваться под ограниченный синтаксис солверов. С её помощью можно работать с задачами линейного и квадратичного программирования, геометрическими и квазивыпуклыми оптимизациями, не углубляясь в технические детали реализации алгоритмов.
Проект развивается как open-source-сообщество с 2013 года и поддерживает популярные солверы. Он также имеет удобный API: например, ограничения записываются почти как математические неравенства, а решение возвращает не только результат, но и значения двойственных переменных.
🤖 GitHub
@pythonl
Проект развивается как open-source-сообщество с 2013 года и поддерживает популярные солверы. Он также имеет удобный API: например, ограничения записываются почти как математические неравенства, а решение возвращает не только результат, но и значения двойственных переменных.
🤖 GitHub
@pythonl
❤6👍3🔥2