Python/ django
59K subscribers
2.53K photos
193 videos
48 files
3.26K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
🔥 Harbor - единый фреймворк для тестирования и улучшения AI-агентов

Сравнивать Claude Code, OpenHands, Codex CLI и других агентов сложно: у каждого свои команды, окружения и форматы результатов.

Harbor превращает это в единый воспроизводимый пайплайн. Он позволяет запускать разные модели и coding-агентов на одинаковых задачах в изолированных контейнерах.

Что умеет Harbor:

- тестировать разные модели и AI-агенты;
- запускать Terminal-Bench, SWE-Bench и Aider Polyglot;
- создавать собственные бенчмарки и окружения;
- параллельно проводить тысячи экспериментов;
- собирать rollouts для RL-оптимизации;
- работать локально через Docker или в облачных sandbox-сервисах.

Установка:


uv tool install harbor


Пример запуска:


harbor run \
--dataset [email protected] \
--agent claude-code \
--model anthropic/claude-opus-4-1 \
--n-concurrent 4


Harbor используется как evaluation harness для Terminal-Bench 2.0 и распространяется по лицензии Apache 2.0.

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

GitHub:
https://github.com/harbor-framework/harbor
8👍5🔥3🎉1
Prime Agent - новый open-source coding harness для задач, которые продолжаются часами или даже несколькими сессиями.

Вместо десятков отдельных инструментов модель получает один постоянный IPython-кernel. Через Python она может:

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

Разработчики описывают подход так:

> Контекст становится переменной, а делегирование субагентам - вызовом функции внутри REPL.

Агент может написать код, найти нужный фрагмент истории и обработать данные программно.

Есть и механизм /refine: Prime Agent анализирует собственную траекторию и может обновлять вспомогательные промпты, память, навыки и настройки субагентов. Изменения сохраняются между сессиями и при необходимости откатываются.

По собственным тестам Prime Intellect, связка Prime Agent + Opus 5 набрала 95,5% на ARC-AGI-3 - немного выше указанного авторами бенчмарка результата экспертов в 95,4%.

В предварительном EmulatorBench агент также смог с нуля написать на Rust работающие эмуляторы SEGA Genesis и Game Boy Color без доступа к готовым реализациям.

Prime Agent распространяется под MIT-лицензией и работает на macOS и Linux.

Важный нюанс: это не изолированная песочница. Агент запускает сгенерированный код с правами текущего пользователя, поэтому тестировать его безопаснее в отдельной копии репозитория.

GitHub:
https://github.com/PrimeIntellect-ai/prime-agent

Подробности:
https://www.primeintellect.ai/blog/prime-agent
🔥4👍21🎉1
XY - новая open-source библиотека визуализации от команды Reflex. Она пытается объединить удобство Matplotlib с интерактивностью браузерных графиков и производительностью Rust.

Для больших датасетов Rust-ядро XY вычисляет только то, что реально можно показать при текущем разрешении экрана. При приближении данные уточняются и появляются исходные точки.


import xy

chart = xy.line_chart(
xy.line(
[1, 2, 3, 4, 5],
[120, 180, 165, 240, 310]
)
)

chart


Есть даже совместимость с привычным стилем Matplotlib:


import xy.pyplot as plt

fig, ax = plt.subplots()
ax.plot(x, y)
plt.show()


По собственному бенчмарку разработчиков на Apple M5 Pro:

- 100 млн точек в density-режиме - ~0,081 с;
- 100 млн реальных маркеров без агрегации - ~1,34 с;
- библиотека уже использовалась для визуализации датасета OpenStreetMap примерно на 10 млрд точек.

Под капотом:


Python API

ColumnStore

Rust compute

binary buffers

WebGL2 / Canvas


Графики интерактивные: pan, zoom, hover, selection и linked charts. Их можно использовать в Jupyter и веб-приложениях, а затем экспортировать в HTML, PNG, SVG или PDF.

Установка:


pip install xy


Если подход оправдает себя, XY может стать интересной альтернативой связке Matplotlib + Plotly для действительно больших датасетов.

Источник:
https://github.com/reflex-dev/xy

#Python #DataScience #Visualization #Rust
7🔥5👍3
🚀 LLMs-from-scratch пробил 100 000 звёзд на GitHub - и это уже одна из лучших практических баз по устройству современных LLM.

Проект Себастьяна Рашки показывает весь путь с нуля - без магии высокоуровневых библиотек:

- токенизация и attention;
- pretraining;
- классификация;
- instruction fine-tuning;
- LoRA, DPO и evaluation;
- KV cache и оптимизация памяти;
- эффективная загрузка весов.

Причём репозиторий давно вышел за рамки «соберём маленький GPT».

Там уже есть реализации Llama, Qwen, Gemma и OLMo с нуля, а также современные архитектурные техники:

- GQA;
- MLA;
- Sliding Window Attention;
- Gated DeltaNet;
- DeepSeek Sparse Attention;
- cross-layer KV sharing;
- Mixture-of-Experts.

Самое полезное - уменьшенные версии моделей можно запускать локально и подключать к тем же training scripts, чтобы реально экспериментировать с архитектурой, а не только читать статьи.

Рашка продолжит добавлять новые варианты attention и архитектуры, а RL и Reasoning From Scratch развивает в отдельных репозиториях.

Если хочется не просто использовать LLM через API, а действительно понять, что происходит внутри трансформера - это один из тех репозиториев, которые стоит пройти руками.

🔗 github.com/rasbt/LLMs-from-scratch

#AI #LLM #MachineLearning #DeepLearning #OpenSource
17👍7🔥3
🚀 Django 6.1 вышел: меньше магии, больше контроля

Новая версия Django приносит улучшения для production-приложений и работы с базой данных.

Главное новшество — новый подход к загрузке данных моделей.

Теперь можно контролировать, когда Django делает дополнительные запросы:


from django.db import models

books = Book.objects.fetch_mode(
models.FETCH_PEERS
)


Это помогает бороться с проблемой N+1 запросов и лучше контролировать нагрузку на БД.

Новые режимы:

- FETCH_ONE — загружать данные только для текущего объекта;
- FETCH_PEERS — догружать данные сразу для группы объектов;
- RAISE — запрещать неожиданные запросы и ловить проблемы заранее.

Также в Django 6.1:

- поддержка Python 3.12, 3.13 и 3.14;
- PostgreSQL 15+;
- MySQL 8.4+;
- MariaDB 10.11+;
- улучшения cache и внутренних механизмов.

Главная идея релиза:

Django всё меньше скрывает стоимость операций и даёт разработчикам больше контроля над тем, что происходит под капотом.

Подробнее:
https://www.djangoproject.com/weblog/2026/aug/05/django-61-released/
🔥188👍7🎉1
⚡️ QueryTuner - open-source инструмент, который разбирает SQL-запрос и показывает, почему он может тормозить.

Подключаться к базе вообще не обязательно. Можно просто вставить SQL и получить диагностику.

Поддерживаются сразу 5 диалектов:

- PostgreSQL
- MySQL
- Oracle
- SQL Server
- SQLite

Внутри два уровня анализа.

1. Детерминированный heuristic engine

Он мгновенно ищет типичные anti-patterns:

- SELECT *
- функции внутри WHERE
- leading wildcard в LIKE
- потенциально отсутствующие индексы
- ORDER BY без ограничения результата
- другие проблемы производительности

Сейчас заявлено 12 правил, и для них не нужны ни LLM, ни внешний API.
2. Опциональный AI-слой

Можно подключить Qwen через Hugging Face или OpenAI. Тогда QueryTuner умеет:

- объяснять проблему человеческим языком;
- переписывать запрос;
- предлагать CREATE INDEX;
- объяснять, зачем конкретный индекс нужен.

Особенно интересно, что можно передать ещё и CREATE TABLE DDL. Тогда рекомендации становятся schema-aware: инструмент видит реальные таблицы, колонки и существующие индексы.

Например, для такого запроса:


SELECT *
FROM orders
WHERE YEAR(created_at) = 2026;


Хороший проект для тех случаев, когда SQL уже работает, но хочется понять, почему через полгода он начнёт работать плохо.

#SQL #PostgreSQL #Database #OpenSource #DataEngineering

https://github.com/AutoShiftOps/querytuner
👍114🎉2🔥1😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Запрограммируй робота на Python и поборись за призовой фонд трека 7 500 000 руб на True Tech Champ 2026.

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

Лучшие команды пройдут в финал и будут программировать реальных роботов на офлайн-полигоне 22 октября на большой сцене.
Масштабный финал объединит борьбу за призовой фонд, выступления хедлайнеров, доклады спикеров и активности для всех гостей мероприятия.

Рекомендуемые стеки: Go, Java, Python, C#, C++, JS.

Успей зарегистрироваться и пройти квалификацию до 13 сентября

Реклама. ООО "МВС", ИНН 7707767501, Erid:2VSb5xGRBaJ
🔥4😁41🎉1
🐍 Django-разработчикам: `DEBUG=True` в проде опаснее, чем кажется.

Это не просто красивые страницы ошибок. При включённом DEBUG приложение может раскрывать stack trace, настройки, пути файлов, middleware, URL-паттерны и другие детали окружения.

Главная рекомендация - fail closed:


DEBUG = False


То есть по умолчанию DEBUG всегда выключен, а включается только локально.

Даже staging, QA и preview-среды, доступные из интернета, лучше запускать с DEBUG=False.

Отдельная ловушка - переменные окружения:


DEBUG = os.environ.get("DEBUG", "False") != "False"


Здесь DEBUG=false или DEBUG=0 могут неожиданно превратиться в True.

Лучше явно парсить boolean или использовать django-environ.

Мелкая настройка, которая однажды может спасти production от очень неприятной утечки.

https://lincolnloop.com/blog/setting-djangos-debug-safely/

#Python #Django #Backend #Security #DevOps
👍65🔥1😁1🎉1🤩1
🛡️ Uber открыла ADR - систему защиты для корпоративных AI-агентов.

ADR расшифровывается как Agentic AI Detection and Response. Проект уже используется внутри Uber и предназначен для наблюдаемости, тестирования безопасности и обнаружения угроз в агентных системах.

Что умеет ADR:

- собирает телеметрию от AI coding agents;
- отслеживает действия агентов и вызовы инструментов;
- помогает находить подозрительное поведение;
- позволяет строить security monitoring вокруг автономных агентов;
- включает инструменты для security benchmarking и threat detection.

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

Похоже, рядом с EDR для компьютеров и серверов появляется новый класс инструментов - EDR, но уже для автономных AI-агентов.

GitHub:
https://github.com/uber/ADR

#AI #AIAgents #Cybersecurity #Uber #OpenSource
👍5🔥43
🔥 Stepik Курс: «Python современный AI для разработчика и автоматизации задач» ровно про второе.

63 урока, 382 шага, ноль вдохновляющих рассуждений. В каждом уроке разбор темы с рабочим кодом, короткие вопросы и задача с автопроверкой, которая решается на чистом Python без ключей и без интернета.

Внутри то, о чём молчат туториалы: структурированный вывод по схеме, RAG, который не выдумывает, агенты с tool calling, evals и ловля регрессий, кэш, лимиты и очереди, инъекции промптов, локальный запуск через Ollama и vLLM, text-to-SQL с правами только на чтение, pgvector с HNSW, MCP и песочница для кода агента.

Плюс то, что окупается в первый же день: разбор входящей почты, отчёты без выдуманных чисел, вебхуки, боты, сценарии в браузере.
Для тех, кто уже пишет на Python и устал от демок.

72 часа скидка 55% процентов, начать учиться - https://stepik.org/a/295921
🔥32👍2🎉2
🤖 Agency Agents - готовая команда специализированных AI-агентов для разработки, маркетинга, дизайна и бизнеса

Вместо одного универсального «сделай всё» агента проект предлагает десятки узких специалистов: Backend Architect, AI Engineer, DevOps Automator, Code Reviewer, Database Optimizer, SRE, Prompt Engineer, RAG Engineer и многих других.

Каждый агент - это не просто короткий prompt. Внутри описаны:

* роль и стиль общения;
* рабочий процесс;
* ожидаемые deliverables;
* технические примеры;
* критерии успешного результата.

Установить агентов можно в Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Aider, Windsurf и другие инструменты. Есть и отдельное приложение для macOS, Linux и Windows.

Например, можно поставить только engineering-команду:


./scripts/install.sh \
--tool claude-code \
--division engineering


Или конкретных агентов:


./scripts/install.sh \
--tool cursor \
--agent frontend-developer,ui-designer


По сути, Agency Agents превращает папку с промптами в готовый каталог AI-ролей, которые можно подключать к привычному coding agent без создания каждого system prompt с нуля.

Проект распространяется по лицензии MIT.

GitHub:
https://github.com/msitarzewski/agency-agents
🔥7👍43
🔥 Kimi K3 на 2,78 ТРИЛЛИОНА параметров запустили на CPU с 8 ГБ RAM. Без GPU, BLAS и фреймворков

Проект kimi-k3-in-c реализует inference Kimi K3 практически с нуля на portable C99. Чекпоинт модели занимает 1,56 ТБ, но пик RAM при запуске составил всего 8,24 ГБ.

Фокус в MoE и стриминге весов. Из 896 экспертов на токен выбираются только 16, а остальные веса не обязаны постоянно лежать в оперативной памяти. Огромная часть модели читается прямо с диска, поверх этого работает LRU-кэш экспертов.

Цена такого трюка очевидна: скорость. При 8 ГБ RAM автор получил около 26,5 секунды на токен, при 64 ГБ уже 19,8 секунды, а на машине с 128+ ГБ, где нужные данные помещаются в память, около 5,6 секунды.

Получается любопытная смена ограничения: гигантскую MoE уже можно заставить работать без серверной фермы. Вопрос теперь скорее в том, сколько диска и времени на токен вы готовы отдать за такой inference.

github.com/FareedKhan-dev/kimi-k3-in-c

#AI #Kimi #LLM #C #LocalAI
🔥20👍53😱1🎉1
🐍 В Python у while есть else. И многие разработчики узнают об этом спустя годы

Выглядит непривычно:


number = 0

while number < 5:
print(number)
number += 1
else:
print("Цикл завершился")


Блок else выполнится, если цикл закончился естественно, то есть условие while стало ложным.

Но есть важный нюанс. Если внутри сработает break, else уже не выполнится.


number = 0

while number < 5:
if number == 3:
break

number += 1
else:
print("Сюда не попадём")


Из-за этого while...else удобно использовать там, где нужно отличить нормальное завершение поиска от досрочного выхода.

Например, цикл пытается найти нужное значение. Если нашёл, делает break. Если дошёл до конца без успеха, срабатывает else.

Синтаксис существует в Python давно, но до сих пор выглядит как маленькая пасхалка языка.

#Python #Programming #Backend #PythonTips
11👍5🔥4😱2