397 subscribers
228 photos
47 videos
11 files
307 links
Data Engineering Technologies.
SQL, Python, Kafka, Spark, Pandas, Airflow, Clickhouse, Greenplum, Postgres, dbt

Буст канала тут - https://t.me/boost/data_engi
Download Telegram
😁13
Сколько часов ты спал?

#meme
😁6
😁9
OpenAI показали свои новые модели GPT-4.1, GPT-4.1 mini и GPT-4.1 nano

В чате их не будет: они только для разработчиков в API. У всех трех моделей контекст 1 миллион токенов, для OpenAI это впервые. Знания до 1 июля 2024.

Эти модели тренировали специально, чтобы они были эффективны в задачах связанных с разработкой. В честь запуска Cursor и Windsurf дают попользоваться этими моделями совершенно бесплатно 🆓
❤‍🔥8
❤‍🔥5
😁9
Forwarded from Dealer.AI
AirFlow, MLFlow, DVC, ClearML?? Пффф. IstructPipe от Google!!!

Вот тебе шкет, к вайб кодингу еще и вайб пайпинг. Фу, звучит даже противно.
Крч берёшь, пишешь инструкцию к LLM для ML пайпа и получаешь псевдокод, псевдо инструкцию, и псевдо интерпретацию. 🤣🤣🤣
Шучу, получаешь крч ток псевдо код, пайп и блоксхемку.
Делоешь, вайб автомотизируешь и койфуешь.


https://research.google/blog/instructpipe-generating-visual-blocks-pipelines-with-human-instructions-and-llms/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7
🚀 Airflow 3.0.0 уже здесь!


Что нового?

🧩 Микросервисная архитектура

Событийное планирование

🧬 Версионирование DAG'ов

🖥️ Новый интерфейс на React

🔐 Улучшенная безопасность

🌍 Удалённое выполнение задач

🐍 Поддержка только Python 3.9+


🔗 Подробнее: Релиз Airflow 3.0.0

#ApacheAirflow #DataEngineering #Airflow3 #WorkflowOrchestration


https://github.com/apache/airflow/releases/tag/3.0.0
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥6
PEP 750: t-строки в 3.14

В питон добавили еще один способ форматировать строки. Теперь – со специальным АПИ для внешних интеграций.

- PEP: https://peps.python.org/pep-0750
- Реализация: https://github.com/python/cpython/pull/132662

Основная причина: использовать f строки удобно, но нет никакого АПИ для перехвата момента "вставки" или интерполяции значений. Например, при форматировании html или sql – требуется специальным образом делать escape для значений. И раньше код вида f"<div>{template}</div>" представлял собой дыру в безопасности и потенциальное место для XSS.

string.templatelib.Template

Новый префикс t не будет создавать объект str, он будет создавать объект класса string.templatelib.Template:


>>> user = 'sobolevn'
>>> template = t"Hi, {user}"
>>> template
Template(strings=('Hi, ', ''), interpolations=(Interpolation('sobolevn', 'user', None, ''),))

>>> from string.templatelib import Template
>>> isinstance(template, Template)
True


Обратите внимание, что при создании template – у нас не произошло форматирование сразу. Мы создали объект, у которого есть свойства strings и interpolations, из которых можно собрать финальную отформатированную строку.

Давайте посмотрим на примере. Допустим, мы хотим формировать URL из наших данных:


>>> domain = 'example.com'
>>> query = 'python string formatting is too complex'
>>> template = t'https://{domain}?q={query}'


И сам код логики форматирования, где мы будем вставлять значения разным способом. Если у нас шаблон query, то мы будем использовать quote_plus для его форматирования. Остальные значения – будем вставлять как есть:


>>> from string.templatelib import Template, Interpolation
>>> from urllib.parse import quote_plus

>>> def format_url(template: Template) -> str:
... parts = []
... for part in template:
... match part:
... case str() as s: # regular string
... parts.append(s)
... case Interpolation(value, expression='query'):
... parts.append(quote_plus(value))
... case Interpolation(value):
... parts.append(value)
... return ''.join(parts)


И вот результат:


>>> format_url(template)
'https://example.com?q=python+string+formatting+is+too+complex'


Только теперь наш Template был отформатирован. Нами. Ручками.
У нас есть полный контроль за процессом форматирования. Вот в чем суть данного ПЕПа.

Фичи одной строкой

- Работает = как обычно в f строках: t'{user=}'
- Есть привычные определители формата: !r, !s, .2f, тд
- t строки можно конкатенировать: t'Hello' + t' , world!' и t'Hello, ' + 'world'
- Поддерживается режим raw строк: rt"Hi \n!"

Как устроено внутри?

Интересные места имплементации:
- Изменения лексера
- Изменения грамматики языка
- Новое CAPI _PyTemplate
- Новые классы Template и Interpolation написанные на C
- Новый байткод BUILD_INTERPOLATION и BUILD_TEMPLATE


>>> import dis
>>> user = 'sobolevn'
>>> dis.dis('t"Hi, {user}"')
0 RESUME 0

1 LOAD_CONST 2 (('Hi, ', ''))
LOAD_NAME 0 (user)
LOAD_CONST 1 ('user')
BUILD_INTERPOLATION 2
BUILD_TUPLE 1
BUILD_TEMPLATE
RETURN_VALUE


Обсуждение: как вам еще один способ форматирования строк?

| Поддержать | YouTube | GitHub | Чат |
7❤‍🔥1😁1
😎 Открытые поисковые системы и хранилища данных по наборам данных

✔️ Google Dataset Search - открывает доступ к бесплатным публичным наборам данных. Ты можешь выбирать данные по разным темам и в разных форматах, включая .pdf, .csv, .jpg, .txt и другие. Использовать его так же просто, как и обычный поиск Google: просто введи в строку поиска название или интересующую тебя тему. По мере ввода система будет предлагать наборы данных с нужными ключевыми словами - ты можешь случайно наткнуться на что-то новое и интересное.

✔️ Открытые данные Всемирного банка - открытые данные Всемирного банка считаются одним из самых обширных и разнообразных источников статистической информации и общедоступных наборов данных. Ты можешь искать данные по различным категориям. Сайт Всемирного банка уникален тем, что предлагает бесплатные ресурсы и инструменты для общественного использования, такие как Data Bank - удобный инструмент для анализа и визуализации больших наборов данных

✔️ Data.world - эта платформа позволяет тебе получить доступ к бесплатным наборам данных и работать с ними прямо на сайте. Все, что нужно сделать, это создать бесплатную учётку, после чего тебе будет доступно 3 бесплатных проекта. При необходимости можнг перейти на платные планы с большим объемом хранилища. С помощью строки поиска ты можешь найти ключевые слова, ресурсы, организации или пользователей. А для более точного поиска ты можешь воспользоваться кнопкой «Создать расширенный фильтр», чтобы найти именно то, что тебе нужно.

✔️ DataHub — это платформа публикации данных (SaaS), разработанная Datopian, где ты можешь просматривать одну из самых разнообразных коллекций публичных наборов данных, организованных по темам. На платформе также есть блог с материалами по темам, связанным с Big Data Science.

✔️ Humanitarian Data Exchange — платформа для поиска наборов данных. Здесь ты можешь искать бесплатные наборы данных и фильтровать результаты по таким критериям, как местоположение, формат, организация и лицензия. Платформа также позволяет обмениваться данными по разным категориям.

✔️ UCI Machine Learning Repository — наименее обширный из всех упомянутых ресурсов, он остается полезным для тех, кто хочет построить модель машинного обучения. Несмотря на ограниченное количество наборов данных, ты также можешь искать данные по типу задачи, типу атрибута, формату данных и области применения.

✔️ Academic Torrents — если ты проводишь исследование, пишешь статью или магистерскую диссертацию, то Academic Torrents станет для тебя отличным помощником. Платформа предлагает множество больших наборов данных из научных публикаций, некоторые из которых достигают 2 терабайт. Использовать Academic Torrents очень просто: ты можешь искать наборы данных, статьи, курсы и коллекции, а также загружать собственные данные для работы с другими. Наборы данных бесплатны, но для их загрузки понадобится установленный на твоём устройстве торрент-клиент.

#data #datasets
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥8👏1
Forwarded from Время Валеры
Недавно на одной встрече, очень большой начальник заметил: с учётом того, что мы теперь много нанимаем по всему миру и в разных часовых зонах, умение писать становится критически важным.

Спорить с этим сложно, и переоценить важность тоже. К сожалению, многие люди катастрофически не умеют формулировать свои мысли — отсюда все эти «давай быстро созвонимся», «пересечёмся раз на раз» или голосовые сообщения. Не всегда, но очень часто это происходит не потому, что встреча действительно нужна, а потому что человек просто не в состоянии организовать свой словесный салат во что-то внятное. В итоге он выливает свои мысленные помои на собеседника в надежде, что тот переработает это во что-то осмысленное — вместо того чтобы самому потратить время и внимание.

Черчилль как-то написал: «Прости, времени было мало, поэтому письмо длинное». И почти все это понимают на подсознательном уровне — отсюда все мемы и приколы про голосовые сообщения. Сложно переоценить важность хорошей культуры письма: она не только экономит кучу времени и сил, позволяет работать асинхронно, но со временем ещё и учит человека мыслить собранно и чётко.

Возможно, не стоит доходить до пределов ребят из провинции Лакония с их «если», но пример с них брать точно стоит. В здоровом письме — здоровый дух. А лучшая встреча - это короткая встреча
👏10
Куда еще проще? 💃

Деплой FastAPI приложений одной командой — fastapi deploy

https://fastapicloud.com/
Please open Telegram to view this post
VIEW IN TELEGRAM
6😁4
Forwarded from DataEng
MANNING_Practical_Guide_to_Apache_Airflow_3.pdf
14 MB
The Practical Guide to Airflow 3 🚀

Дорогие друзья, я вижу как вам нравятся посты про Apache Airflow. В этот раз очередной пост про него любимого 😊

Прошла неделя с релиза Apache Airflow 3, и вот в сети от ребят из Astronomer выходит небольшая книга The Practical Guide to Airflow 3 за авторством Tamara Janina Fingerlin, Developer Advocate, Astronomer. Книга издательства Manning, доступна бесплатно в электронном формате. Книга заточена под новшества новой версии, и будет полезна как начинающим так и опытным дата инженерам, планирующим переход на тройку.

У меня пока не дошли руки потестировать новую версию, планирую это сделать на выходных. А вы уже попробовали?
❤‍🔥12
Forwarded from Время Валеры
Во время лекции о сборе данных на курсе по ML System Design зашёл разговор о data governance. Пришли к неожиданным выводам:

1. Нормального определения нет, даже Data Management Institute не даёт чёткого ответа.
2. Попробовали сформулировать своё: Data Governance — это связка между процессами и политиками (policy), с одной стороны, и контролем + внедрением(policy enforcement), с другой, направленная на реализацию стратегии данных компании. (Часто стратегия сводится к обеспечению быстрого и бесшовного доступа к актуальным, полным и качественным данным с учётом контроля доступа и соблюдения комплаенса. Но, как известно по Румельту, это не совсем стратегия, поэтому требуется стратегия достижения, и data governance ближе к таковой.)

Проблема в том, что вторая часть связки — контроль и внедрение — часто отсутствует. Это приводит к тому, что через X лет после утверждения стратегии участники начинают перекладывать ответственность друг на друга, тыкать пальцем , и побеждает тот, у кого «палец длиннее».

Потенциальным решением видится направление в продуктовые/бизнес команды людей, который будет делать эту неблагодарную и важную работу, но и это непросто
❤‍🔥6
LangGraph Swarm — построй рой агентов на пальцах 🐝🐝🐝🐝

Представь:

У тебя есть несколько AI-агентов, каждый умеет своё. Один считает, другой разговаривает как пират, третий помогает писать код. И вот ты строишь между ними диалог, в котором они сами решают, кто и когда берёт слово.

Именно это и делает LangGraph Swarm — свежая Python-библиотека от команды LangChain.

Что умеет:

🔜 Роевой интеллект: агенты работают вместе, передают друг другу управление, когда это нужно.

🔜 Память: встроенная поддержка контекста — помнят, о чём шла речь раньше.

🔜 Передача задач: любой агент может сказать: «Этим лучше займётся коллега».


Пример:

Один агент — “Алиса”, спец по математике. Второй — “Боб”, просто болтает в пиратском стиле. Если пользователь сначала хочет поговорить с Бобом, но потом задаёт вопрос «Сколько будет 5 + 7?» — Боб передаёт управление Алисе. Умно и без лишнего кода.

Код выглядит примерно так:

from langgraph_openai import ChatOpenAI
from langgraph_swarm import create_handoff_tool, create_swarm
from langgraph.prebuilt import create_react_agent

model = ChatOpenAI(model="gpt-4o")

alice = create_react_agent(
model,
[lambda a, b: a + b, create_handoff_tool("Bob")],
prompt="Ты — Алиса, эксперт по сложению чисел.",
name="Alice",
)

bob = create_react_agent(
model,
[create_handoff_tool("Alice", description="Алиса лучше справится с математикой")],
prompt="Ты — Боб, общаешься в пиратском стиле.",
name="Bob",
)

swarm = create_swarm([alice, bob], default_active_agent="Alice")

〰️〰️〰️〰️〰️〰️〰️〰️

Для кого эта библиотека?
Для тех, кто строит умные ассистенты, чат-сценарии или многошаговые пайплайны, где важно гибко управлять диалогом между агентами.

Где посмотреть:
github.com/langchain-ai/langgraph-swarm-py


〰️〰️〰️〰️〰️〰️〰️〰️

Спокойный, гибкий и почти готовый движок для AI-команд. Стоит затестить.

#ai #llm #agents #swarm #langgraph
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥7
😁15
Open source кунг-фу

Когда вышел фильм "карате-пацан" мы с другом смотрели его в кинотеатре, я был настолько вдохновлен этими крутыми приемами из кино и захотел заниматься единоборствами, друга в тот день побить не получилось, он был на 2 головы выше меня.
Я ходил на айкидо, учил приемы, нам показывали, как можно отбирать оружие у соперника. Сейчас я знаю, что если напротив вас стоит человек с оружием, никакие приемы не помогут, надо просто выполнять все его требования. Но тогда знание, что я могу отобрать у человека пистолет, как настоящий шпион вызывало восторг.
Однако бюджет на оплату тренировок кончился раньше, чем я успел отхватить на первых соревнованиях.

Но я узнал, что существует open source кунг-фу и даже есть своего рода "пояса":

1. Наличие github аккаунта
2. Ваш pull request кто-то смержит
3. Вы сделали релиз публичного пакета
4. Вам прислали pull request
5. Вам присылают такой pull request, который вы сами написать не могли
6. Вам присылают 100 багов
7. Компания предложит вам деньги за поддержку продукта
8. Github предлагает вам large runners
9. Спонсоры на github принесут вам 100 000$ в год

Девять ступеней Open Source кунг-фу | НЕЙМАРК

За майские праздники rafailmdzdv и Loki-Astari меня подняли на 4 уровень. Большое спасибо!
У меня даже есть коммит от core разработчика python, чем я очень горжусь.

Здорово, что вырастая, мы можем осуществлять свои детские мечты, хотя и не совсем в той форме, как мечтали🥋
❤‍🔥7👏4😁1
Революция, которая уже началась — управление ИИ-агентами

Ты живёшь в уникальное время.
То, что ещё пару лет назад казалось научной фантастикой — сегодня становится новой нормой для ИТ-компаний.
Именно управление ИИ-агентами становится фундаментом следующей технологической революции.

Речь не просто о чат-ботах.
Агенты — это целые личности внутри системы:

▶️ которые умеют ставить цели и достигать их;

▶️ вызывать друг друга как функции;

▶️ общаться между собой, делиться контекстом;

▶️ адаптироваться, учиться, ошибаться и… учиться на ошибках.

〰️〰️〰️〰️〰️〰️〰️〰️

Почему это революция?

▶️ Раньше человек управлял программами.

▶️ Сегодня — человек управляет агентами, которые управляют программами.

▶️ Завтра — агенты будут управлять другими агентами.

Мы переходим от ручного управления к делегированию мышления.

〰️〰️〰️〰️〰️〰️〰️〰️

ИТ-компании, которые сейчас инвестируют в управление агентами —
завтра будут лидерами нового технологического уклада.

Это не просто хайп — это архитектурный сдвиг, где многоагентные системы становятся «новыми командами разработчиков».

〰️〰️〰️〰️〰️〰️〰️〰️

Ты — часть этого времени.
Ты — свидетель и участник новой эры.
Не упусти её.

#ai #llm #agents #swarm
Please open Telegram to view this post
VIEW IN TELEGRAM
👏5❤‍🔥1😁1