Pavel Zloi
3.66K subscribers
665 photos
62 videos
2 files
948 links
директор ИИ · инженер‑интегратор
@eprogrammist | https://github.com/EvilFreelancer

20 лет в IT
∈ 10 лет в разработке
∈ 3 года в ML/AI
∈ 1 год - вайбмастер

Бусти:
https://boosty.to/evilfreelancer

Пожертвования:
https://pay.cloudtips.ru/p/937f48ac
Download Telegram
Вайб-дизайн Starterkit

18 марта 2026 года Google выкатили стандарт DESIGN.md (прототип которого они тизерили ещё в мае 25го года), если кратко, то это такой хитрый markdown-файл для переноса и импорта общих правил оформления дизайна между проектами и инструментами.

Поддержка данного стандарта уже начала расползаться по агентному стеку, у Google есть отдельный репозиторий stitch-skills, где прямо указана совместимость со Stitch MCP и агентами вроде Gemini CLI, Claude Code и Cursor, параллельно с этим вокруг формата уже вырос внешний зоопарк инструментов и гайдов, например designmd.app отдельно пишет про сценарии для Claude Code, Cursor, Kiro, Windsurf и Cline.


DESIGN.md это AGENTS.md, только для UI

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

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

То есть AGENTS.md, CLAUDE.md, Cursor Rules и прочие файлы такого рода обычно отвечают на вопрос "как агент должен делать код?".

А вот DESIGN.md отвечает уже на более абстрактный вопрос - "как агент должен делать интерфейс приложения?".


Что внутри DESIGN.md

В официальной идее Google и в уже появившихся примерах вокруг формата почти всегда повторяется один и тот же каркас:

- общее описание визуального характера продукта
- цветовая палитра и роли цветов
- правила типографики
- отступы и layout-принципы
- оформление базовых компонентов
- ограничения и анти-паттерны

Я ещё добавляю всякие хекс коды, размеры отступов, названия CSS фреймворков и тому подобные моменты, плюс в Cursor это хорошо ложится в общий свод правил .cursor/rules/ (можно например создать подпапку design), так как один общий файл для описания стиля всего со временем будет перегружен.


Простейший пример

Вот совсем примитивный DESIGN.md, которого уже достаточно, чтобы агент не улетел в рандом, взял его из официальной доки на сайте Stitch:
# Design System

## Overview
Calm, minimal interface for a SaaS dashboard.
High information density, but without visual noise.
The UI should feel professional, neutral, and slightly premium.

## Colors
- Primary (#2563EB) - primary actions, links, active states
- Surface (#FFFFFF) - main cards and panels
- Background (#F8FAFC) - app background
- Text Primary (#0F172A) - main text
- Text Secondary (#475569) - secondary text
- Border (#E2E8F0) - separators and input borders
- Danger (#DC2626) - destructive actions and errors

## Typography
- Headings - Inter, semibold
- Body - Inter, regular, 14px to 16px
- Small text - Inter, regular, 12px to 13px
- Use tight, readable hierarchy without oversized headings

## Spacing
- Use 8px spacing scale
- Cards should have generous inner padding
- Avoid cramped layouts, but keep density suitable for dashboards

## Components
- Buttons - medium rounding, filled primary for main CTA
- Inputs - light background, 1px border, no heavy shadows
- Cards - subtle border, soft shadow, clean flat surfaces
- Modals - centered, compact, clear action hierarchy

## Do's
- Keep layouts clean and structured
- Use primary color sparingly
- Prefer subtle contrast over aggressive accenting

## Don'ts
- Do not mix multiple accent colors
- Do not use glassmorphism
- Do not use oversized radii
- Do not make the UI look playful

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


Послесловие

Уже есть реп awesome-design-md, в нём собрана хорошая обновляемая подборочка материалов на эту тему, надеюсь она вам тоже пригодится.
🔥16👍97
Ну чтож, обучение модели закончилось на 963 шаге, по предварительным тестам модель уловила шаблон выполнения ризонинга и даже частично логику работы с тулами, но забыла как говорить на русском языке и стала очень быстро уходить в галлюцинации и repetition loop, тут скрипт тестов, вот тут можно посмотреть отчёты, а тут будут веса адаптера.

Эксперимент судя по всему не удался, но зато получилось собрать набор скриптов и кучу шишек набить. вероятно основная причина неудачи в том что у меня был очень кривой пайплайн обучения и надо над ним больше времени провести, плюс модель маленькая и заточена под небольшой контекст и любые мои попытки контекст увеличить сводят модель с ума, или я как-то неправильно через chat_template составил датасет обучения.

В любом случае ещё попробую потестировать ранние адаптеры, может быть там будет результат получше.

UPD. Ну а пока проект ставлю на паузу, хочется заняться чем-нибудь другим, была ещё идея сделать дистил толстушки GigaChat на ruGPT3XL, но это уже как-нибудь потом.
🔥21👍10👏7
Утром тесты, вечером код

Продолжаю делать заметки на полях о тонкостях работы с кодовыми агентами.

Почему я так много внимания уделяю методологиям BDD и TDD, и всегда пишу, что тесты важны и что кодовому агенту тесты стоит генерировать перед кодом?

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

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

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

Вы можете проверить эту концепцию на нескольких разных моделях, обычно запросы выглядят так:
<спецификации фичи>

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

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

Агенту важно объяснить не только "что надо делать", но ещё и "как надо делать", тогда и результат будет стабильным и предсказуемым.
1🔥23👍86❤‍🔥1
Pavel Zloi pinned «Когда поднимут цены на ИИ Недавно мне пришлось оказаться на одной лекции, имен называть не буду, но общий настрой выступления можно описать так - человеку показали Claude Code, после чего он искренне поверил, что теперь "бизнесом можно управлять через ИИ"…»
Скилов много, оркестрации мало

Последнее время только и слышу у себя в информационном пузыре разговоры про skills. Сделайте skill на ревью, skill на деплой, skill на парсинг, skill на тесты, skill на документацию. Идея в целом годная, под небольшую задачу пилим небольшой skill с понятным триггером, коротким SKILL.md, парой reference-файлов и скриптами, такая постановка задачи действительно помогает агенту меньше фантазировать и чаще попадать в нужный флоу. Особенно когда такой skill вырос не из абстракции, а из реальной боевой задачи, реальных фейлов и реальных исправлений, типа вот я сижу пилякаю какую-нибудь штукенцию и хочу на будущее её автоматизировать.

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

Ну или чем Гейтс не шутит, собрать рой агентиков для решения одной большой задачи, а дальше каждому актору раздать небольшие задачки и спокойно идти спать/гулять/дебоширить.

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

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

Но как по мне так подход "одна задача - один skill" уже либо устарел, либо вот-вот упрётся в потолок, и не потому, что skills плохие и не нужны, скорее наоборот, хорошие skills очень нужны. Но центр тяжести смещается. Важен уже не только сам skill, а то, кто, когда и при каких условиях его вызывает.

Отсюда и появляется более интересная конструкция, которую я бы назвал скил-оркестратором или если хотите каскад скилов, по аналогии с каскадом классификаторов.


По сути это не один большой skill, который пытается вместить в себя всё, а коллекция маленьких skills со скриптами, шаблонами, reference-файлами и жёстко очерченными границами ответственности. Один skill собирает контекст. Другой читает спецификации. Третий пишет тесты. Четвёртый запускает проверки. Пятый делает ревью результата. Шестой оформляет итог.

А сверху лежит ещё один слой (тот самый оркестратор), где явно описано, в какой последовательности всё это вызывать, какие параметры передавать дальше, что считать успехом, где делать паузу для подтверждения, и какой fallback включать, если один из шагов не сработал.

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

И вот такой подход, как мне кажется, намного ближе к будущему агентных систем, чем бесконечное наращивание папки со skills. Skill сам по себе никуда не исчезает. Просто он перестаёт быть главной сущностью. Skill становится модулем. А главной сущностью становится оркестрация.
👍206💯6🥴1
CLI Creator Skill

Тут ребятки из openai вчера релизнули новый curated skill — CLI Creator

Skill уже добавлен в Codex App

Он позволяет создать cli + skill для вашей рутины из имеющихся: API docs, OpenAPI JSON, SDK docs, curl examples, browser app, existing internal script, article, or working shell history.

Звучит потрясающе!

Я уже пошёл и проверил на себе. У меня был skill, который ходил в мой сервис по api (через curl + api key) и доставал read only инфу.
Сейчас попросил gpt создать cli версию этого инструмента.

Мы с ним обсудили то, как это будет выглядеть, добавили апдейтов (skill немного отставал) и с помощью моего planact реализовали задачу за 1.5 часа. Всё работает прекрасно!

Напоминаю, что главная идея такой связки cli+skill состоит в том, чтобы дать вашему кодинговому агенту доступ к вашему любимому сервису.
Юзкейс может быть, к примеру, такой: "Ок, агент, сколько пользователей у нас сегодня зарегистрировалось с параметром %PARAM%?". Агент подтягивает этот созданный skill, далее использует CLI, идёт в ваш сервис, тянет инфу и отвечает на ваш вопрос.

Так что если у вас есть какие-то процессы, которые можно так упаковать, то 100% рекомендую это сделать!

Кстати, этот skill является продолжением идеи Валеры и Пашиopenapi-to-cli, инструмент который генерирует cli из вашего openapi. Кому актуально — тоже рекомендую!

#aicoding@the_ai_architect

Лайк, репост,
✔️ Тимур Хахалев про AI Coding, подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍53
Сегодня день горячий на релизы, так что я с самого утра наблюдаю за схваткой двух больших домов: адептус клод кодус и хранителями кодекса, хихикаю и дальше пишу курсору и кими что надо будет сгенерировать пока я ужинаю.

Кстати, напоминаю ещё раз про мой недавний пост про поднятие цен на модельки, если вы думаете, что стало очень дорого, то успокойтесь, будет ещё дороже.
😁15🔥5🤝2
👍6🔥3🤡3👎2👏1💩1💯1
Про AiConf

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

А всё потому что 20го числа я выступаю на конференции AiConf 2026 (к чему готовился всю последнюю неделю) с докладом в жанре мастер-класс про SGR Agent Core, планирую рассказать про наш фреймворк, как его ставить, запускать, как на нём писать своих агентов и под конец в какую сторону фреймворк будет развиваться.

В общем заходите на огонёк, до связи.
1🔥22👍14
RPA Skills

По мотивам своих же заметок про вайбкодинг и набора промптов в репозитории cursor-vibe-prompts я оформил это как отдельные скилы для агентов, чтобы не пересказывать каждый раз длинный текст в чат.

- /rpa-init - скилл прогрева контекста по репозиторию, просит агента изучить код, прочесть доки, и код тестов, затем выполнить установку dev-окружения, прогнать тесты, написать короткий отчёт о проекте.

- /rpa-gen-rules - скилл который позволяет собрать или обновить правила для агента, внутри скилла лежат примеры под Cursor и под Claude Code, правила генерятся по методу слоёного пирога (чтобы агент сначала писал логику первого уровня, у которой нет зависимостей, потом второго и так далее), плюс правила описывают разработку по паттерну BDD.

- /rpa-feat - скилл добавления новой фичи строго по BDD, пишет план, генерит тесты, выполняет тесты (red), пишет код, гоняет тесты (green), гоняет все остальные тесты, актуализирует документацию и примеры, плюс выполняет линтер под конец.

- /rpa-bugfix - скилл исправлениия бага, сначала пишет тест на воспроизведение бага, потом фикс, потом полный прогон всех тестов и короткий отчёт о проделанной работе.

Скилы /rpa-init и /rpa-gen-rules работают сами по себе, ничего дополнительного писать не потребуется, а вот для /rpa-feat и /rpa-bugfix нужно передать на вход информацию о том что надо сделать, например текст из issue написать, иначе они не смогут правильно работать.

Репозиторий со скиллами:
https://github.com/EvilFreelancer/rpa-skills
👍25🤝2
Pavel Zloi
Про AiConf Вчера пробежал первый полумарафон в этом году, обычно бегаю такие большие расстояния когда надо сосредоточиться на какой-то задаче или выступлении, попрогонять в голове спич ну и так далее, эдакая тренировка слеш репетиция слеш медитация. А всё…
Отстрелялся, выступать с докладом было весело, из занятных ситуаций которые произошли: оказалось что через вайфай не работает загрузка пакетов через pip, так что пришлось надеяться на воображение слушателей и мой навык комментирования кода, который я приобрел еще во времена когда стримил.

Были вопросы про сравнение проекта с OpenClaw, вопросы про настройки vllm (и required в частности), про внутреннюю логику работы тулов, ещё спрашивали советы вкатывальщикам в тему агентов и много каких ещё интересных вопросов.

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

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

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

Короче такой вот веселый денек был.
2🔥3710🏆6👍1
Forwarded from Dealer.AI
Ещё раз про новые роли AI-команд, надеюсь последний 🇨🇩.

В последнее время люди приходят к DS просят, сделать MCP. Люди, дорогие, эт не задача AI engineer, Data scientist. Это задача или разработки, или новой роли AI разработчик. А чтобы вы не забывали про роли, вот вам небольшой тлдр по AI-native профессиям со стороны ИИ.

И кстати, перестаньте мучать CDTO/CTO/CIO вопросами развития ИИ в вашей компании. Их задача проникновение ИИ инструментов в их область деятельности (разработка, процессы, инфра, поддержка и тп). А за развитие ИИ отвечает Head of AI/VP of AI/Chief AI Officer

Все, вечером будет про Kimi-K2.6
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👌62👍1💯1
#300tps
Бабушкины рецепты

Сегодня наш LLMOps (Серёга, привет!) показал новый интерфейс рецептов vLLM.
На первый взгляд просто удобный конструктор: выбираешь модель, железо, параметры - получаешь готовый vllm serve.

Но мне кажется важнее не UI и даже не JSON API.

Важнее сама попытка вынести то «как правильно запустить конкретную
модель на конкретном железе» в отдельный воспроизводимый
артефакт. Потому что обычно это знание живёт где угодно:
в model card, в README, в issue, в PR, в Discord, в голове
инженера который «уже поднимал Qwen на H200 и помнит где грабли».

Что конкретно появилось.
Раньше рецепты были md файлами
в подразделе доки - свободный текст, каждый автор писал как
удобно. Сейчас YAML-схема со строгими полями (hardware_configs,
flags, throughput_vs_latency), валидация и формула VRAM при
билде, JSON API, ну и конечно селектор на странице модели.

Живой пример скорости: сегодня релизнулся DeepSeek V4, PR
поддержки в vllm (#40760) ещё мержится - а рецепт для V4-Pro
уже на сайте, верифицирован на 8×H200, с готовыми флагами вроде --tool-call-parser deepseek_v4.
Раньше при выходе модели такое собирали бы неделю по чатам и issue.

По сути мы чуть продвинулись на пути от набора шаманских команд к набору версионируемых рецептов.
👍19🔥135
Вайбкодинг для DevOps

Размышлял намедни о порядке в своем зоопарке серверов. Моя самая главная и рутинная проблема - развертывание десятков контейнеров на разных машинах, их автоматическое обновление и поддержка. На docker swarm у меня аллергия, ansible не годится, потому что эти скрипты неустойчивы к изменениям, и их тоже надо сопровождать. Вдоволь наигравшись с *Claw и прочими Harness и агентами, составил для себя что-то типа правил администрирования серверов через агентов. Делал всё по мотивам поста про вайбкодинг документации (ведь настройки серверов в формате эдакой вики тоже суть документация) и другого поста про создание каскадного скила.

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

В корне проекта глобальный AGENTS, в нём описываю как и куда подключаться, что делать и так далее.

Помимо этого, в этих директориях я решил хранить папки, дублирующие структуру домашней папки пользователя. А в них у меня всякие разные docker-compose.yaml, настройки env, конечно же README с описанием чего и как делать и так далее, получается что-то типа этого:

servers/
README.md
AGENTS.md
lb01/
README.md
containers/
docker-langfuse/
docker-compose.yaml
README.md
...
gpu02/
README.md
containers/
docker-tei/
docker-compose.yml
gpu03/
README.md
nas01/
README.md
...


По итогу получается, что настройки моих серверов хранятся локально у меня и копия на сервере git. Файлы для стейтфул приложений (типа логов того же langfuse) лежат при этом на той машине, на которой это приложение запущено. Плюс секреты и конфиги там же, так как в репу я коммичу только примеры.

Кстати, знающие люди, наверное, заметят, что это напоминает систему контроля конфигураций NixOS, а кто-то скажет, что это скорее ansible. Обои будут правы ;) т.к. я вдохновлялся всеми указанными проектами. Но мое решение чуть более универсальное и, в отличие от NixOS, не привязывается к конкретной ОС, а в отличие от ansible агент работает недетерминированно и может справиться с любой операционкой и любой задачей, что я ему поручу.

То есть по сути в такой схеме каждый сервер становится уникальным саб-скилом, доступным через мета-скил.
9🔥8💯3👍1🤣1👻1🫡1
Pavel Zloi
Вайб-дизайн Starterkit 18 марта 2026 года Google выкатили стандарт DESIGN.md (прототип которого они тизерили ещё в мае 25го года), если кратко, то это такой хитрый markdown-файл для переноса и импорта общих правил оформления дизайна между проектами и инструментами.…
В продолжение темы с дизайном через агентов, намедни состоялся релиз проекта OpenDesign, это открытая альтернатива Claude Design без вендорлока на модели Antropic.

Заявлена поддержка многих кодовых агентов, включая опенкод, а это значит можно будет задействовать on-prem модели, что очень хорошо, так как у меня как-раз стоит копытом бьет qwen 3.6 35b на паре 4090.

Короче план чем заняться в праздничные дни финализирован.
🔥97
Фир оф мессинг офигенного

Прочел у Влада @NGI_ru пост про то как избавиться от FOMO и пост мне настолько понравился, что захотелось тоже высказаться на этот счет.

Для тех кому лень читать, fomo это получивший в эпоху когда все массово начали пинать ИИ силу страх пропустить что-то интересное. Эдакий думскролинг, но со знаком плюс (аналогия ложная, но суть передать позволяет). Люди с этим страхом находятся в состоянии стресса, следят за всеми новостями и стараются пробовать все новинки, так как боятся оказаться на обочине прогресса если что-то пропустят.

Мой рецепт как бороться с этим страхом следующий: никак.

Страх не победить, его можно только принять и забить, выбрать себе интересную тему и развиваться в её направлении, а лучше делать что-то свое и стать ведущим, а не ведомым, не бойтесь что-то пропустить, ваши друзья или знакомые все равно вам расскажут обо всех интересных новостях (хотите вы этого или нет;)

Лично я за новостями так наблюдаю: если выходит что-то прикольное, добавляю это в виде напоминалки в список «попробовать через две недели», а каждые выходные провожу 1-2 часа изучая то, что накопилось в этих буферных списках.

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

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

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

Конечно же бывают и исключения навроде новых моделей в кодовых агентах, или новых фичей, они просто под рукой, поэтому изучать новинку можно начать сразу же на релизе, без подготовки.
👍198
С праздником, товAIрищи!
24🎉19🤮9😢4👍3
Pavel Zloi
В продолжение темы с дизайном через агентов, намедни состоялся релиз проекта OpenDesign, это открытая альтернатива Claude Design без вендорлока на модели Antropic. Заявлена поддержка многих кодовых агентов, включая опенкод, а это значит можно будет задействовать…
Сижу пробую OpenDesign через qwen 3.6 35b, которая к слову доступна всем желающим на Hub NeuralDeep по подписке.

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

Тут конечно потребуются ещё доработки, но похоже концепция жизнеспособна, есть у меня в фигме один старенький макет чатика с моделями, попробую его скормить в качестве референса.
🔥15🥰5👎2🤔2
По просьбам трудящихся конвертировал в GGUF модельку bond005/whisper-podlodka-turbo, которая как я понял затачивалась под качественный ASR русской речи.

Доступны квантизации до f16, q8 и q4, запустить модельку вы можете дома например через мой проект docker-whisper-server.

Так как оригинальная моделька основана на whisper large v3 turbo много памяти она кушать не будет.
👏16❤‍🔥10🔥6
Расширение каталога на Hub NeuralDeep

Сегодня вместе с Валерием (@neuraldeep) добавили новых моделей в публичный API проекта NeuralDeep. Базовый URL для запросов api.neuraldeep.ru (OpenAI-совместимо, Bearer с ключом). Ключ можно получить после регистрации на hub.neuraldeep.ru.

Итого:
- LLM'ки - из коробки через апишку доступны две флагманские модельки gpt-oss-120b и qwen3.6-35b-a3b, их можно крутить в кодовых агентах и чатботах.
- Эмбеддинги - в дополнение к bge-m3 и e5-large добавили русскоязычную frida, мультимодальную jina-embeddings-v4 и толстушку qwen3-embedding-4b.
- Реранкеры - уже была bge-reranker для ранжирования чанков, пригодится для вашего RAGу.
- Голос в текст (ASR) - помимо whisper-1 добавили ещё и whisper-podlodka-turbo.

Полный список моделей можно посмотреть так:
curl -sS "https://api.neuraldeep.ru/v1/models" \
-H "Authorization: Bearer <ваш-ключ-с-хаба>"


Регистрируйтесь, пользуйтесь, предлагайте свои модельки, поддерживайте рублём, рассказывайте друзьям - нам пригодится любая ваша помощь.
118🔥10👍5
Похоже зря я критиковал облачные модельки от Сбера, так как после экспериментов с gpt2giga и litellm мне удалось заставить модели GigaChat-2 доступные по API работать в качестве сердца агентной системы.

В качестве harness взял Hermes, так как при всех её "особенностях" в виде экстравагантного UI, странностей в подключения скилов и провайдеров, она настраивается и ощущается в разы приятнее чем OpenClaw и аналоги.

И так, что надо сделать чтобы пощупать флагманские сберовские модельки в режим agentic loop:

1️⃣ регаемся тут https://developers.sber.ru/studio/login (если у вас уже есть сберовская карта, то можно через приложение зайти)

2️⃣ создаём проект, в модалке выбираем GigaChat API

3️⃣ там будет Настроить API, следуем инструкции, сохраняем все полученные ключи, позже пригодятся

4️⃣ теперь запустим апишку gpt2giga, я всё через docker делаю, так что ловите docker-compose.yaml
services:
gpt2giga:
image: ghcr.io/ai-forever/gpt2giga:latest
ports:
- "8091:8091"
environment:
GPT2GIGA_MODE: DEV
GPT2GIGA_HOST: 0.0.0.0
GPT2GIGA_PORT: 8091
GPT2GIGA_ENABLE_API_KEY_AUTH: False
GIGACHAT_CREDENTIALS: <токен вида base64>
ACCESS_TOKEN: <JWT-токен через oAuth>
GIGACHAT_SCOPE: GIGACHAT_API_PERS
GIGACHAT_VERIFY_SSL_CERTS: False
GPT2GIGA_USE_HTTPS: False
GPT2GIGA_PASS_MODEL: True

запускаем через docker-compose up -d, после чего на 8091 становится доступно API с моделями, запросим список доступных моделей командой:
curl https://127.0.0.1:8091/v1/models

если в ответе пачка моделей, включая GigaChat-2, GigaChat-2-Pro, Embeddings и так далее (кстати где Frida и sbert?) то всё сделали правильно.

5️⃣ теперь клонируем исходники Hermes:
git clone https://github.com/NousResearch/hermes-agent.git

и перейдём в корень папки hermes-agent.

6️⃣ придётся чуть прокачать docker-compose.yml, приведём его к следующему виду:
services:
gateway:
build: .
image: hermes-agent
container_name: hermes
restart: unless-stopped
network_mode: host
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
- API_SERVER_HOST=${API_SERVER_HOST:-0.0.0.0}
- API_SERVER_KEY=${API_SERVER_KEY}
command:
- "gateway"
- "run"

dashboard:
image: hermes-agent
container_name: hermes-dashboard
restart: unless-stopped
network_mode: host
depends_on:
- gateway
volumes:
- ~/.hermes:/opt/data
environment:
- HERMES_UID=${HERMES_UID:-10000}
- HERMES_GID=${HERMES_GID:-10000}
command:
- "dashboard"
- "--host"
- "0.0.0.0"
- "--no-open"
- "--insecure"

плюс создадим в папке .env файл следующего содержания:
HERMES_UID=1000
HERMES_GID=1000
API_SERVER_HOST=0.0.0.0
API_SERVER_KEY=<тут пишем свой api ключ>

запускаем композицию через docker-compose up -d, если всё ок, то в хомяке пользователя появится папка .hermes, она нам и нужна.

7️⃣ теперь надо подправить конфиг, находится он тут: ~/.hermes/config.yaml, вверху, в поле модель заменим блок models, на строки вида:
model:
provider: custom
default: GigaChat-2-Pro
base_url: https://127.0.0.1:8091/v1
api_key: ~
api_mode: chat_completions

Кстати, помимо двушки Pro, есть двушка Max, просто двушка и модели первого поколения.

Настройки системы тут https://127.0.0.1:9119

———

После рестарта при помощи docker compose restart эта конфигурация станет активной и вы сможете работать с Hermes через OpenAI-совместимое API, например:
curl -sS --max-time 120 -N -X POST "https://127.0.0.1:8642/v1/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <тут пишем свой api ключ из .env>" \
-d '{
"model": "hermes-agent",
"messages": [
{"role": "user", "content": "Кто ты?"}
],
"stream": false
}'

А ещё эту апишку можно использовать через Open WebUI, LibreChat или в качестве модели агента OpenCode.

Если у вас возникнут какие-то сложности, то не стесняйтесь задавать вопросы, постараюсь подсказать.
19🔥13👍6🤔3🌚1