𝗦𝗤𝗟 𝗙𝗿𝗼𝗺 𝗕𝗮𝘀𝗶𝗰𝘀 𝘁𝗼 𝗔𝗱𝘃𝗮𝗻𝗰𝗲𝗱: этот PDF-файл содержит SQL от начального до продвинутого уровня.
Этот 101-страничный PDF-файл вам понадобится для подготовки и повторения SQL перед любым собеседованием по данным.
👉 @PythonPortal
Этот 101-страничный PDF-файл вам понадобится для подготовки и повторения SQL перед любым собеседованием по данным.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤27👍8🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁64❤5👍4
LandingAI выпустили бесплатный курс по Document AI. Там учат собирать пайплайны обработки документов, которые вытаскивают текст, таблицы, графики и формы, не теряя контекст разметки.
Проблема классического OCR в том, что оно “достаёт буквы”, но ломает смысл:
- у таблиц пропадает структура (включая merged cells)
- связи “график⬅️ ➡️ подпись” разваливаются
- порядок чтения в multi-column становится кашей
В курсе показывают, как строить агент-воркфлоу, которые читают документы ближе к тому, как это делает человек, через Agentic Document Extraction (ADE).
Что внутри:
- почему обычный OCR валится на сложных документах
- как детект layout + правильный reading order сохраняют структуру
- как парсить PDF в Markdown/JSON и не потерять layout
- как собирать RAG с ADE и векторными БД
- как деплоить event-driven документные пайплайны на AWS
3 часа, 6 практических примеров кода. Полностью бесплатно.
👉 @PythonPortal
Проблема классического OCR в том, что оно “достаёт буквы”, но ломает смысл:
- у таблиц пропадает структура (включая merged cells)
- связи “график
- порядок чтения в multi-column становится кашей
В курсе показывают, как строить агент-воркфлоу, которые читают документы ближе к тому, как это делает человек, через Agentic Document Extraction (ADE).
Что внутри:
- почему обычный OCR валится на сложных документах
- как детект layout + правильный reading order сохраняют структуру
- как парсить PDF в Markdown/JSON и не потерять layout
- как собирать RAG с ADE и векторными БД
- как деплоить event-driven документные пайплайны на AWS
3 часа, 6 практических примеров кода. Полностью бесплатно.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4🔥2
Истинная природа методов — это «специальные методы».
Про жизненный цикл инстанса.
▪️
Думаю, как конструктор используется очень часто. В основном это инициализация экземпляра (например, инициализация атрибутов). Отличие от
Возвращаемое значение всегда
▪️
В отличие от
Возвращаемое значение должно быть созданным экземпляром (обычно это экземпляр класса из аргумента
Типичное место применения
Ещё
▪️
Вызывается в момент, когда экземпляр уничтожается (например, через
👉 @PythonPortal
Про жизненный цикл инстанса.
__init__object.__init__(self[, ...])Думаю, как конструктор используется очень часто. В основном это инициализация экземпляра (например, инициализация атрибутов). Отличие от
__new__, о котором ниже: __init__ выполняется уже после создания экземпляра.Возвращаемое значение всегда
None.__new__object.__new__(cls[, ...])В отличие от
__init__, выполняется до создания экземпляра и отвечает именно за его создание. Поэтому это не инстанс-метод, а статический метод, но явно прописывать @staticmethod не нужно.Возвращаемое значение должно быть созданным экземпляром (обычно это экземпляр класса из аргумента
cls).Типичное место применения
__new__ это инициализация подклассов, которые наследуются от иммутабельных типов (int, str, tuple и т.д.). Они иммутабельные, поэтому после создания объекта нельзя менять атрибуты через __init__.Ещё
__new__ используют для реализации паттерна Singleton.__del__object.__del__(self)Вызывается в момент, когда экземпляр уничтожается (например, через
del). Явных популярных кейсов немного, но может быть полезно при отладке, чтобы понимать тайминг работы GC.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Любой может программировать с помощью ИИ.
Вы используете ИИ без базовых знаний программирования:
👉 @PythonPortal
Вы используете ИИ без базовых знаний программирования:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥35😁24👍6
This media is not supported in your browser
VIEW IN TELEGRAM
GitHub запустил свою платформу для обучения: все курсы и сертификаты в одном месте.
Git, GitHub, MCP, использование ИИ, VSCode и многое другое.
И большая часть контента бесплатна: → https://learn.github.com
👉 @PythonPortal
Git, GitHub, MCP, использование ИИ, VSCode и многое другое.
И большая часть контента бесплатна: → https://learn.github.com
Please open Telegram to view this post
VIEW IN TELEGRAM
❤33
Сюююда: GitHub-репозиторий, чтобы учиться AI Engineering.
Там собраны одни из лучших бесплатных курсов, статей, туториалов и видео по темам:
Математическая база
Основы AI и ML
Deep Learning и специализации
Generative AI
Большие языковые модели (LLM)
Гайды по prompt engineering
RAG, агенты и MCP
Смотри тут: https://github.com/ashishps1/learn-ai-engineering
👉 @PythonPortal
Там собраны одни из лучших бесплатных курсов, статей, туториалов и видео по темам:
Математическая база
Основы AI и ML
Deep Learning и специализации
Generative AI
Большие языковые модели (LLM)
Гайды по prompt engineering
RAG, агенты и MCP
Смотри тут: https://github.com/ashishps1/learn-ai-engineering
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍4
Изучи Python с Университетом University of Helsinki
✓ С официальным сертификатом
✓ С нуля до продвинутого уровня
✓ 14 частей с практическими заданиями
Весь контент доступен → здесь
👉 @PythonPortal
✓ С официальным сертификатом
✓ С нуля до продвинутого уровня
✓ 14 частей с практическими заданиями
Весь контент доступен → здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
pip 26.0: pre-release и фильтрация по времени загрузки
Три большие новые фичи:
▪️
▪️
▪️
Куда более подробный пост: читать
Официальный анонс здесь
Полный changelog здесь
👉 @PythonPortal
Три большие новые фичи:
--all-releases <package> и --only-final <package>: контроль pre-release по каждому пакету отдельно, плюс возможность отключить все pre-release пакеты через --only-final :all:--uploaded-prior-to <timstamp>: можно ограничить по времени загрузки пакета, например --uploaded-prior-to "2026-01-01T00:00:00Z"--requirements-from-script <script>: установка зависимостей, объявленных в inline metadata скрипта (PEP 723)Куда более подробный пост: читать
Официальный анонс здесь
Полный changelog здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Richard Si
What's new in pip 26.0 - prerelease and upload-time filtering!
pip 26.0 includes support for reading requirements from inline script metadata, excluding distributions by upload time, per-package prerelease selection, and experimental support for in-process build dependencies.
❤10🔥6😢1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🤔1
Вот частое заблуждение про RAG
Когда говорят про RAG, обычно думают так: проиндексировали док → потом достали этот же док.
Но индексация ≠ ретривал.
То есть данные, которые ты индексируешь, не обязаны совпадать с теми данными, которые ты потом скармливаешь LLM на этапе генерации.
Вот 4 умных способа индексировать данные:
1) Chunk Indexing
▪️ Самый распространенный подход.
▪️ Режешь документ на чанки, строишь эмбеддинги и кладешь их в векторную базу.
▪️ Во время запроса просто достаешь ближайшие чанки.
Подход простой и рабочий, но большие или шумные чанки могут просаживать точность.
2) Sub-chunk Indexing
▪️ Берешь исходные чанки и дробишь их еще мельче на сабчанки.
▪️ Индексируешь уже эти более мелкие куски.
▪️ Но при выдаче все равно возвращаешь “большой” чанк для контекста.
Помогает, когда в одном абзаце/секции намешано несколько разных идей: шанс точно сматчиться с запросом выше.
3) Query Indexing
▪️ Вместо сырого текста генеришь гипотетические вопросы, на которые, по мнению LLM, этот чанк может ответить.
▪️ Эмбеддишь эти вопросы и сохраняешь.
▪️ При ретривале реальные пользовательские запросы обычно лучше ложатся на такие “вопросные” представления.
▪️ Похожая идея есть в HyDE, только там матчат гипотетический ответ с реальными чанками.
Кайфово для QA-систем, потому что уменьшает семантический разрыв между запросом пользователя и тем, что лежит в индексе.
4) Summary Indexing
▪️ Просишь LLM кратко резюмировать каждый чанк в компактную семантическую форму.
▪️ Индексируешь summary вместо исходного текста.
▪️ А возвращаешь все равно полный чанк для контекста.
Особенно эффективно для плотных или структурированных данных (типа CSV/таблиц), где эмбеддинги сырого текста часто слабо что-то выражают
👉 @PythonPortal
Когда говорят про RAG, обычно думают так: проиндексировали док → потом достали этот же док.
Но индексация ≠ ретривал.
То есть данные, которые ты индексируешь, не обязаны совпадать с теми данными, которые ты потом скармливаешь LLM на этапе генерации.
Вот 4 умных способа индексировать данные:
1) Chunk Indexing
Подход простой и рабочий, но большие или шумные чанки могут просаживать точность.
2) Sub-chunk Indexing
Помогает, когда в одном абзаце/секции намешано несколько разных идей: шанс точно сматчиться с запросом выше.
3) Query Indexing
Кайфово для QA-систем, потому что уменьшает семантический разрыв между запросом пользователя и тем, что лежит в индексе.
4) Summary Indexing
Особенно эффективно для плотных или структурированных данных (типа CSV/таблиц), где эмбеддинги сырого текста часто слабо что-то выражают
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6