Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Курс SQL - от новичка до профи
🔹 Регистрация на сайте Oracle
🔹 Что такое SQL? Какие задачи решают Базы Данных?
🔹 Команды SQL: DML, DDL, DCL, TCL
🔹 Агрегатные функции SQL: MIN | MAX | AVG | SUM | COUNT
🔹 Функция GROUP BY. HAVING vs WHERE
🔹INNER JOIN. LEFT JOIN и другие... В ЧЕМ РАЗНИЦА?
🔹Подзапросы SQL Oracle | Вложенные запросы SQL
🔹Агрегатные оконные функции | Аналитические функции sql: min/max/sum/avg/count
🔹Оконные функции SQL | Аналитические функции row_number / dense_ranka
🔹 Регистрация на сайте Oracle
🔹 Что такое SQL? Какие задачи решают Базы Данных?
🔹 Команды SQL: DML, DDL, DCL, TCL
🔹 Агрегатные функции SQL: MIN | MAX | AVG | SUM | COUNT
🔹 Функция GROUP BY. HAVING vs WHERE
🔹INNER JOIN. LEFT JOIN и другие... В ЧЕМ РАЗНИЦА?
🔹Подзапросы SQL Oracle | Вложенные запросы SQL
🔹Агрегатные оконные функции | Аналитические функции sql: min/max/sum/avg/count
🔹Оконные функции SQL | Аналитические функции row_number / dense_ranka
🔥20👍2🥰1🤨1💊1
🎯 Продвинутый SQL-хак: Эффективный поиск по JSONB в PostgreSQL
Если вы работаете с PostgreSQL и храните данные в формате JSONB, вы наверняка сталкивались с проблемой производительности при запросах по вложенным ключам. Вот практический приём, который реально улучшает эффективность таких запросов.
🔍 Проблема
Выполняя запрос:
— вы полагаетесь на оператор
✅ Решение: Используйте выражения + индекс по выражению
1. Создайте индекс по выражению:
2. Теперь ваш запрос будет использовать индекс:
🚀 Бонус: Ускорение с GIN и
Если вы часто фильтруете по множеству разных JSON-полей:
И используйте операторы
📌 Такой подход отлично масштабируется и значительно снижает нагрузку на базу.
💡 Итог: Индексация по выражениям и правильный выбор оператора (`@>`, `->>`) — ключ к быстрой работе с JSONB в PostgreSQL.
Если вы работаете с PostgreSQL и храните данные в формате JSONB, вы наверняка сталкивались с проблемой производительности при запросах по вложенным ключам. Вот практический приём, который реально улучшает эффективность таких запросов.
🔍 Проблема
Выполняя запрос:
SELECT *
FROM events
WHERE data->'user'->>'email' = 'user@example.com';
— вы полагаетесь на оператор
->> для извлечения значения, но такой запрос не использует индекс, даже если JSONB-колонка проиндексирована.✅ Решение: Используйте выражения + индекс по выражению
1. Создайте индекс по выражению:
CREATE INDEX idx_events_user_email
ON events ((data->'user'->>'email'));
2. Теперь ваш запрос будет использовать индекс:
SELECT *
FROM events
WHERE data->'user'->>'email' = 'user@example.com';
🚀 Бонус: Ускорение с GIN и
jsonb_path_opsЕсли вы часто фильтруете по множеству разных JSON-полей:
CREATE INDEX idx_events_data_gin
ON events USING GIN (data jsonb_path_ops);
И используйте операторы
@> для запросов:
SELECT *
FROM events
WHERE data @> '{"user": {"email": "user@example.com"}}';
📌 Такой подход отлично масштабируется и значительно снижает нагрузку на базу.
💡 Итог: Индексация по выражениям и правильный выбор оператора (`@>`, `->>`) — ключ к быстрой работе с JSONB в PostgreSQL.
👍5❤4🔥3🥰1
⚡️ Почему лучшие разработчики всегда на шаг впереди?
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
🖥 Chatgpt для кода в тг: @Chatgpturbobot
📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Потому что они знают, где брать настоящие инсайд!
Оставь “программирование в вакууме” в прошлом, выбирай свой стек — подпишись и погружайся в поток идей, лайфхаков и знаний, которые не найдёшь в открытом доступе.
ИИ: t.me/ai_machinelearning_big_data
Python: t.me/pythonl
Linux: t.me/linuxacademiya
Мл собес t.me/machinelearning_interview
C++ t.me/cpluspluc
Docker: t.me/DevopsDocker
Хакинг: t.me/linuxkalii
МЛ: t.me/machinelearning_ru
Devops: t.me/DevOPSitsec
Data Science: t.me/data_analysis_ml
Javascript: t.me/javascriptv
C#: t.me/csharp_ci
Java: t.me/java_library
Базы данных: t.me/sqlhub
Python собеседования: t.me/python_job_interview
Мобильная разработка: t.me/mobdevelop
Golang: t.me/Golang_google
React: t.me/react_tg
Rust: t.me/rust_code
ИИ: t.me/vistehno
PHP: t.me/phpshka
Android: t.me/android_its
Frontend: t.me/front
Big Data: t.me/bigdatai
МАТЕМАТИКА: t.me/data_math
Kubernets: t.me/kubernetc
Разработка игр: https://t.me/gamedev
Физика: t.me/fizmat
SQL: t.me/databases_tg
Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy
Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy
Папка FRONTEND: https://t.me/addlist/mzMMG3RPZhY2M2Iy
🎓954ГБ ОПЕНСОРС КУРСОВ: @courses
😆ИТ-Мемы: t.me/memes_prog
🇬🇧Английский: t.me/english_forprogrammers
🧠ИИ: t.me/vistehno
📕Ит-книги: https://t.me/addlist/BkskQciUW_FhNjEy
💼ИТ-вакансии t.me/addlist/_zyy_jQ_QUsyM2Vi
Подпишись, чтобы всегда знать, куда двигаться дальше!
Please open Telegram to view this post
VIEW IN TELEGRAM
🤨2❤1👍1💊1
🕸️ Chat4Data — расширение, которое превращает веб-скрапинг в диалог
Вместо кода и настроек — просто говоришь, что хочешь, и AI собирает структурированные данные с сайта.
Что умеет Chat4Data:
🔹 Собирает данные “на слух”
Опиши нужную таблицу или список — AI сам найдёт, распарсит и вставит в таблицу. Не нравится результат? Переспроси. Без кода, без боли.
🔹 Обходит все страницы сам
Автоматически кликает “Следующая”, грузит подгружаемые списки и собирает всё — без твоего участия.
🔹 Запускается за 3 клика
AI сам определяет, какие данные ценные, предлагает их — тебе остаётся только подтвердить. Быстро, как в Telegram-боте.
🔹 Не тратит токены на скрапинг
Анализ страницы — на AI, но сами данные забираются без токенов. В бета-версии дают 1 миллион токенов на другие задачи.
🔹 Скоро: скрапинг подстраниц, интерактив, интеграции...
📎 https://chat4data.ai
#ai #scraping #automation #nocode #tools
Вместо кода и настроек — просто говоришь, что хочешь, и AI собирает структурированные данные с сайта.
Что умеет Chat4Data:
🔹 Собирает данные “на слух”
Опиши нужную таблицу или список — AI сам найдёт, распарсит и вставит в таблицу. Не нравится результат? Переспроси. Без кода, без боли.
🔹 Обходит все страницы сам
Автоматически кликает “Следующая”, грузит подгружаемые списки и собирает всё — без твоего участия.
🔹 Запускается за 3 клика
AI сам определяет, какие данные ценные, предлагает их — тебе остаётся только подтвердить. Быстро, как в Telegram-боте.
🔹 Не тратит токены на скрапинг
Анализ страницы — на AI, но сами данные забираются без токенов. В бета-версии дают 1 миллион токенов на другие задачи.
🔹 Скоро: скрапинг подстраниц, интерактив, интеграции...
📎 https://chat4data.ai
#ai #scraping #automation #nocode #tools
👍3❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍2💊2
Forwarded from Machinelearning
Он выступает прослойкой между вашим агентом (например, LangChain, LlamaIndex, VertexAI) и базой данных, упрощая работу с базой, подключение, управление, безопасность и мониторинг.,
Подходит для разработки AI-агентов, которые могут создавать и управлять в реальными БД.
Особенности:
Если делаете агентов, которые работают с
SQL/PostgreSQL/MySQL — точно стоит попробовать.▪ GitHub: https://github.com/googleapis/genai-toolbox
@ai_machinelearning_big_data
#AI #ML #aiagent #opensource #MCP #databases #genai
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2🥱1💊1
🧠 SQL-задача для опытных разработчиков
В базе есть таблица заказов:
Задача:
Найти всех клиентов, у которых:
- В любые 3 подряд месяца был хотя бы 1 заказ в каждом месяце,
- и суммарная сумма заказов за эти 3 месяца превысила 10,000.
Дополнительно: вывести customer_id, эти 3 месяца (в формате YYYY-MM), общее число заказов за эти месяцы и сумму.
💡 Разбор подхода:
📆 Сначала агрегируем заказы по customer_id и order_month (например, 2024-06), посчитав кол-во заказов и сумму.
🪜 Пронумеруем месяцы для каждого клиента с помощью DENSE_RANK() или ROW_NUMBER().
🧮 Найдём окна из 3 последовательных месяцев (разница в номере = 2), и для них посчитаем сумму.
🧹 Отфильтруем только те окна, где сумма > 10000 и есть 3 записи подряд.
🧩 Решение (PostgreSQL)
В базе есть таблица заказов:
orders (
order_id INT,
customer_id INT,
order_date DATE,
total_amount DECIMAL
)
Задача:
Найти всех клиентов, у которых:
- В любые 3 подряд месяца был хотя бы 1 заказ в каждом месяце,
- и суммарная сумма заказов за эти 3 месяца превысила 10,000.
Дополнительно: вывести customer_id, эти 3 месяца (в формате YYYY-MM), общее число заказов за эти месяцы и сумму.
💡 Разбор подхода:
📆 Сначала агрегируем заказы по customer_id и order_month (например, 2024-06), посчитав кол-во заказов и сумму.
🪜 Пронумеруем месяцы для каждого клиента с помощью DENSE_RANK() или ROW_NUMBER().
🧮 Найдём окна из 3 последовательных месяцев (разница в номере = 2), и для них посчитаем сумму.
🧹 Отфильтруем только те окна, где сумма > 10000 и есть 3 записи подряд.
🧩 Решение (PostgreSQL)
WITH monthly_orders AS (
SELECT
customer_id,
TO_CHAR(order_date, 'YYYY-MM') AS order_month,
DATE_TRUNC('month', order_date) AS month_start,
COUNT(*) AS order_count,
SUM(total_amount) AS total_sum
FROM orders
GROUP BY customer_id, TO_CHAR(order_date, 'YYYY-MM'), DATE_TRUNC('month', order_date)
),
numbered_months AS (
SELECT
customer_id,
order_month,
month_start,
order_count,
total_sum,
ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY month_start) AS rn
FROM monthly_orders
),
three_month_windows AS (
SELECT
m1.customer_id,
m1.order_month AS month1,
m2.order_month AS month2,
m3.order_month AS month3,
(m1.total_sum + m2.total_sum + m3.total_sum) AS total_window_sum,
(m1.order_count + m2.order_count + m3.order_count) AS total_orders
FROM numbered_months m1
JOIN numbered_months m2 ON m1.customer_id = m2.customer_id AND m2.rn = m1.rn + 1
JOIN numbered_months m3 ON m1.customer_id = m3.customer_id AND m3.rn = m1.rn + 2
WHERE
m3.month_start - m1.month_start <= INTERVAL '62 days' -- ~2 месяца
)
SELECT
customer_id,
month1,
month2,
month3,
total_orders,
total_window_sum
FROM three_month_windows
WHERE total_window_sum > 10000;
👍6❤5👀4🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
🔥 Совет дня: быстро посчитать частоту значений в колонке
Часто нужно узнать, сколько раз встречается каждое значение в столбце? Используй
📌 Удобно для:
— подсчёта популярных категорий
— анализа активности пользователей
— агрегации логов
💡 Фишка: добавь
Часто нужно узнать, сколько раз встречается каждое значение в столбце? Используй
GROUP BY + COUNT(*):
SELECT category, COUNT(*) AS freq
FROM products
GROUP BY category
ORDER BY freq DESC;
📌 Удобно для:
— подсчёта популярных категорий
— анализа активности пользователей
— агрегации логов
💡 Фишка: добавь
LIMIT — и получишь топ-N значений:
SELECT user_id, COUNT(*) AS actions
FROM logs
GROUP BY user_id
ORDER BY actions DESC
LIMIT 10;
👍8❤1🔥1
Forwarded from C# (C Sharp) programming
📂 Microsoft открыла исходный код DocumentDB — нового стандарта NoSQL-баз на основе PostgreSQL
Теперь ядро Cosmos DB (MongoDB API) доступно всем — Microsoft представила DocumentDB, документоориентированную базу данных с открытым исходным кодом. Это серьёзный шаг для open source-сообщества и большой вклад в развитие NoSQL на базе PostgreSQL.
🔧 Что входит в DocumentDB:
▪️ pg_documentdb_core — расширение PostgreSQL с поддержкой BSON, включает:
- индексацию по полям, включая гео и составные
- векторный поиск (AI, NLP, рекомендации)
- аутентификацию SCRAM
▪️ pg_documentdb_api — API-уровень для CRUD-операций, запросов и управления индексами
🐳 Как попробовать:
1. Установите Docker
2. Клонируйте проект:
Соберите и запустите:
Подключение:
🔗 Репозиторий: https://github.com/microsoft/documentdb
DocumentDB — это не просто адаптация под Mongo, а новая точка входа в NoSQL на мощной базе PostgreSQL.
Теперь ядро Cosmos DB (MongoDB API) доступно всем — Microsoft представила DocumentDB, документоориентированную базу данных с открытым исходным кодом. Это серьёзный шаг для open source-сообщества и большой вклад в развитие NoSQL на базе PostgreSQL.
🔧 Что входит в DocumentDB:
▪️ pg_documentdb_core — расширение PostgreSQL с поддержкой BSON, включает:
- индексацию по полям, включая гео и составные
- векторный поиск (AI, NLP, рекомендации)
- аутентификацию SCRAM
▪️ pg_documentdb_api — API-уровень для CRUD-операций, запросов и управления индексами
🐳 Как попробовать:
1. Установите Docker
2. Клонируйте проект:
git clone https://github.com/microsoft/documentdb.git
Соберите и запустите:
docker build . -f .devcontainer/Dockerfile -t documentdb
docker run -v $(pwd):/home/documentdb/code -it documentdb /bin/bash
cd code && make && sudo make install
./scripts/start_oss_server.sh -t documentdb
Подключение:
psql -p 9712 -h localhost -d postgres
🔗 Репозиторий: https://github.com/microsoft/documentdb
DocumentDB — это не просто адаптация под Mongo, а новая точка входа в NoSQL на мощной базе PostgreSQL.
❤6👍5
🧠 Word2Vec: как работает модель Skip‑Gram по версии Chris McCormick
Гайд погрузит вас в архитектуру Skip‑Gram — одной из ключевых моделей Word2Vec, не отвлекаясь на лишние детали арт-обзора, а фокусируясь на сути алгоритма :
▪ Цель “фейковой задачи”
Мы обучаем нейросеть с одним скрытым слоем не ради самой задачи, а чтобы получить векторы слов — веса скрытого слоя. Саму сеть потом не используем напрямую
▪ Обучающие пары
Из текста формируются пары: центральное слово + одно из слов в окне контекста. Размер окна — параметр (например, ±5 слов)
▪ Предсказание контекста
На вход подается one-hot вектор центрального слова, на выходе — распределение вероятностей соседних слов (softmax). Цель — максимизировать \(\sum \log p(w_\text{context} \mid w_\text{center})\)
▪ Архитектура сети
- Вход → one-hot размером |V| → умножение на матрицу W (|V| × N) → скрытый слой размерности N (например, 300) :contentReference[oaicite:5]{index=5}.
- W — это то, что мы хотим: векторное представление слов.
▪ Трюки ускорения
Чтобы не считать softmax по тысячам слов, применяются Negative Sampling или Hierarchical Softmax — чтобы обучение стало масштабируемым.
▪ Почему это работает
Слова, которые часто встречаются в похожих контекстах, получают близкие эмбеддинги, и ассоциативные отношения проявляются через векторные разности (например, queen – woman ≈ king – man).
Почему стоит читать этот туториал?
- Объясняет суть Skip‑Gram без лишнего шума
- Показывает, почему скрытый слой — это главная ценность
- Подробно разбирает формирование пар и механизм predict context
- Затрагивает оптимизации для скорости
- Содержит наглядные формулы и визуализации
➡️ Если хотите разобраться, как работает Word2Vec "внутри", этот материал от McCormick — один из самых понятных и доступных.
🟡 Читать
Гайд погрузит вас в архитектуру Skip‑Gram — одной из ключевых моделей Word2Vec, не отвлекаясь на лишние детали арт-обзора, а фокусируясь на сути алгоритма :
▪ Цель “фейковой задачи”
Мы обучаем нейросеть с одним скрытым слоем не ради самой задачи, а чтобы получить векторы слов — веса скрытого слоя. Саму сеть потом не используем напрямую
▪ Обучающие пары
Из текста формируются пары: центральное слово + одно из слов в окне контекста. Размер окна — параметр (например, ±5 слов)
▪ Предсказание контекста
На вход подается one-hot вектор центрального слова, на выходе — распределение вероятностей соседних слов (softmax). Цель — максимизировать \(\sum \log p(w_\text{context} \mid w_\text{center})\)
▪ Архитектура сети
- Вход → one-hot размером |V| → умножение на матрицу W (|V| × N) → скрытый слой размерности N (например, 300) :contentReference[oaicite:5]{index=5}.
- W — это то, что мы хотим: векторное представление слов.
▪ Трюки ускорения
Чтобы не считать softmax по тысячам слов, применяются Negative Sampling или Hierarchical Softmax — чтобы обучение стало масштабируемым.
▪ Почему это работает
Слова, которые часто встречаются в похожих контекстах, получают близкие эмбеддинги, и ассоциативные отношения проявляются через векторные разности (например, queen – woman ≈ king – man).
Почему стоит читать этот туториал?
- Объясняет суть Skip‑Gram без лишнего шума
- Показывает, почему скрытый слой — это главная ценность
- Подробно разбирает формирование пар и механизм predict context
- Затрагивает оптимизации для скорости
- Содержит наглядные формулы и визуализации
➡️ Если хотите разобраться, как работает Word2Vec "внутри", этот материал от McCormick — один из самых понятных и доступных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Forwarded from Анализ данных (Data analysis)
🧠 MindsDB — универсальный MCP-сервер с поддержкой SQL и ИИ
Если вам нужен мощный способ подключать LLM к реальным данным — вот он.
MindsDB — это инструмент, который позволяет обращаться к более чем 200 источникам данных (Slack, Gmail, Google Sheets, базы данных, соцсети и т.д.) с помощью:
▪ обычных SQL-запросов
▪ или просто на естественном языке (например: "покажи все письма от клиента за прошлый месяц")
Что делает его особенным?
▪ Умеет объединять данные из разных систем — как единый запрос
▪ Позволяет вызывать и обучать ML/LLM‑модели прямо из SQL
▪ Работает как MCP‑сервер — можно подключать агентов, чат-ботов и использовать в продуктивной среде
▪ Полностью open-source, с активным сообществом и 33 000+ звёзд на GitHub
💡 Это готовое решение, чтобы построить:
– интеллектуального ассистента с доступом к данным
– LLM-интерфейс к корпоративным системам
– гибкий слой интеграции для агентов
🔗 github.com/mindsdb/mindsdb
@data_analysis_ml
Если вам нужен мощный способ подключать LLM к реальным данным — вот он.
MindsDB — это инструмент, который позволяет обращаться к более чем 200 источникам данных (Slack, Gmail, Google Sheets, базы данных, соцсети и т.д.) с помощью:
▪ обычных SQL-запросов
▪ или просто на естественном языке (например: "покажи все письма от клиента за прошлый месяц")
Что делает его особенным?
▪ Умеет объединять данные из разных систем — как единый запрос
▪ Позволяет вызывать и обучать ML/LLM‑модели прямо из SQL
▪ Работает как MCP‑сервер — можно подключать агентов, чат-ботов и использовать в продуктивной среде
▪ Полностью open-source, с активным сообществом и 33 000+ звёзд на GitHub
💡 Это готовое решение, чтобы построить:
– интеллектуального ассистента с доступом к данным
– LLM-интерфейс к корпоративным системам
– гибкий слой интеграции для агентов
🔗 github.com/mindsdb/mindsdb
@data_analysis_ml
❤4👍2
🧠 SQL-задача для продвинутых: как найти самые длинные серии входов без пропусков?
Представим таблицу
Нужно определить: для каждого пользователя — самую длинную непрерывную последовательность дней, когда он заходил на сайт (без пропущенных дат).
💡 Хитрый приём: если пронумеровать входы с
Вот решение:
📌 Подходит для задач с непрерывной активностью, логами, аналитикой по клиентам и временным последовательностям.
Представим таблицу
logins:user_id INT,
login_date DATEНужно определить: для каждого пользователя — самую длинную непрерывную последовательность дней, когда он заходил на сайт (без пропущенных дат).
💡 Хитрый приём: если пронумеровать входы с
ROW_NUMBER(), то разность login_date - row_number будет постоянной в рамках серии подряд идущих дней. Это позволяет сгруппировать такие серии и посчитать их длину.Вот решение:
WITH login_ranked AS (
SELECT
user_id,
login_date,
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY login_date) AS rn
FROM logins
),
grouped AS (
SELECT
user_id,
login_date,
DATE_SUB(login_date, INTERVAL rn DAY) AS grp
FROM login_ranked
),
group_lengths AS (
SELECT
user_id,
grp,
COUNT(*) AS streak_length
FROM grouped
GROUP BY user_id, grp
)
SELECT
user_id,
MAX(streak_length) AS max_consecutive_days
FROM group_lengths
GROUP BY user_id
ORDER BY max_consecutive_days DESC;
📌 Подходит для задач с непрерывной активностью, логами, аналитикой по клиентам и временным последовательностям.
👍11❤1
🚀 *Amazon запускает S3 Vectors — и это может перевернуть рынок векторных БД*
На первый взгляд — просто новый сервис. На деле — возможно, главная новость для AI-инфраструктуры в 2024.
Когда Amazon представил S3 в 2006, он навсегда изменил подход к хранению данных: больше не нужно думать о дисках — только API и бесконечное масштабирование. S3 Vectors может сделать то же самое с векторными БД.
💡 Почему это важно
1️⃣ Резкое удешевление
- $0.06/GB за хранение, $0.004/TB за запросы
- В 10–400 раз дешевле, чем популярные векторные хостинги
- Подходит для стартапов, особенно с бесплатными AWS-кредитами
2️⃣ Масштабируемость без DevOps
- Храни миллиарды векторов
- Запросы — за сотни миллисекунд
- Без серверов: просто создаёшь *vector bucket* и используешь API
3️⃣ Глубокая интеграция с AWS-экосистемой
- Bedrock (RAG-приложения)
- OpenSearch (tiered storage)
- SageMaker и другие сервисы
- Всё подключается "из коробки"
🛠️ Что можно делать
- Масштабируемый RAG с низкой ценой
- Поиск по смыслу в документах, видео, медизображениях, коду
- Долгосрочная память для AI-агентов
- Семантический корпоративный поиск
📈 Сообщество уже тестирует: среднее время запроса — ~250 мс. Preview-доступ открыт в регионах US East/West, Frankfurt и Sydney.
🔗 https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/
Если пробуете — делитесь результатами. Это может быть началом нового стандарта.
На первый взгляд — просто новый сервис. На деле — возможно, главная новость для AI-инфраструктуры в 2024.
Когда Amazon представил S3 в 2006, он навсегда изменил подход к хранению данных: больше не нужно думать о дисках — только API и бесконечное масштабирование. S3 Vectors может сделать то же самое с векторными БД.
💡 Почему это важно
1️⃣ Резкое удешевление
- $0.06/GB за хранение, $0.004/TB за запросы
- В 10–400 раз дешевле, чем популярные векторные хостинги
- Подходит для стартапов, особенно с бесплатными AWS-кредитами
2️⃣ Масштабируемость без DevOps
- Храни миллиарды векторов
- Запросы — за сотни миллисекунд
- Без серверов: просто создаёшь *vector bucket* и используешь API
3️⃣ Глубокая интеграция с AWS-экосистемой
- Bedrock (RAG-приложения)
- OpenSearch (tiered storage)
- SageMaker и другие сервисы
- Всё подключается "из коробки"
🛠️ Что можно делать
- Масштабируемый RAG с низкой ценой
- Поиск по смыслу в документах, видео, медизображениях, коду
- Долгосрочная память для AI-агентов
- Семантический корпоративный поиск
📈 Сообщество уже тестирует: среднее время запроса — ~250 мс. Preview-доступ открыт в регионах US East/West, Frankfurt и Sydney.
🔗 https://aws.amazon.com/blogs/aws/introducing-amazon-s3-vectors-first-cloud-storage-with-native-vector-support-at-scale/
Если пробуете — делитесь результатами. Это может быть началом нового стандарта.
👍7❤5🥰2🔥1
📘 Шпаргалки по SQL — база и оконные функции в одном месте
Хочешь быстро освежить SQL или подготовиться к собеседованию?
Нашёл отличные PDF-шпаргалки, которые удобно сохранить себе и использовать как в работе, так и в учёбе.
🔹 Базовый SQL:
Каждая команда объясняется не только по синтаксису, но и по сути — когда и зачем использовать.
1️⃣
2️⃣ Все типы
3️⃣
4️⃣ Агрегатные функции и фильтрация
Основы SQL
🔹 Оконные функции (window functions):
Это уже продвинутый уровень, особенно полезный для аналитиков и дата-инженеров.
1️⃣
2️⃣
3️⃣ Работа с рамками окна:
4️⃣ Сортировка внутри окна и реальные примеры запросов
🔗 Оконные функции в SQL
📌 Когда только начинал учить SQL, не хватало понятных материалов. А тут — всё чётко, наглядно и по делу. За это авторам — уважение 🙌
▶️ Сохраняйте себе, чтобы не потерять
Хочешь быстро освежить SQL или подготовиться к собеседованию?
Нашёл отличные PDF-шпаргалки, которые удобно сохранить себе и использовать как в работе, так и в учёбе.
🔹 Базовый SQL:
Каждая команда объясняется не только по синтаксису, но и по сути — когда и зачем использовать.
1️⃣
SELECT, WHERE, GROUP BY, HAVING 2️⃣ Все типы
JOIN с примерами 3️⃣
CASE WHEN, UNION и подзапросы 4️⃣ Агрегатные функции и фильтрация
Основы SQL
🔹 Оконные функции (window functions):
Это уже продвинутый уровень, особенно полезный для аналитиков и дата-инженеров.
1️⃣
ROW_NUMBER, RANK, DENSE_RANK, NTILE 2️⃣
LAG, LEAD, FIRST_VALUE, LAST_VALUE 3️⃣ Работа с рамками окна:
ROWS BETWEEN, RANGE, GROUPS 4️⃣ Сортировка внутри окна и реальные примеры запросов
📌 Когда только начинал учить SQL, не хватало понятных материалов. А тут — всё чётко, наглядно и по делу. За это авторам — уважение 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥8👍7
Forwarded from Machine learning Interview
This media is not supported in your browser
VIEW IN TELEGRAM
🔊 OpenVoice — опенсовр инструмент для клонирования голоса
Вы можете сгенерировать копию любого голоса всего по одной короткой записи — и озвучивать тексты с нужной интонацией, эмоцией и даже на другом языке.
💡 Что умеет:
— Воспроизводит голос с точным тембром и стилем
— Меняет тон, темп, эмоции и акцент
— Работает даже с языками, которых не было в обучении (zero-shot)
— Быстрая генерация и минимальные ресурсы — дешевле многих коммерческих решений
⚙️ Как устроено:
OpenVoice использует комбинацию моделей: одна отвечает за стиль, вторая — за тональность и характеристики речи. Обучена на сотнях тысяч голосов и стилей.
Онлайн-демо: https://huggingface.co/spaces/myshell-ai/OpenVoice
🎯 Кому подойдёт:
— Авторам подкастов, дикторам и блогерам
— Разработчикам — для интеграции озвучки в приложения
— Исследователям — для изучения архитектуры голосовых моделей
• Github: https://github.com/myshell-ai/OpenVoice/tree/main
@machinelearning_interview
Вы можете сгенерировать копию любого голоса всего по одной короткой записи — и озвучивать тексты с нужной интонацией, эмоцией и даже на другом языке.
💡 Что умеет:
— Воспроизводит голос с точным тембром и стилем
— Меняет тон, темп, эмоции и акцент
— Работает даже с языками, которых не было в обучении (zero-shot)
— Быстрая генерация и минимальные ресурсы — дешевле многих коммерческих решений
⚙️ Как устроено:
OpenVoice использует комбинацию моделей: одна отвечает за стиль, вторая — за тональность и характеристики речи. Обучена на сотнях тысяч голосов и стилей.
Онлайн-демо: https://huggingface.co/spaces/myshell-ai/OpenVoice
🎯 Кому подойдёт:
— Авторам подкастов, дикторам и блогерам
— Разработчикам — для интеграции озвучки в приложения
— Исследователям — для изучения архитектуры голосовых моделей
• Github: https://github.com/myshell-ai/OpenVoice/tree/main
@machinelearning_interview
❤5👍4🔥3
📑 go-sqlite3 — необычная реализация SQLite для Go, которая обходится без cgo. Вместо традиционных биндингов проект использует Wasm-сборку SQLite и рантайм wazero, что делает его полностью независимым от системных библиотек.
Драйвер остаётся совместимым с стандартным интерфейсом
🤖 GitHub
Драйвер остаётся совместимым с стандартным интерфейсом
database/sql, но при этом предлагает прямой доступ к низкоуровневым функциям SQLite. Разработчики уделили внимание тестированию: поддержка множества архитектур и ОС, включая экзотические вроде RISC-V или Solaris. 🤖 GitHub
🔥7❤2👍2😁1🆒1
Forwarded from Machinelearning
Архитектура Mixture-of-Recursions (MoR), предложенная Google в соавторстве с KAIST AI объединяет в едином фреймворке традиционные подходы разделения параметров и адаптивные вычисления, заставляя модель думать над каждым токеном с разной глубиной.
Под капотом MoR - рекурсивный трансформер, который прогоняет входные данные через один и тот же блок слоев несколько раз. Но главная фишка в том, что количество этих прогонов, или глубина рекурсии, не фиксированное, а динамическое и определяется для каждого токена индивидуально.
Легковесный обучаемый роутер анализирует токен и решает, сколько вычислительных усилий на него потратить. Простые слова могут пройти всего один цикл рекурсии, в то время как семантически нагруженные термины отправятся на более глубокую обработку из нескольких циклов.
Это дает два главных преимущества:
При одинаковом бюджете на обучение (в FLOPs) и меньшем размере самой модели MoR показывает более низкую перплексию и лучшие результаты в few-shot задачах, чем стандартные и рекурсивные аналоги.
@ai_machinelearning_big_data
#AI #ML #LLM #Architecture #MoR
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1🔥1