Совет по Git
Интерактивно просматривай и добавляй изменения частями (патчами), вместо того чтобы добавлять всё сразу:
Почему это полезно:
• добавляешь только нужные изменения
• пропускаешь случайные или незавершённые правки
• разбиваешь работу на чистые и сфокусированные коммиты
👉 @PythonPortal
Интерактивно просматривай и добавляй изменения частями (патчами), вместо того чтобы добавлять всё сразу:
git add -pПочему это полезно:
• добавляешь только нужные изменения
• пропускаешь случайные или незавершённые правки
• разбиваешь работу на чистые и сфокусированные коммиты
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🤝2
Построение надёжной RAG-системы — это не просто подключение векторной базы данных. Это проектирование интеллектуального пайплайна с балансом между точностью извлечения, логикой маршрутизации и строгой оценкой.
Хорошо спроектированная RAG-архитектура включает:
• Продвинутую сборку запроса с использованием реляционных, графовых и векторных баз данных для контекстного понимания
• Интеллектуальную маршрутизацию (логическую + семантическую) для оптимального выбора промптов и эффективности системы
• Многоэтапное извлечение с уточнением и переранжированием для повышения релевантности и снижения галлюцинаций
• Гибкие стратегии генерации, такие как Self-RAG, RRR и циклы активного извлечения
• Надёжные пайплайны индексирования: семантический чанкинг, иерархическая кластеризация (RAPTOR) и специализированные эмбеддинги (ColBERT)
• Непрерывную оценку с использованием фреймворков RAGAS, Grouse и DeepEval для измеримой производительности
Современные ИИ-системы требуют не только больших языковых моделей, но и качественных пайплайнов данных, точного извлечения и дисциплины в оценке.
Если ты строишь масштабируемые ИИ-продукты, архитектура RAG-системы становится конкурентным преимуществом.
#RAG #GenerativeAI #AIArchitecture #MachineLearning #LLM #DataEngineering #AIEngineering
👉 @PythonPortal
Хорошо спроектированная RAG-архитектура включает:
• Продвинутую сборку запроса с использованием реляционных, графовых и векторных баз данных для контекстного понимания
• Интеллектуальную маршрутизацию (логическую + семантическую) для оптимального выбора промптов и эффективности системы
• Многоэтапное извлечение с уточнением и переранжированием для повышения релевантности и снижения галлюцинаций
• Гибкие стратегии генерации, такие как Self-RAG, RRR и циклы активного извлечения
• Надёжные пайплайны индексирования: семантический чанкинг, иерархическая кластеризация (RAPTOR) и специализированные эмбеддинги (ColBERT)
• Непрерывную оценку с использованием фреймворков RAGAS, Grouse и DeepEval для измеримой производительности
Современные ИИ-системы требуют не только больших языковых моделей, но и качественных пайплайнов данных, точного извлечения и дисциплины в оценке.
Если ты строишь масштабируемые ИИ-продукты, архитектура RAG-системы становится конкурентным преимуществом.
#RAG #GenerativeAI #AIArchitecture #MachineLearning #LLM #DataEngineering #AIEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
🐍 Python — универсальный ключ от многих ИТ-дверей: от веб-разработки до машинного обучения
Освоить язык с нуля или углубить имеющиеся навыки можно на расширенном курсе Нетологии «Python-разработчик». Простого пути не обещают, но обещают комфортный темп, много практики и поддержку опытных разработчиков.
А ещё — помощь с трудоустройством. За время обучения вы:
🔸 научитесь упаковывать опыт в резюме;
🔸 пройдёте тестовые технические интервью;
🔸 посетите встречи с экспертами Сбера, Яндекса и Т-Банка;
🔸 сможете попасть на стажировку;
🔸 получите год карьерной поддержки после выпуска.
Сейчас на курс действует скидка 50%, а с промокодом NETONEW10 цена станет ещё на 10% ниже. Плюсом идут 4 курса по нейросетям и подарки от партнёров Нетологии в честь её 15-летия.
Узнать подробнее и записаться → ссылка
P. S. Ребята помогут оформить налоговый вычет, а это ещё –13% от стоимости
Реклама. ООО “Нетология” ОГРН 1207700135884 Erid: 2VSb5ykHiJv
Освоить язык с нуля или углубить имеющиеся навыки можно на расширенном курсе Нетологии «Python-разработчик». Простого пути не обещают, но обещают комфортный темп, много практики и поддержку опытных разработчиков.
А ещё — помощь с трудоустройством. За время обучения вы:
🔸 научитесь упаковывать опыт в резюме;
🔸 пройдёте тестовые технические интервью;
🔸 посетите встречи с экспертами Сбера, Яндекса и Т-Банка;
🔸 сможете попасть на стажировку;
🔸 получите год карьерной поддержки после выпуска.
Сейчас на курс действует скидка 50%, а с промокодом NETONEW10 цена станет ещё на 10% ниже. Плюсом идут 4 курса по нейросетям и подарки от партнёров Нетологии в честь её 15-летия.
Узнать подробнее и записаться → ссылка
P. S. Ребята помогут оформить налоговый вычет, а это ещё –13% от стоимости
Реклама. ООО “Нетология” ОГРН 1207700135884 Erid: 2VSb5ykHiJv
👍4❤1
Как использовать borb для создания простого PDF на Python
👉 @PythonPortal
from borb.pdf.canvas.layout.page_layout.multi_column_layout import SingleColumnLayout
from borb.pdf.canvas.layout.text.paragraph import Paragraph
from borb.pdf.document import Document
from borb.pdf.page.page import Page
from borb.pdf.pdf import PDF
def main(pdf_path):
pdf = Document()
# Добавляем пустую страницу в PDF
page = Page()
pdf.append_page(page)
# Создаём лэйаут для размещения текста
layout = SingleColumnLayout(page)
# Добавляем текст с помощью класса Paragraph
layout.add(Paragraph("Hello from borb!"))
with open(pdf_path, "wb") as pdf_fh:
PDF.dumps(pdf_fh, pdf)
if __name__ == "__main__":
main("demo.pdf")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31😁3
Знал ли ты, что Python может открыть вкладку браузера?
Без фреймворков. Всего одна строка.
Вот как запустить URL — удобно для создания утилит, повышения продуктивности или автоматического открытия документации из скриптов.
Попробуй сам.🙂
👉 @PythonPortal
Без фреймворков. Всего одна строка.
Вот как запустить URL — удобно для создания утилит, повышения продуктивности или автоматического открытия документации из скриптов.
Попробуй сам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34🔥3❤1
Docker Tip
Вот как можно проанализировать, что раздувает образ.
Как известно, каждый Docker-образ состоит из слоёв.
Каждый слой добавляется отдельной строкой в Dockerfile.
Эти слои позволяют понять, почему образ большой, медленно собирается или плохо кэшируется.
Вот как можно проинспектировать слои и посмотреть, что изменилось в каждом из них.
Можно использовать утилиту
Она даёт визуальное представление:
✅ всех созданных слоёв
✅ какие файлы были добавлены или изменены
✅ сколько места занимает каждый слой
При анализе слоёв образа можно определить:
- какая команда добавляет лишний объём
- как оптимизировать Dockerfile для более компактных и эффективных сборок
Также утилита показывает метрику эффективности образа, которая отражает, сколько данных дублируется или расходуется впустую между слоями.
👉 @PythonPortal
Вот как можно проанализировать, что раздувает образ.
Как известно, каждый Docker-образ состоит из слоёв.
Каждый слой добавляется отдельной строкой в Dockerfile.
Эти слои позволяют понять, почему образ большой, медленно собирается или плохо кэшируется.
Вот как можно проинспектировать слои и посмотреть, что изменилось в каждом из них.
Можно использовать утилиту
dive.Она даёт визуальное представление:
При анализе слоёв образа можно определить:
- какая команда добавляет лишний объём
- как оптимизировать Dockerfile для более компактных и эффективных сборок
Также утилита показывает метрику эффективности образа, которая отражает, сколько данных дублируется или расходуется впустую между слоями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Запуск open-source платформы PostgreSQL в Kubernetes с использованием copy-on-write для ветвления данных объёмом в терабайты за считанные секунды и автоматической гибернацией при простое для экономии ресурсов — подходит для компаний, которые строят внутренние базы данных или быстро поднимают окружения для разработки и тестирования.
Xata — это open-source облачная платформа PostgreSQL, которая умеет одновременно управлять большим количеством инстансов Postgres в Kubernetes. Ключевые возможности: создание веток данных объёмом в терабайты за секунды и автоматическое масштабирование до нуля при простое с последующим пробуждением при новых подключениях.
На уровне инфраструктуры используется CloudNativePG для управления и обслуживания Postgres и OpenEBS для хранения, а на верхнем уровне доступны встроенные SQL-шлюз, управление ветками, REST API и CLI. Компании могут использовать её для построения внутренних платформ баз данных или быстро выделять отдельную копию данных для каждого разработчика и каждого тестового запуска с последующей автоматической гибернацией для экономии ресурсов и затрат.
100% опенсорс
👉 @PythonPortal
Xata — это open-source облачная платформа PostgreSQL, которая умеет одновременно управлять большим количеством инстансов Postgres в Kubernetes. Ключевые возможности: создание веток данных объёмом в терабайты за секунды и автоматическое масштабирование до нуля при простое с последующим пробуждением при новых подключениях.
На уровне инфраструктуры используется CloudNativePG для управления и обслуживания Postgres и OpenEBS для хранения, а на верхнем уровне доступны встроенные SQL-шлюз, управление ветками, REST API и CLI. Компании могут использовать её для построения внутренних платформ баз данных или быстро выделять отдельную копию данных для каждого разработчика и каждого тестового запуска с последующей автоматической гибернацией для экономии ресурсов и затрат.
100% опенсорс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Ты: безупречное резюме/CV/рекомендации с прошлого места работы, десятки топовых проектов за плечами
Требования HR:
👉 @PythonPortal
Требования HR:
Please open Telegram to view this post
VIEW IN TELEGRAM
😁31
This media is not supported in your browser
VIEW IN TELEGRAM
MCP и Skills для AI-агентов — разбор без путаницы.
Разработчики часто воспринимают MCP и Skills как одно и то же.
Это ошибка.
Смешивание этих понятий — один из самых частых фейлов при переходе к серьёзной разработке AI-агентов.
Разберём с нуля.
До появления MCP подключение модели к внешним инструментам требовало писать кастомную интеграцию каждый раз.
Например, 10 моделей и 100 инструментов давали 1000 отдельных коннекторов, которые нужно поддерживать.
MCP решает это через общий протокол взаимодействия.
Инструменты становятся частью “сервера”, который экспонирует возможности. Каждый агент — это “клиент”, который умеет делать запросы. Общение идёт через структурированные JSON-сообщения по чётко заданному интерфейсу.
Например, можно один раз реализовать MCP-сервер для GitHub, и он будет работать с Claude, ChatGPT, Cursor или любым другим агентом с поддержкой MCP. Ключевая ценность — одна интеграция, многократное использование.
MCP решает проблему подключения, но не решает проблему использования.
Агент может иметь 50 корректно подключённых MCP-инструментов и при этом работать слабо, если не понимает:
- когда вызывать инструмент
- в каком порядке
- с каким контекстом
Этот разрыв закрывают Skills.
Skill — это переносимый пакет процедурных знаний.
Файл SKILL.md не просто описывает доступные инструменты, а задаёт, как именно их применять в рамках конкретной задачи.
- Skill для написания текста включает гайд по тону и шаблоны вывода
- Skill для код-ревью включает паттерны проверок и правила
MCP даёт агенту доступ к инструментам. Skills формируют устойчивые паттерны их использования.
Вместе это полный стек возможностей продакшен-агента:
- MCP — слой подключения инструментов
- Skills — слой знаний и выполнения задач
- Агент — оркестрация через контекст и рассуждение
Поэтому продвинутые конфигурации используют оба подхода: MCP-серверы для интеграций и SKILL.md для доменной экспертизы.
👉 @PythonPortal
Разработчики часто воспринимают MCP и Skills как одно и то же.
Это ошибка.
Смешивание этих понятий — один из самых частых фейлов при переходе к серьёзной разработке AI-агентов.
Разберём с нуля.
До появления MCP подключение модели к внешним инструментам требовало писать кастомную интеграцию каждый раз.
Например, 10 моделей и 100 инструментов давали 1000 отдельных коннекторов, которые нужно поддерживать.
MCP решает это через общий протокол взаимодействия.
Инструменты становятся частью “сервера”, который экспонирует возможности. Каждый агент — это “клиент”, который умеет делать запросы. Общение идёт через структурированные JSON-сообщения по чётко заданному интерфейсу.
Например, можно один раз реализовать MCP-сервер для GitHub, и он будет работать с Claude, ChatGPT, Cursor или любым другим агентом с поддержкой MCP. Ключевая ценность — одна интеграция, многократное использование.
MCP решает проблему подключения, но не решает проблему использования.
Агент может иметь 50 корректно подключённых MCP-инструментов и при этом работать слабо, если не понимает:
- когда вызывать инструмент
- в каком порядке
- с каким контекстом
Этот разрыв закрывают Skills.
Skill — это переносимый пакет процедурных знаний.
Файл SKILL.md не просто описывает доступные инструменты, а задаёт, как именно их применять в рамках конкретной задачи.
- Skill для написания текста включает гайд по тону и шаблоны вывода
- Skill для код-ревью включает паттерны проверок и правила
MCP даёт агенту доступ к инструментам. Skills формируют устойчивые паттерны их использования.
Вместе это полный стек возможностей продакшен-агента:
- MCP — слой подключения инструментов
- Skills — слой знаний и выполнения задач
- Агент — оркестрация через контекст и рассуждение
Поэтому продвинутые конфигурации используют оба подхода: MCP-серверы для интеграций и SKILL.md для доменной экспертизы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥4
Нашли репозиторий с большим количеством шпаргалок по Python на русском языке 😮
Есть PDF-ки по:
- типам данных;
- функциям;
- декораторам;
- итераторам и генераторам;
- различным модулям;
- ООП и многому другому.
⛓ Ссылка: тык
👉 @PythonPortal
Есть PDF-ки по:
- типам данных;
- функциям;
- декораторам;
- итераторам и генераторам;
- различным модулям;
- ООП и многому другому.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - Dv-nn/Python--Cheat-Sheet: Шпаргалка Python
Шпаргалка Python. Contribute to Dv-nn/Python--Cheat-Sheet development by creating an account on GitHub.
👍12❤3
Как работает DNS за 60 секунд:
Что такое DNS: система доменных имён.
Ты вводишь
Вот что происходит под капотом:
1. Браузер спрашивает: «Где находится http://xyz.com?»
2. Резолвер DNS у провайдера проверяет кэш. Если запрос уже был — отвечает сразу. Если нет — начинает опрос.
3. Запрос к корневому серверу имён → «Не знаю, спроси у сервера зоны .com»
4. Запрос к серверу зоны .com → «Не знаю, спроси у авторитетного сервера для http://xyz.com»
5. Авторитетный сервер отвечает: «http://xyz.com = 203.0.113.47»
6. Резолвер кэширует ответ и возвращает его браузеру
7. Браузер подключается к 203.0.113.47 — сайт загружается
Всё это происходит за миллисекунды. Каждый раз при открытии сайта.
И когда DNS ломается — не работает ничего. Ни сайты, ни приложения. Даже если сервер полностью исправен.
Поэтому фраза «всегда виноват DNS» — одна из самых часто повторяемых в ИТ.
👉 @PythonPortal
Что такое DNS: система доменных имён.
Ты вводишь
http://xyz.com в браузере. Но интернет не понимает доменные имена — он работает с IP-адресами.Вот что происходит под капотом:
1. Браузер спрашивает: «Где находится http://xyz.com?»
2. Резолвер DNS у провайдера проверяет кэш. Если запрос уже был — отвечает сразу. Если нет — начинает опрос.
3. Запрос к корневому серверу имён → «Не знаю, спроси у сервера зоны .com»
4. Запрос к серверу зоны .com → «Не знаю, спроси у авторитетного сервера для http://xyz.com»
5. Авторитетный сервер отвечает: «http://xyz.com = 203.0.113.47»
6. Резолвер кэширует ответ и возвращает его браузеру
7. Браузер подключается к 203.0.113.47 — сайт загружается
Всё это происходит за миллисекунды. Каждый раз при открытии сайта.
И когда DNS ломается — не работает ничего. Ни сайты, ни приложения. Даже если сервер полностью исправен.
Поэтому фраза «всегда виноват DNS» — одна из самых часто повторяемых в ИТ.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤9👀5🤔1
Google DeepMind выпустили, пожалуй, самый тревожный отчёт по кибербезопасности за год.
Они описали поверхность атак, о которой почти не говорят в контексте ИИ.
Сайты уже умеют определять, что к ним пришёл агент, и отдавать ему совсем другой контент, чем человеку.
- скрытые инструкции в HTML
- вредоносные команды в пикселях изображений
- джейлбрейки, зашитые в PDF
Эта «асимметрия детекции» означает: пользователю показывается нормальный контент, а агенту — скрытый и вредоносный.
Агент не понимает, что его обманывают. Он просто обрабатывает вход и действует.
Вот поверхность атак, о которой мало говорят:
→ косвенные веб-инъекции: инструкции, спрятанные в HTML-комментариях, CSS-трюках или тексте «белым по белому»
→ мультимодальная стеганография: команды, закодированные прямо в пикселях изображений, невидимые человеку, но читаемые моделями зрения
→ джейлбрейки в документах: инструкции, спрятанные глубоко в PDF, таблицах и календарных событиях
→ отравление памяти: внедрение ложных данных, которые сохраняются и влияют на будущие сессии
→ атаки на утечку данных: агент вынуждается отправлять приватную информацию на контролируемые атакующим эндпоинты
→ каскады между агентами: худший сценарий — агент A скомпрометирован, передаёт «яд» агенту B, затем C, и заражается весь пайплайн из-за доверия между агентами
Самая отрезвляющая часть отчёта: защита серьёзно отстаёт.
Санитизация входа не работает — пиксели нельзя «очистить».
Инструкции уровня промпта вроде «игнорируй подозрительные команды» не помогают — атаки маскируются под легитимные.
Человеческий контроль невозможен на скоростях и масштабах, на которых работают агенты.
Если агенту поручить анализ 50 сайтов, невозможно проверить, одинаковый ли контент получил агент и пользователь.
👉 @PythonPortal
Они описали поверхность атак, о которой почти не говорят в контексте ИИ.
Сайты уже умеют определять, что к ним пришёл агент, и отдавать ему совсем другой контент, чем человеку.
- скрытые инструкции в HTML
- вредоносные команды в пикселях изображений
- джейлбрейки, зашитые в PDF
Эта «асимметрия детекции» означает: пользователю показывается нормальный контент, а агенту — скрытый и вредоносный.
Агент не понимает, что его обманывают. Он просто обрабатывает вход и действует.
Вот поверхность атак, о которой мало говорят:
→ косвенные веб-инъекции: инструкции, спрятанные в HTML-комментариях, CSS-трюках или тексте «белым по белому»
→ мультимодальная стеганография: команды, закодированные прямо в пикселях изображений, невидимые человеку, но читаемые моделями зрения
→ джейлбрейки в документах: инструкции, спрятанные глубоко в PDF, таблицах и календарных событиях
→ отравление памяти: внедрение ложных данных, которые сохраняются и влияют на будущие сессии
→ атаки на утечку данных: агент вынуждается отправлять приватную информацию на контролируемые атакующим эндпоинты
→ каскады между агентами: худший сценарий — агент A скомпрометирован, передаёт «яд» агенту B, затем C, и заражается весь пайплайн из-за доверия между агентами
Самая отрезвляющая часть отчёта: защита серьёзно отстаёт.
Санитизация входа не работает — пиксели нельзя «очистить».
Инструкции уровня промпта вроде «игнорируй подозрительные команды» не помогают — атаки маскируются под легитимные.
Человеческий контроль невозможен на скоростях и масштабах, на которых работают агенты.
Если агенту поручить анализ 50 сайтов, невозможно проверить, одинаковый ли контент получил агент и пользователь.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯16👍9❤3🔥1😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯19😁6
Бывший исследователь MIT Исаак Фримен бросил PhD и выложил роадмап на 50 000 GPU H100 для эмуляции полноценного человеческого мозга.
Он описал полный путь — от червя с 302 нейронами до человека с 86 миллиардами нейронов. Стоимость коннектомики сейчас оценивается примерно в $100 за нейрон, и основным узким местом остаётся сбор данных с помощью продвинутых микроскопов — у «цифровых людей» появился реалистичный таймлайн.
https://pdf.isaak.net/thesis
👉 @PythonPortal
Он описал полный путь — от червя с 302 нейронами до человека с 86 миллиардами нейронов. Стоимость коннектомики сейчас оценивается примерно в $100 за нейрон, и основным узким местом остаётся сбор данных с помощью продвинутых микроскопов — у «цифровых людей» появился реалистичный таймлайн.
https://pdf.isaak.net/thesis
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔17❤4🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
Быстрый совет по Code, о котором ты можешь не знать: содержимое скобок и строк можно выделить простым двойным кликом 🖱
👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤4🤣2
Сталкивался с тем, как безопасно шарить API-ключи внутри команды?
Файл
Поэтому коммит в git приводит к утечке всех секретов. Обычно файл добавляют в
Со временем секреты расползаются по разным местам без единого источника истины.
Можно коммитить зашифрованный файл в git, а команде нужен только приватный ключ (хранится в
Ключевые возможности:
• Работает с Python, Node, Go, Ruby, Rust и другими через единый CLI
• Шифрует
• Разделяет окружения через
👉 @PythonPortal
Файл
.env хранит конфигурацию вроде API-ключей и URL базы данных в открытом виде.Поэтому коммит в git приводит к утечке всех секретов. Обычно файл добавляют в
.gitignore, а креды раздают вручную через Slack или менеджеры паролей.Со временем секреты расползаются по разным местам без единого источника истины.
dotenvx решает это, шифруя .env через криптографию с открытым ключом.Можно коммитить зашифрованный файл в git, а команде нужен только приватный ключ (хранится в
.env.keys, который в .gitignore) для расшифровки при запуске приложения.Ключевые возможности:
• Работает с Python, Node, Go, Ruby, Rust и другими через единый CLI
• Шифрует
.env с использованием той же криптографии, что и Bitcoin (secp256k1)• Разделяет окружения через
.env.production, .env.staging и .env.ciPlease open Telegram to view this post
VIEW IN TELEGRAM
❤2