В старых версиях Python на Linux
multiprocessing часто стартовал процессы через fork().И вот где начинается боль.
После
fork() в дочернем процессе остаётся только один поток. Но состояние мира копируется как было:* lock мог быть захвачен
* file descriptors всё ещё указывают на те же файлы
* сокеты и буферы могут оказаться в странном состоянии
* другой поток, который должен был отпустить lock, уже не существует
Это поведение POSIX.
Поэтому
fork + threads - классический рецепт для редких, мерзких deadlock’ов.Хорошая практика: для multiprocessing чаще выбирать
spawn или forkserver, особенно если в приложении есть потоки, логгеры, сетевые клиенты или фоновые воркеры.Важная поправка: начиная с Python 3.14, на POSIX дефолтный start method поменяли с
fork на forkserver, как раз чтобы избежать части этих проблем.Мелочь в настройке старта процесса. Огромная разница в стабильности.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤5👍5
Обычный вызов LLM часто напоминает лотерею: модель может нарушить формат, пропустить требование или вернуть ответ, который сложно проверить.
Mellea предлагает писать такие системы как типизированные generative-программы.
Достаточно описать Python-функцию:
from pydantic import BaseModel
from mellea import generative, start_session
class UserProfile(BaseModel):
name: str
age: int
@generative
def extract_user(text: str) -> UserProfile:
"""Извлеки имя и возраст пользователя."""
m = start_session()
user = extract_user(
m,
text="Alice is 31 years old."
)
Mellea превращает docstring в инструкцию, аннотации типов - в схему ответа, а затем проверяет результат и при необходимости автоматически повторяет генерацию.
Возможности проекта:
- структурированные ответы через Pydantic;
- проверяемые требования и автоматический repair;
- rejection sampling и majority voting;
- поддержка OpenAI, Ollama, Hugging Face, Bedrock, LiteLLM и WatsonX;
- интеграция с существующим кодом;
- публикация generative-программ как MCP-инструментов.
Проект начат в IBM Research, написан на Python и распространяется под лицензией Apache 2.0.
https://github.com/generative-computing/mellea
#python #ai #llm #opensource #agents
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥8👍5
«Не получу оффер в течение месяца , забью на поиск работы»
- пообещал себе Миша.
Его можно понять: парень уже 5 лет работает в бигтехе, и все никак не мог пробить планку в 200к+. Те, кто только недавно пришли в компанию, уже с порога зарабатывали 350к на руки, в то время как Миша был в разы опытнее их, но внутри компании рост бы минимальный.
На этот раз Миша подготовился: новое резюме, прогоны собеседований и еще кое какие секреты. И всё это - под руководством опытного человека.
Да, первые несколько собеседований закончились отказами - а кто говорил, что все будет получаться с первого раза?
Но спустя три недели - первый оффер. И не какой-нибудь, а с зарплатой в 1,5 раза выше.
Хочешь также? Подписывайся на Богдана - за 6 лет работы в бигтехах он прошел 350+ собеседований, открыл свою школу и уже устроил на работу более 45 человек.
Реклама. ИП Камаев Богдан Эльмарович. ИНН 770973951244. Erid:CQH36pWzJqVJCbWwdQ59bD3AvGXXg5vDaVyKQrh8EK8NV5
- пообещал себе Миша.
Его можно понять: парень уже 5 лет работает в бигтехе, и все никак не мог пробить планку в 200к+. Те, кто только недавно пришли в компанию, уже с порога зарабатывали 350к на руки, в то время как Миша был в разы опытнее их, но внутри компании рост бы минимальный.
На этот раз Миша подготовился: новое резюме, прогоны собеседований и еще кое какие секреты. И всё это - под руководством опытного человека.
Да, первые несколько собеседований закончились отказами - а кто говорил, что все будет получаться с первого раза?
Но спустя три недели - первый оффер. И не какой-нибудь, а с зарплатой в 1,5 раза выше.
Хочешь также? Подписывайся на Богдана - за 6 лет работы в бигтехах он прошел 350+ собеседований, открыл свою школу и уже устроил на работу более 45 человек.
Реклама. ИП Камаев Богдан Эльмарович. ИНН 770973951244. Erid:CQH36pWzJqVJCbWwdQ59bD3AvGXXg5vDaVyKQrh8EK8NV5
😁12❤10👍2
Вышел MOSS-VL-Realtime - 11B vision-language model для потокового видео.
Не просто “загрузил ролик и получил ответ”, а режим, где модель непрерывно обрабатывает timestamped frames и может отвечать в любой момент по тому, что уже увидела.
Контекст - 256K, лицензия - Apache 2.0.
Что заявлено по бенчмаркам:
* 70.2 avg на OVOBench
* 47.2 avg на ProactiveVideoQA
* 66.0 на OmniMMI Proactive Alerting
MOSS-VL-Realtime умеет молчать, если визуальных данных пока недостаточно, а потом обновлять ответ, когда сцена меняется. Для видеоагентов это важнее, чем просто “ответить красиво”: модель должна не фантазировать раньше времени.
Есть online inference в стиле session/queue, offline API для изображений и видео, а также Instruct и Base checkpoints.
Похоже на шаг к VLM, которые работают не с готовым файлом, а с живым потоком: наблюдают, ждут, уточняют и реагируют по мере появления новых кадров.
ModelScope: https://modelscope.ai/models/openmoss/MOSS-VL-Realtime
Не просто “загрузил ролик и получил ответ”, а режим, где модель непрерывно обрабатывает timestamped frames и может отвечать в любой момент по тому, что уже увидела.
Контекст - 256K, лицензия - Apache 2.0.
Что заявлено по бенчмаркам:
* 70.2 avg на OVOBench
* 47.2 avg на ProactiveVideoQA
* 66.0 на OmniMMI Proactive Alerting
MOSS-VL-Realtime умеет молчать, если визуальных данных пока недостаточно, а потом обновлять ответ, когда сцена меняется. Для видеоагентов это важнее, чем просто “ответить красиво”: модель должна не фантазировать раньше времени.
Есть online inference в стиле session/queue, offline API для изображений и видео, а также Instruct и Base checkpoints.
Похоже на шаг к VLM, которые работают не с готовым файлом, а с живым потоком: наблюдают, ждут, уточняют и реагируют по мере появления новых кадров.
ModelScope: https://modelscope.ai/models/openmoss/MOSS-VL-Realtime
🔥6👍4❤2🎉1
Уже сегодня вечером в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Python-разработчика.
Как это будет:
Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Python-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.
Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_py_bot
Реклама.
О рекламодателе.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥1😱1
⚡️ VGGT: превращает набор фотографий в геометрию 3D-сцены
Обычно реконструкция сцены требует отдельной связки для оценки камер, глубины и отслеживания точек. VGGT получает изображения и предсказывает всё это одной feed-forward моделью.
На вход можно подать один кадр, несколько снимков или сотни ракурсов. На выходе модель строит:
- внутренние и внешние параметры камер
- карты глубины
- плотные карты 3D-точек
- траектории выбранных точек между кадрами
Результаты можно экспортировать в формат COLMAP, дополнительно обработать через bundle adjustment и использовать в пайплайнах NeRF или Gaussian Splatting через
Запуск занимает несколько строк:
https://github.com/facebookresearch/vggt
Обычно реконструкция сцены требует отдельной связки для оценки камер, глубины и отслеживания точек. VGGT получает изображения и предсказывает всё это одной feed-forward моделью.
На вход можно подать один кадр, несколько снимков или сотни ракурсов. На выходе модель строит:
- внутренние и внешние параметры камер
- карты глубины
- плотные карты 3D-точек
- траектории выбранных точек между кадрами
Результаты можно экспортировать в формат COLMAP, дополнительно обработать через bundle adjustment и использовать в пайплайнах NeRF или Gaussian Splatting через
gsplat.Запуск занимает несколько строк:
model = VGGT.from_pretrained("facebook/VGGT-1B").to(device)
images = load_and_preprocess_images(image_names).to(device)
with torch.no_grad():
predictions = model(images)
https://github.com/facebookresearch/vggt
❤1👍1