Используйте itertools вместо циклов
Хотя циклы это круто, но у них есть ограничения, особенно в современных стилях программирования и для некоторых типов задач. Понимание этих ограничений помогает выбрать правильный инструмент под задачу. Каждая итерация цикла в Python дает накладные расходы интерпретатора, например проверки типов и управление памятью. На больших датасетах это может заметно накапливаться.
Чтобы обойти это ограничение, в Python есть удобная встроенная библиотека itertools. Например, допустим, вам нужно сгенерировать все уникальные пары из заданного списка. Порядок не важен, и ни один элемент не должен образовывать пару сам с собой.
Чтобы не раздувать код и снизить риск багов, можно использовать библиотеку itertools. Функция itertools.combinations() напрямую генерирует все уникальные комбинации элементов из iterable без повторений и без учета порядка.
Вот как можно переписать код, используя combinations из itertools:
👉 @PythonPortal
Хотя циклы это круто, но у них есть ограничения, особенно в современных стилях программирования и для некоторых типов задач. Понимание этих ограничений помогает выбрать правильный инструмент под задачу. Каждая итерация цикла в Python дает накладные расходы интерпретатора, например проверки типов и управление памятью. На больших датасетах это может заметно накапливаться.
Чтобы обойти это ограничение, в Python есть удобная встроенная библиотека itertools. Например, допустим, вам нужно сгенерировать все уникальные пары из заданного списка. Порядок не важен, и ни один элемент не должен образовывать пару сам с собой.
Чтобы не раздувать код и снизить риск багов, можно использовать библиотеку itertools. Функция itertools.combinations() напрямую генерирует все уникальные комбинации элементов из iterable без повторений и без учета порядка.
Вот как можно переписать код, используя combinations из itertools:
from itertools import combinations
def get_unique_pairs_itertools(items):
return list(combinations(items, 2))
my_list = ['A', 'B', 'C', 'D']
print(get_unique_pairs_itertools(my_list))
Output:
[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'C'), ('B', 'D'), ('C', 'D')]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤10
Meta недавно закрыла одну из самых больших болей в RAG
Большинство RAG-систем просто жгут бюджет. Они вытаскивают 100 чанков, когда тебе реально нужно 10. Они заставляют LLM переваривать тысячи нерелевантных токенов. В итоге ты платишь за вычисления, которые вообще не нужны.
Meta AI это порешали.
Они сделали REFRAG, новый подход к RAG, который сжимает и фильтрует контекст еще до того, как он попадет в LLM. Результаты звучат дико:
▪️ в 30.85 раза быстрее time-to-first-token
▪️ контекстные окна в 16 раз больше
▪️ в 2-4 раза меньше обрабатываемых токенов
▪️ обгоняет LLaMA на 16 RAG-бенчмарках
Чем REFRAG отличается:
Классический RAG просто сваливает все в LLM. Каждый чанк. Каждый токен. Даже мусор, который не по делу.
А REFRAG работает на уровне эмбеддингов:
↳ сжимает каждый чанк в один эмбеддинг
↳ RL-политика (обученная через reinforcement learning) скорит каждый чанк по релевантности
↳ только лучшие чанки разворачиваются и отправляются в LLM
↳ остальное остается сжатым или вообще отфильтровывается
То есть LLM обрабатывает только то, что реально важно.
Пайплайн простой:
1. Закодируй документы и сохрани их в векторной базе
2. Когда приходит запрос, как обычно достань релевантные чанки
3. RL-политика оценивает сжатые эмбеддинги и выбирает лучшие
4. Выбранные чанки разворачиваются в полные token-эмбеддинги
5. Отклоненные чанки остаются одиночными сжатыми векторами
6. Все вместе уходит в LLM
Итог: можно прогонять в 16 раз больше контекста в 30 раз быстрее без потери точности.
Ссылка на доки
👉 @PythonPortal
Большинство RAG-систем просто жгут бюджет. Они вытаскивают 100 чанков, когда тебе реально нужно 10. Они заставляют LLM переваривать тысячи нерелевантных токенов. В итоге ты платишь за вычисления, которые вообще не нужны.
Meta AI это порешали.
Они сделали REFRAG, новый подход к RAG, который сжимает и фильтрует контекст еще до того, как он попадет в LLM. Результаты звучат дико:
Чем REFRAG отличается:
Классический RAG просто сваливает все в LLM. Каждый чанк. Каждый токен. Даже мусор, который не по делу.
А REFRAG работает на уровне эмбеддингов:
↳ сжимает каждый чанк в один эмбеддинг
↳ RL-политика (обученная через reinforcement learning) скорит каждый чанк по релевантности
↳ только лучшие чанки разворачиваются и отправляются в LLM
↳ остальное остается сжатым или вообще отфильтровывается
То есть LLM обрабатывает только то, что реально важно.
Пайплайн простой:
1. Закодируй документы и сохрани их в векторной базе
2. Когда приходит запрос, как обычно достань релевантные чанки
3. RL-политика оценивает сжатые эмбеддинги и выбирает лучшие
4. Выбранные чанки разворачиваются в полные token-эмбеддинги
5. Отклоненные чанки остаются одиночными сжатыми векторами
6. Все вместе уходит в LLM
Итог: можно прогонять в 16 раз больше контекста в 30 раз быстрее без потери точности.
Ссылка на доки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26❤6👍4
Кто-то собрал тулзу, которая СНИМАЕТ ЦЕНЗУРУ у LLM за 45 минут одной-единственной командой
Называется HERETIC👌
Вот как это работает и почему об этом сейчас все говорят:
Короткий контекст: ЛЛМки поставляются с safety-alignment, поэтому на некоторые промпты они отвечают отказом.
Техника, чтобы это убрать, называется
Проблема? Делать это руками нормально было медленно, нестабильно по результатам и требовало глубоких знаний в ML.
HERETIC автоматизирует ВЕСЬ процесс.
Ты даешь ему имя модели, он прогоняет вредные и безвредные промпты, мапит, где именно “живёт отказ” в
Старые инструменты использовали ФИКСИРОВАННЫЙ вес абляции для всех слоев. HERETIC использует гибкое ядро весов, типа ручки громкости, которая на разной глубине сети может усиливаться или ослабляться.
Плюс он обрабатывает MLP и attention heads ОТДЕЛЬНО. MLP более хрупкие, поэтому для них операция более “щадящая”.
Один тестер прогнал heretic-модель через приватный IQ-тест для LLM, где даже GPT-4 спотыкается.
Идеальный результат.
Другой назвал heretic-вариант gpt-oss 20b ЛУЧШЕЙ “uncensored” моделью, которую он пробовал.
Мы прошли путь от “пожалуйста, джейлбрейкни мою модель 500-словным промптом, который ломается со следующим апдейтом” к “математически удалить цепь отказа за 45 минут, и это НАВСЕГДА”.
Это не “патчится обратно”, это НЕ джейлбрейк: веса ИЗМЕНЕНЫ навсегда.
И поскольку HERETIC оптимизирует минимальную потерю интеллекта, ты не меняешь capability на свободу… ты получаешь И ТО, И ДРУГОЕ
“uncensored”-версия больше не “тупой кузен”, это та же модель, только без намордника.
👉 @PythonPortal
Называется HERETIC
Вот как это работает и почему об этом сейчас все говорят:
Короткий контекст: ЛЛМки поставляются с safety-alignment, поэтому на некоторые промпты они отвечают отказом.
Техника, чтобы это убрать, называется
abliteration: находят “направление отказа” внутри весов модели, а затем математически СТИРАЮТ его.Проблема? Делать это руками нормально было медленно, нестабильно по результатам и требовало глубоких знаний в ML.
HERETIC автоматизирует ВЕСЬ процесс.
Ты даешь ему имя модели, он прогоняет вредные и безвредные промпты, мапит, где именно “живёт отказ” в
residual stream, а потом через байесовскую оптимизацию подбирает лучшие параметры “удаления”.Старые инструменты использовали ФИКСИРОВАННЫЙ вес абляции для всех слоев. HERETIC использует гибкое ядро весов, типа ручки громкости, которая на разной глубине сети может усиливаться или ослабляться.
Плюс он обрабатывает MLP и attention heads ОТДЕЛЬНО. MLP более хрупкие, поэтому для них операция более “щадящая”.
Один тестер прогнал heretic-модель через приватный IQ-тест для LLM, где даже GPT-4 спотыкается.
Идеальный результат.
Другой назвал heretic-вариант gpt-oss 20b ЛУЧШЕЙ “uncensored” моделью, которую он пробовал.
Мы прошли путь от “пожалуйста, джейлбрейкни мою модель 500-словным промптом, который ломается со следующим апдейтом” к “математически удалить цепь отказа за 45 минут, и это НАВСЕГДА”.
Это не “патчится обратно”, это НЕ джейлбрейк: веса ИЗМЕНЕНЫ навсегда.
И поскольку HERETIC оптимизирует минимальную потерю интеллекта, ты не меняешь capability на свободу… ты получаешь И ТО, И ДРУГОЕ
“uncensored”-версия больше не “тупой кузен”, это та же модель, только без намордника.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5🤔4🔥2🌚1
Настройка среды разработки: VSCode, Docker для Python-проектов. Debug внутри контейнера
В этой статье мы подробно рассмотрим процесс установки и настройки всех необходимых инструментов для эффективной разработки Python-приложений с использованием FastAPI, Docker и Docker Compose. Вы узнаете, как создать изолированную среду для вашего проекта, настроить отладку и обеспечить бесперебойную работу вашего приложения.
👉 @PythonPortal
В этой статье мы подробно рассмотрим процесс установки и настройки всех необходимых инструментов для эффективной разработки Python-приложений с использованием FastAPI, Docker и Docker Compose. Вы узнаете, как создать изолированную среду для вашего проекта, настроить отладку и обеспечить бесперебойную работу вашего приложения.
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Настройка среды разработки: VSCode, Docker для Python-проектов. Debug внутри контейнера
В этой статье мы подробно рассмотрим процесс установки и настройки всех необходимых инструментов для эффективной разработки Python-приложений с использованием FastAPI, Docker и Docker Compose. Вы...
❤9👍3
Пока ElevenLabs 🤩
Вышел новый сервис Voicebox и он клонирует почти любой голос всего по нескольким секундам аудио и полностью локально на твоей машине.
Без загрузок в облако. Никакие голосовые данные не покидают девайс.
Работает на Qwen3-TTS, прорывной голосовой модели от Alibaba.
→ Загружаешь пару секунд аудио
→ Получаешь почти идеальный клон голоса
→ Генеришь речь на любом языке
→ Миксуешь мульти-голосовые диалоги в DAW-подобном таймлайне
Всё локально. Ноль зависимости от облака.
100% open source. Лицензия MIT.
macOS + Windows уже доступны. Linux скоро.
👉 @PythonPortal
Вышел новый сервис Voicebox и он клонирует почти любой голос всего по нескольким секундам аудио и полностью локально на твоей машине.
Без загрузок в облако. Никакие голосовые данные не покидают девайс.
Работает на Qwen3-TTS, прорывной голосовой модели от Alibaba.
→ Загружаешь пару секунд аудио
→ Получаешь почти идеальный клон голоса
→ Генеришь речь на любом языке
→ Миксуешь мульти-голосовые диалоги в DAW-подобном таймлайне
Всё локально. Ноль зависимости от облака.
100% open source. Лицензия MIT.
macOS + Windows уже доступны. Linux скоро.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Кто-то собрал ИИ, который одновременно пишет код и лазит по вебу.
Называется Accomplish и работает локально, не сжигая API-кредиты.
Без Claude Desktop. Без Cursor. Без ежемесячных подписок.
Большинство AI-инструментов для кодинга заставляют выбирать что-то одно:
Claude Desktop → только работа с компьютером
Cursor → только кодинг
Windsurf → только кодинг
Accomplish объединяет обе возможности, чтобы Claude мог и изучить библиотеку, и сразу внедрить ее, не переключаясь между инструментами.
Ты просишь: "Найди самые свежие доки Stripe API и собери платежную интеграцию"
Accomplish:
1. Открывает браузер → читает документацию Stripe
2. Пишет Python-код на основе актуального API
3. Тестирует интеграцию
4. Дебажит ошибки
Все в одной сессии. Без переключения контекста.
100% open source.
👉 @PythonPortal
Называется Accomplish и работает локально, не сжигая API-кредиты.
Без Claude Desktop. Без Cursor. Без ежемесячных подписок.
Большинство AI-инструментов для кодинга заставляют выбирать что-то одно:
Claude Desktop → только работа с компьютером
Cursor → только кодинг
Windsurf → только кодинг
Accomplish объединяет обе возможности, чтобы Claude мог и изучить библиотеку, и сразу внедрить ее, не переключаясь между инструментами.
Ты просишь: "Найди самые свежие доки Stripe API и собери платежную интеграцию"
Accomplish:
1. Открывает браузер → читает документацию Stripe
2. Пишет Python-код на основе актуального API
3. Тестирует интеграцию
4. Дебажит ошибки
Все в одной сессии. Без переключения контекста.
100% open source.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤7👍1
🔥 Пожизненная PRO-подписка на easyoffer по цене одного года.
Беспрецедентная акция на PRO-тариф сайта для подготовки к собеседованию на программиста, тестировщика, проектного менеджера и другие IT-профессии.
⚙️ Доступные функции сейчас:
1. База вопросов из реальных технических собеседований с вероятностью встречи и примерами ответов.
2. База задач с этапа live-coding.
3. База 1100+ реальных собеседований, в том числе в топовые компании (Сбер, Авито, Яндекс, WB, OZON, МТС и др.) на позиции Junior/Middle/Senior.
4. База 400+ тестовых заданий от компаний.
5. Аналитика ТОП-требований из вакансий для лучшего написания резюме по ключевым словам.
6. Тренажеры для подготовки к собеседованию. В том числе тренажер «Реальное собеседование» со сценарием вопросов под конкретную компанию.
⌛️ Функции, которые появятся в ближайшие полгода:
1. Агрегатор вакансий из Telegram, сайтов компаний и джоббордов.
2. Улучшение и оптимизация резюме, чтобы проходить ATS-системы.
3. Генерация уникального резюме и сопроводительного письма под вакансию.
Акция до 20 февраля (включительно) на PRO-тариф. Покупаешь сейчас один раз — пользуешься всю жизнь без лимита, включая все будущие функции.
👉 Смотри подробности тарифа и покупай на easyoffer
Беспрецедентная акция на PRO-тариф сайта для подготовки к собеседованию на программиста, тестировщика, проектного менеджера и другие IT-профессии.
⚙️ Доступные функции сейчас:
1. База вопросов из реальных технических собеседований с вероятностью встречи и примерами ответов.
2. База задач с этапа live-coding.
3. База 1100+ реальных собеседований, в том числе в топовые компании (Сбер, Авито, Яндекс, WB, OZON, МТС и др.) на позиции Junior/Middle/Senior.
4. База 400+ тестовых заданий от компаний.
5. Аналитика ТОП-требований из вакансий для лучшего написания резюме по ключевым словам.
6. Тренажеры для подготовки к собеседованию. В том числе тренажер «Реальное собеседование» со сценарием вопросов под конкретную компанию.
⌛️ Функции, которые появятся в ближайшие полгода:
1. Агрегатор вакансий из Telegram, сайтов компаний и джоббордов.
2. Улучшение и оптимизация резюме, чтобы проходить ATS-системы.
3. Генерация уникального резюме и сопроводительного письма под вакансию.
Акция до 20 февраля (включительно) на PRO-тариф. Покупаешь сейчас один раз — пользуешься всю жизнь без лимита, включая все будущие функции.
👉 Смотри подробности тарифа и покупай на easyoffer
🤣3😁1