Python Community
11.7K subscribers
1.45K photos
117 videos
15 files
978 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
ProtoLink - лёгкий Python-фреймворк для мультиагентных систем с A2A в основе

ProtoLink строит архитектуру вокруг самих агентов, а не цепочек вызовов LLM. Каждый агент имеет собственные capabilities, tools, lifecycle и может напрямую передавать задачи другим агентам через Agent-to-Agent (A2A).

Что есть внутри:

* OpenAI, Anthropic, Gemini, DeepSeek, Ollama, llama.cpp и другие модели;
* native Python tools и MCP;
* HTTP, SSE, WebSocket и gRPC;
* SQLite state и хранение запусков;
* telemetry через Langfuse и LangSmith;
* auth, policies, approvals, budgets и replay;
* Pipeline, Parallel, Router и Graph для детерминированных workflow.

Фреймворк local-first: можно поднять агента вообще без API-ключа и облачной модели, а затем подключить Ollama или другой backend без переписывания tools и логики взаимодействия. Базовый пакет зависит только от Pydantic.

GitHub:
https://github.com/nMaroulis/protolink

Лицензия: MIT.

@Python_Community_ru
🔥 `Agents-cli` от Google - полный конвейер разработки AI-агентов из терминала

Инструмент добавляет coding-агентам вроде Claude Code, Codex и Antigravity CLI готовые навыки для работы с Google ADK и облачной инфраструктурой. Сам agents-cli моделью или отдельным coding-агентом не является.

Что умеет:

• создавать каркас агентного проекта
• запускать агента локально
• генерировать датасеты для eval
• оценивать и сравнивать трассы
• находить типичные причины ошибок
• автоматически оптимизировать промпты
• добавлять RAG, CI/CD и observability
• деплоить в Cloud Run, GKE или Agent Runtime
• публиковать агента в Gemini Enterprise

Для локальной разработки Google Cloud необязателен — достаточно Gemini API через AI Studio. Для облачного деплоя уже потребуется собственный проект Google Cloud.

Установка:


uvx google-agents-cli setup


Можно установить только skills:


npx skills add google/agents-cli


Лицензия Apache 2.0.

🔗 https://github.com/google/agents-cli

@Python_Community_ru
🎙 Kyutai открыла готовый стек для потоковых голосовых агентов

Delayed Streams Modeling — репозиторий с моделями и примерами для streaming STT и TTS. Аудио обрабатывается частями: агент начинает распознавать речь и генерировать ответ, не дожидаясь окончания записи.

Что внутри:

• потоковая транскрибация с временными метками для каждого слова
• модель 1B EN/FR с задержкой около 0,5 секунды и semantic VAD
• английская модель 2.6B с задержкой около 2,5 секунды
• PyTorch-ноутбуки для экспериментов
• Rust-сервер с WebSocket для продакшена
• MLX-реализация для Mac и iPhone
• streaming TTS, который принимает текст и сразу выдаёт звук частями.

На H100 разработчики заявляют обработку до 400 одновременных STT-потоков, а Rust-сервер на L40S обслуживает 64 подключения быстрее реального времени.

Лицензии разделены по компонентам: Python и web — MIT, Rust backend — Apache 2.0, веса STT — CC BY 4.0.

🔗 https://github.com/kyutai-labs/delayed-streams-modeling

@Python_Community_ru
🐍 collections.Counter: больше, чем подсчёт частот

Большинство используют Counter только ради most_common(), хотя у него есть куда более интересные возможности.


from collections import Counter

a = Counter("abracadabra")
b = Counter("barbecue")


Можно складывать и вычитать частоты:


a + b
a - b


Пересечение и объединение счётчиков:


a & b # минимальные значения
a | b # максимальные значения


Удалить элементы с нулевой и отрицательной частотой:


clean = +a


Получить общее число элементов:


a.total()


Развернуть счётчик обратно в последовательность:


list(a.elements())


Особенно удобно для анализа логов, событий, токенов, категорий и любых данных, где важна частота появления.

#Python #Collections #Backend

@Python_Community_ru
🔥1
🚀 NVIDIA открыла единый фреймворк для обучения и запуска world models

Cosmos Framework объединяет полный цикл работы с моделями Cosmos 3: обучение, дообучение, инференс и онлайн-сервинг.

Что внутри:

• распределённое обучение через FSDP, TP, CP и PP
• импорт и экспорт Hugging Face safetensors
• поддержка JSONL, WebDataset и LeRobot
• инференс через Diffusers, Transformers и vLLM
• batch-генерация и сервер на Ray + Gradio
• готовые Agent Skills для Claude Code, Codex CLI и Cursor

Cosmos 3 работает с текстом, изображениями, видео, аудио и последовательностями действий. Фреймворк рассчитан на разработку моделей для робототехники, автономных систем и симуляции физического мира.

Примеры обучения протестированы на 8× H100 80 ГБ, а облегчённую Cosmos3-Nano можно запускать на одной GPU.

🔗 https://github.com/NVIDIA/cosmos-framework

@Python_Community_ru
🐍 Python-совет: как объединить списки разной длины и не потерять данные

Обычный zip() останавливается на самом коротком списке:


numbers = [1, 2, 3, 4, 5]
letters = ["a", "b", "c"]

print(list(zip(numbers, letters)))
# [(1, 'a'), (2, 'b'), (3, 'c')]


Элементы 4 и 5 просто исчезнут. Чтобы сохранить их, используйте zip_longest():


from itertools import zip_longest

result = zip_longest(
numbers,
letters,
fillvalue="нет значения",
)

print(list(result))


Результат:


[
(1, "a"),
(2, "b"),
(3, "c"),
(4, "нет значения"),
(5, "нет значения"),
]


А когда списки обязаны иметь одинаковую длину, в Python 3.10+ лучше включить проверку:


zip(numbers, letters, strict=True)


Вместо тихой потери данных Python сразу выбросит ValueError.

Полезно при обработке таблиц, CSV, результатов API и параллельных наборов данных.

#Python #Programming #PythonTips

@Python_Community_ru
🎬 Seedance 2.0 превратили в полноценную операционную систему для ИИ-режиссёра

Seedance 2.0 Skill OS - открытый набор навыков и пайплайнов, который помогает создавать видео не через набор слов вроде «cinematic, epic, beautiful», а через режиссёрскую постановку сцены.

Система определяет драматическую задачу эпизода и согласует под неё:

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

Есть отдельные модули для text-to-video, image-to-video, продолжения роликов, первого и последнего кадров, устранения проблем и сохранения персонажей между сценами.

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

Также внутри есть готовые процессы для раскадровки, монтажа, цветокоррекции, локализации, звука и финального контроля качества. Поддерживается работа на русском языке. Проект распространяется под MIT License.

GitHub:
https://github.com/Emily2040/seedance-2.0

@Python_Community_ru
🔥1
🚀 LoopX удерживает ИИ-агента в одной задаче более 200 часов

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

LoopX выносит состояние за пределы LLM и хранит его в отдельной контрольной плоскости:

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

Каждый запуск агента ограничен конкретным шагом. После выполнения он записывает результат, доказательства и следующую задачу. Затем LoopX решает: продолжать, ждать внешнего события или запросить решение человека.

В открытых демонстрациях циклы исправления Issue/PR в OpenViking и AutoML-эксперимента сохраняли состояние более 200 часов. Это время всей траектории с ожиданием, ревью и повторными запусками, а не непрерывная работа модели.

По сути, LoopX - это Kanban-доска, превращённая в систему выполнения для агентов. Её состояние напрямую определяет следующий допустимый шаг.

Поддерживаются Codex, Claude Code, Cursor, OpenCode и собственные рантаймы. Проект распространяется по лицензии MIT.

https://github.com/huangruiteng/loopx

#AI #AIAgents #OpenSource #Codex #ClaudeCode #Automation

@Python_Community_ru
🔥 Claude Thermos снижает расходы Claude Code, не давая prompt cache «остыть»

Когда основной агент ждёт subagent дольше пяти минут, кеш контекста может истечь. После возвращения Claude приходится заново кодировать всю историю диалога по повышенному тарифу. В длинных сессиях это могут быть сотни тысяч токенов.

claude-thermos запускает Claude Code через локальный прокси и периодически отправляет минимальный запрос с max_tokens: 1.

Он не генерирует полезный ответ, а просто обновляет TTL кеша. Когда subagent заканчивает работу, основной агент читает дешёвый кеш вместо полной перезаписи контекста.

Запуск:


uvx claude-thermos


Инструмент поддерживает обычный CLI, несколько терминалов и расширение VS Code через daemon-режим. Требуются Python 3.11+ и установленный claude CLI.

По локальным измерениям автора на 185 сессиях, повторное создание кеша составляло около 22% расходов. Это не универсальный бенчмарк, но для тяжёлых агентных задач экономия может быть заметной.

Простой open-source инструмент, который исправляет дорогую особенность долгих сессий Claude Code.

GitHub:
https://github.com/izeigerman/claude-thermos

@Python_Community_ru
🖥 NVIDIA открыла бесплатный доступ к мощным ИИ-моделям через API

В каталоге NVIDIA NIM можно использовать DeepSeek V4, GLM 5.2, Kimi K2.6, Nemotron и десятки других моделей без оплаты каждого запроса.

Подключение занимает несколько минут:

1. Открываем NVIDIA NIM и создаём бесплатный аккаунт NVIDIA Developer.
2. Выбираем модель и нажимаем Get API Key.
3. Копируем ключ.
4. В Cursor, Cline, OpenCode или другом совместимом клиенте указываем endpoint:


https://integrate.api.nvidia.com/v1


5. Вставляем ключ, выбираем идентификатор модели и отправляем тестовый запрос.

API совместим с привычным форматом OpenAI, поэтому его можно подключать к собственным приложениям, агентам и инструментам для программирования.

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

Действительно бесплатно способ протестировать дорогие модели без отдельной подписки.

Источник:
https://build.nvidia.com/

@Python_Community_ru
Открыли регистрацию на E-CUP 2026 Students 🎓

В этом сезоне — только для студентов. Будет интересно тем, кто изучает ML / DS / big data / аналитику данных.

Сможете ускорить модель по поиску дубликатов на 20%? Получится создать классификатор для модерации товаров? Сумеете предсказать поведение покупателя?

Как минимум — попробуете и получите фидбэк от тех, кто делает это в Ozon Tech каждый день. Как максимум — разделите призовой фонд в 7 200 000 ₽ в торжественной атмосфере конференции E-CODE.

Нетривиальные задачи, нетворк с ведущими специалистами индустрии, кастомный мерч и шанс масштабно усилить портфолио — это про E-CUP 2026 Students.
Больше подробностей и регистрация (https://e-cup-ozon.ru/) ↩️

@Python_Community_ru
🚀 Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта

GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.

Что внутри:

- четыре независимых слоя на Rust: parser → IR → planning → execution;
- результаты сразу возвращаются как Apache Arrow Table;
- данные легко передаются в Pandas и Polars;
- постоянное хранение построено на Parquet;
- встроены PageRank, Louvain и гибридный текстово-векторный поиск;
- Python- и Node.js-биндинги работают поверх одного движка.


from graphforge import GraphForge

graph = GraphForge("research/")

result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")

print(result.to_pandas())


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

Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.

https://github.com/CurateLabs/graphforge

#RustLang #Python #OpenSource #GraphDatabase #DataScience #KnowledgeGraph

@Python_Community_ru
🔥 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 terminal-bench@2.0 \
--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

@Python_Community_ru
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

@Python_Community_ru
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

@Python_Community_ru
🚀 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

@Python_Community_ru