Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Мир сегодня с "Юрий Подоляка"
Мир сегодня с "Юрий Подоляка"
Труха⚡️Україна
Труха⚡️Україна
Николаевский Ванёк
Николаевский Ванёк
Pavel Zloi avatar
Pavel Zloi
Pavel Zloi avatar
Pavel Zloi
05.05.202505:56
Прочел отличную публикацию на Хабр про вайбкодинг с точки зрения сеньора программиста.

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

Расскажу как я вайбкожу.

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

Далее прошу модель проанализировать полученную информацию и составить шаблон классов с заглушками функций и структуру проекта. Классы прошу делать с учетом паттернов solid, dry, kiss и прочие.

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

На этом этапе важно выстроить процесс генерации таким образом, чтобы первыми модель сгенерировала классы без зависимостей от других классов, потом те которые зависят от первых и так далее. Чтобы в проекте не было ссылок на кирпичики которых ещё нет и как следствие которые нельзя протестировать.

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

Подобный подход называют итеративным вайбкодингом, а llm в этой схеме выступает в роли продвинутого Т9 забирающая на себя рутину.

Среди нескольких подходов которые я попробовал, и столкнулся с проблемами изложенными в статье, описанный выше оказался единственным при котором я не теряю контроль, получаю адекватный продукт соотвествующий требованиям и при этом имею полное понимаете кодовой базы.
27.04.202512:46
Canary-Serve

Представляю вашему вниманию проект EvilFreelancer/docker-canary-serve - это небольшой FastAPI-сервер позволяющий работать с моделями NVIDIA Canary, выполняет быстрое многоязычное распознавание речи и умеет генерировать субтитры.

Поддерживает все основные модели семейства Canary:
- nvidia/canary-1b
- nvidia/canary-1b-flash
- nvidia/canary-180m-flash

Запустить так:
git clone https://github.com/EvilFreelancer/docker-canary-serve.git


Юзать так:
curl http://localhost:9000/inference \


Ограничения:
- Работает только на видеокартах Nvidia
- Базовые модели поддерживают только несколько языков: en, de, fr, es
- Для работы 180m модели нужно 2.5Гб VRAM, для работы 1B модели нужно 14Гб VRAM
14.04.202518:31
Посмотрел посты блогеров которые по инерции всё ещё следят за анонсами новых продуктов от OpenAI.

Вот краткий пересказ:

Новые революционные модели стали на сколько-то там процентов лучше предыдущих и по мнению экспертов ещё <strike>вкуснее</strike> умнее.

Они доступны только по API, так что вкусить их смогут только самые упрямые.

На всяких редитах основной вопрос это нейминг, релизить модель 4.1 после 4.5 идея странная.

Лично я надеялся на релиз опенсорс моделей, но видимо придется подождать ещё немного.
09.04.202504:36
Прослушал курс про LangGraph от создателей LangChain

Недавно завершил обучение по курсу "Introduction to LangGraph" от команды разработчиков LangChain. Это отличный ресурс для тех, кто хочет продавать свои флоу под видом модных агентских систем, но пока ещё не знает как их делать.

В курсе подробно рассматриваются следующие темы:
- Построение сложных структур с использованием множества инструментов.
- Реализация операций выбора для передачи данных.
- Работа с короткосрочной и долгосрочной памятью.
- Интеракция с пользователем.

Курс рассчитан на 6 часов, но если проходить его, как я, по часу в день, то можно управиться за неделю.
06.04.202506:17
Изучил отчёт тестирования llama 4 и сравнил с llama 3.3.

Основной упор в тестах llama 4 сделан в сторону работы с изображениям и есть гипотеза, что авторы в принципе не проводили тесты работы с текстом, либо провели и они плохие, поэтому в отчёте их не показали.

Ещё забавно, что модель Behemoth нельзя скачать даже на huggingface, так что на результаты тестов данной модели я бы пока смотрел через призму поэзии.
17.03.202508:38
Тут внезапно оказалось, что проект FireCrawl, который позволяет в режиме паука скравлить сайт в коллекцию Markdown-файлов, существует ещё и в self-hosted формате, а я наивно полагал, что есть только закрытая проприетарная версия.

Вот ссылочки с подробностями:
https://docs.firecrawl.dev/contributing/self-host
https://github.com/mendableai/firecrawl/blob/main/SELF_HOST.md
После нескольких дней размышлений о компактности и эффективности охлаждения, принял решение заменить кулеры Снеговик M-T4 на систему жидкостного охлаждения ExeGate BlackWater-120. Причина? Высота радиаторов из комплекта Снеговика, несмотря на их достойные характеристики, они стали проблемой для установки дополнительных видеокарт в сервер gpu01.

Выбор пал на односекционную СЖО BlackWater-120, которая, по заявлениям производителя, способна справляться с процессорами до 150 ватт TDP, чего для моих трудяг, паре Intel Xeon E5-2690 v2 с TDP в 130 ватт - как-раз должно быть впору.

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

#server
21.04.202517:09
Добавил в апишку несколько новых моделей

На этот раз все модели семейства GigaChat, использовать так:
curl https://api.rpa.icu/chat/completions \

Полный список всех новых моделей:
- GigaChat
- GigaChat-Max
- GigaChat-Plus
- GigaChat-Pro
- GigaChat-2
- GigaChat-2-Max
- GigaChat-2-Pro

И на десерт сберовский инстанс полноразмерной дипсик:
- Sber-DeepSeek-R1

#rpa
14.04.202509:53
Очень интересную фишечку обнаружил в Google Таблицах, оказывается можно редактировать/анализировать таблицу общаясь в формате чатика с Gemini интегрированную прямо в редактор.

Но что-то не могу разобраться как это себе настроить, удалось ли кому попробовать эту штуку и если да, то что надо для этого сделать?
Тут главное не перепутать #meme
Reposted from:
Machinelearning avatar
Machinelearning
🦙 Встречайте, дамы и господа, LLaMA 4: новые мультимодальные MoE модели!

Llama 4 Omni разработана для понимания и обработки информации модальностей, а не только текста.

Доступна в 3х вариантах: Llama 4 Scout и Llama 4 Maverick и анонсированный Llama 4 Behemoth.

Llama 4 Scout (109B) контекстное окно размером 10 М, 17B активных параметров · 16 эксперто , 109B общих параметров.

Llama 4 Maverick (400B) 17 млрд активных параметров ,128 экспертов, 400 млрд общих параметров · Длина контекста более 1 млн

У зверюги бегемота (еще тренируется) суммарное количество 2T!!! 16 экспертов, 288B активных параметров. Служит в качестве модели для обучения по методу совместной дистилляции Maverick.

Сейчас выпущены только Scout и Maverick, Кот-бегемот еще обучается.

На сегодняшний день Llama 4 Maverick предлагает лучшее в своем классе соотношение производительности и стоимости,

🟡 Model Card
🟡 Веса
🟡 Релиз

@ai_machinelearning_big_data
Кстати, чуть не забыл, поздравляю <strike>немногочисленных</strike> подписчиц канала с 8 марта!
02.05.202509:33
Кейс про сборку приватного LLM-чата

Намедни завершил один любопытный проект — приватный чат с ИИ на базе Open WebUI с возможностью работы с моделями провайдеров OpenAI и Google Gemini, с централизованным управлением и мониторингом.

Проект решил построить на нескольких ключевых компонентах:

Traefik в режиме reverse proxy для маршрутизации и автоматического получения сертификтов Let's Encrypt
LiteLLM в режиме прокси с OpenAI-совместимым API, позволяющий подключать разные LLM-провайдеры через единую точку входа
Open WebUI интерфейс для чата, настроенный на работу через LiteLLM, с управлением доступом пользователей
– Связка Prometheus и Grafana для сбора и визуализации метрик (количество созданных чатов, активности пользователей и частоту использования моделей)

Всё поднял через Docker Compose, при этом конфигами и ключами управление происходит через .env файл.

Мониторинг — это была отдельная головная боль, изначально планировал использовать LiteLLM в режиме exporter, но оказывается в OpenSource проекте это удовольствие стоит денег, пробовал поднять альтернативный exporter-litellm, но он к сожалению не давал детализации по конкретным пользователям и моделям, пошёл по другому пути, через экспортер Open WebUI, нашёл подходящий проект exporter-openwebui, вот он уже выдал почти все нужные данные, кроме количества токенов, но заказчика это устроило.

В общем такая вот простая и красивая система получилась, ничего лишнего, работает отлично. Пишите если интересно собрать что-то подобное — архитектура достаточно универсальна, можно адаптировать под свои задачи.
Reposted from:
Dealer.AI avatar
Dealer.AI
Дядя помнит, когда приму курил его дед. А теперь "раскуривать" новый распределённый аналог llama.cpp нам.

So, prima.cpp is a distributed implementation of llama.cpp that lets you run 70B-level LLMs on your everyday devices—💻 laptops, 🖥️ desktops, 📱 phones, and tablets.(с)

В пачке Примы:
- Heterogeneous, low-resource, cross-platform clusters (e.g., home devices connected by Wi-Fi);
- Quantization (Q4K and IQ1);
- Mixed CPU/GPU computing
Disk offloading;
- Piped-ring parallelism with prefetching;
- Automatic workload distribution.

Подробнее тут: https://huggingface.co/papers/2504.08791
Добавил документацию в формате OpenAPI/Swagger и простенький UI.

Смотреть тут: https://api.rpa.icu/docs/
Поставил плашку с NVME в материнку (зеленая лампочка справа снизу) и между делом докинул пару вентиляторов корпусных на 120мм, через реобас подтюнил скорость вращения чтобы не шумело и теперь полезу ставить эту коробку на антресоль.

А на следующей неделе запущу на нем один публичный проект, о чем отдельно сообщу.

#server
Решил на днях увеличить количество доступной постоянной памяти для локальных моделей на gpu01.

У меня как-раз был незадействованный nvme на 512гб, только вот без адаптера в сервер его не поставить, так что пару дней сидел выбирал адаптер, и тут вспомнил, что у меня уже есть такой на антресолях.

Полез, достал, собрал, пойду поставлю.

#server
05.03.202513:28
И так, продолжаем разговор, ссылок набралось порядочно, так вот вторая пачка публикаций, их краткое саммари и мой небольшой комментарий.


Curated collection of papers and resources on how to unlock the reasoning ability of LLMs and MLLMs (ссылка)

Кратенько: По ссылке коллекция из 130+ ссылок на статьи про датасеты и техники обучения ризонингу вышедшие начиная с 2022 года, так что всё достаточно свежее, есть обзорные статьи, есть разные околотехнические статьи с анализом работы тех или иных моделей, есть статьи про техники обучения и тестирования ризонинга и так далее.

От себя: В проекте собрана великолепная подборка различных публикаций и проектов, однако, отдельно хочу отметить заинтересовавший меня проект google-research/cascades, который позволяет формировать "каскадные" CoT цепочки вызывая внешние тулы и используя механизмы обратной связи.


Training Language Models to Self-Correct via Reinforcement Learning (arXiv:2409.12917)

Кратенько: Эта публикация про метод Self-Correct via Reinforcement Learning (SCoRe), использующий RL для улучшения способности языковых моделей к самокоррекции через генерацию собственных данных, что по тестам позволило достичь хороших результатов на бенчмарках MATH и HumanEval.

От себя: Очень любопытная статья,. по тексту сложилось мнение что SCoRe это что-то среднее между RL и RLHF (только вместо хумана обучаемая модель). Как я понял модель в процессе обучения делает две генерации, после первой проверяет себя и генерируют инструкцию самокоррекции, после второй рассчитывается то насколько ответы похожи на правильный из датасета (при этом не показывая модели какой правильный) и из этого формируется RL-награда, финальная цель которой обучить модель либо с первого раза отвечать "как надо" либо с одной подсказкой.


Marco-o1: Towards Open Reasoning Models for Open-Ended Solutions (arXiv:2411.14405)

Кратенько: Эта публикация представляет модель Marco-o1 и методы её RL обучения используя Chain-of-Thought, MCTS и механизмы рефлексии.

От себя: В данной публикации очень подробно описан весь процесс, который сводится к SFT обучению на CoT инструкциях, после чего RL обучению который предполагает, что модель сама будет генерировать возможные варианты ответа (дерево решений), после через MCTS (Monte Carlo Tree Search) выбирать наиболее эффективный (через оценку top-k и softmax). Процесс "рассуждения" продолжается до тех пока не будет достигнут приемлемый результат.


Puzzle Solving using Reasoning of Large Language Models: A Survey (arXiv:2402.11291)

Кратенько: Любопытный обзор исследований, оценивающих способности LLM в решении головоломок.

От себя: Из интересного классификация видов загадок и обзор датасетов под каждый из примеров, но отдельно хочу отметить упоминаемую работу "Graph of Thoughts: Solving Elaborate Problems with Large Language Models" (arxiv:2308.09687) о фреймворке, который позволяет построить не просто цепочку, а граф размышлений.


Продолжение продолжит продолжаться...
Пару слов про аспектно-ориентированное программирование

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

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

Как не пытался сделать, всё фигня получалась, потом вспомнил, что я в одном проекте на PHP (который некоторыми недальновидными компаниями не считается за опыт) нечто подобное делал при помощи декораторов.

Попробовал на питоне, сработало идеально.

Надеюсь этот простой метод профилирования через дектораторы пригодится и вам.
15.04.202519:41
🚀 Обновление моего публичного API-сервера

Я перенёс своё решение с самописного OpenAI-совместимого API-сервера на прокси LiteLLM, что позволило значительно упростить поддержку и расширить функциональность.

Теперь мой API-сервер поддерживает не только распознавание речи (ASR), но и генерацию речи (TTS) и текстовое общение с большими языковыми моделями (LLM).


🌊 Модель для генерации речи из текста — fish-speech-1.5

Добавлена поддержка модели fish-speech-1.5, которая позволяет выполнять преобразование текста в речь используя формат OpenAI-совместимых клиентов.

Для тестирования этой возможности я подготовил скрипт на Python: openai-tts.py

А это пример cURL запроса:
curl https://api.rpa.icu/audio/speech \



💬 Думающая большая языковая модель — deepseek-r1:8b


Также теперь через API теперь можно общаться с thinking моделью deepseek-r1:8b, которая благодаря тому, что основана на LLaMA 3.1 8B, поддерживает function calling.

Скрипт-пример общения с моделью: openai-chat.py

А это пример cURL запроса:
curl https://api.rpa.icu/chat/completions \



Обе новые модели работают на одной RTX 4090.

🧠 Всё это благодаря LiteLLM работает в рамках OpenAI-совместимого API, и по-прежнему доступно по тожму же адресу и тому же токену, пока что бесплатно:
OPENAI_BASE_URL=https://api.rpa.icu


Документацию обновил и дополнил: https://api.rpa.icu/docs/

———

Раньше я думал, что давать доступ к моделям только через API — это удел ленивых инженеров. Но спецы из OpenAI намедни показали мне, что это на самом деле общепризнанная мировая практика, и теперь я, как и положено, действую по заветам лидеров рынка. 😎

#rpa
13.04.202512:55
Мой публичный API-сервера для распознавания речи

Рад представить мой первый публичный OpenAI-совместимый API-сервер, доступный по адресу: https://api.rpa.icu

В настоящее время сервер предоставляет функциональность автоматического распознавания речи (ASR), используя модель Whisper Large V3 Turbo, запущенную через docker-whisper-server и квантованную до q4_0.

Система распределяет нагрузку по трём видеокартам: двух Intel Arc A770 и одной NVIDIA RTX 3050, обеспечивая высокую производительность и точность распознавания.

🔧 Как использовать API

Вы можете бесплатно использовать данный API с любым клиентом OpenAI, например, через Python-библиотеку openai.

Для работы с сервером необходимо указать адрес сервера и токен:
OPENAI_BASE_URL=https://api.rpa.icu


📄 Пример запроса с использованием `curl`

curl https://api.rpa.icu/audio/transcriptions \


Замените your_audio_file.mp3 на путь к вашему аудиофайлу, а в параметре language можно указать язык аудио (например, ru для русского, en для английского и т.д.), если ничего не указать, то язык будет определён автоматически.

У сервера есть ограничение на максимальный размер файл равный 50Мб.

🐍 Пример использования на Python

Пример скрипта на Python для взаимодействия с API доступен по ссылке: openai-client.py. Скрипт позволяет передавать аудиофайл, указывать формат ответа (text, json, srt, verbose_json), модель и язык.

Если у вас возникнут вопросы или потребуется помощь, вы можете задать свой вопрос в чате канала Pavel Zloi.
RAG это call, теперь официально

При контексте 10M токенов есть мнение, что RAG (в классическом смысле: ретривер из векторной базы и ллм) в скором времени станет очень специализированной технологией для узкого спектра задач.

А учитывая тенденцию на постоянный рост максимального контекста вероятно и вовсе исчезнет из повестки.
01.04.202506:33
⚡️ OpenAI сегодня ВЕЧЕРОМ представит GPT-5 — новая модель уже прошла внутреннее тестирование и готова к релизу.

Главные изменения:

Мультимодальность — GPT-5 сможет обрабатывать видео, аудио и изображения в реальном времени.
Автономные действия — ИИ сможет выполнять задачи в интернете без запросов пользователя (платежи, бронирования и т. д.).
Ограничения — некоторые функции будут доступны только по подписке Pro Max.

Что еще известно:
• Первыми доступ получат корпоративные клиенты и разработчики.
• Бесплатная версия останется, но с урезанными возможностями.

⚡️ Подробности — сегодня в 20:00 по МСК.

PS. Поздравляю с 1м апреля!
02.03.202512:46
YandexGPT R1 на Huging Face

Выпустил адаптер на Hugging Face который я дообучил при помощи impruver поверх YandexGPT-5-Lite-8B-pretrain вышедшей на днях, используя датасеты оптимизированные под reasoning.

Ссылки:
- https://huggingface.co/evilfreelancer/r1_yandexgpt5-lite_lora
- https://huggingface.co/evilfreelancer/r1_yandexgpt5-lite_gguf
- https://ollama.com/evilfreelancer/r1_yandexgpt5-lite

Конфигурация: YandexGPT/8B_lora_r1
Отчёт W&B: https://api.wandb.ai/links/evilfreelancer/zj6s02v4

Запустить через Ollama:
ollama run evilfreelancer/r1_yandexgpt5-lite
Shown 1 - 24 of 24
Log in to unlock more functionality.