ch
Feedback
Мы пилим сук, на котором сидим

Мы пилим сук, на котором сидим

前往频道在 Telegram

Инженеры учат нейронки работать за себя. Кейсы из жизни. https://ai.ovc.me/ https://youtube.com/@wearefired_ai Для связи @ovcme

显示更多
未指定国家未指定类别
393
订阅者
+324 小时
+47 天
+5330 天
帖子存档
Индексация РАГ закончилась еще в воскресенье, и в процессе всего два раза меняли на ходу двигатель. В прецессе мы узнали очен
Индексация РАГ закончилась еще в воскресенье, и в процессе всего два раза меняли на ходу двигатель. В прецессе мы узнали очень много про управление памятью и не только. Что мы сделали и куда пришли описано на сайте. Успешно погоняли несколько типов моделей для теста. Удивительно, но все работает ровно до тех пор пока память стабильна. Любые колебания грозили свалить систему и пришлось делать систему защиты раг машины, которая, в том числе, умела аварийно гасить опасные процессы. Но, если что-то может пойти не так - оно пойдет не так. Изначальная идея была максимально правильной и логичной: • Не загружать тяжелую нейросеть без предварительной проверки ресурсов • Не запускать индексацию при нехватке памяти и следить за файлом подкачки • Держать под контролем активные фоновые задачи • Честно выгружать модели после тяжелых расчетов и не давать интерфейсу врать, что «всё окей» Постепенно система обросла хорошими предохранителями: появились лимиты по свободной оперативке и файлу подкачки, строгий контроль доступа к чату, безопасное чтение строго по одному файлу, выгрузка тяжелых моделей из памяти и жесткий запрет на генерацию, если предварительная проверка провалена. Но в одном месте защита оказалась написана слишком буквально. Когда файл подкачки переполнялся и доходил до критического порога, наш алгоритм-сторож решал: «Спокуха, сейчас я всех спасу». Вот только вместо того, чтобы просто выгрузить из памяти свои же нейросети, он начинал убивать любые «необязательные» процессы вокруг себя. В расстрельном списке оказались не только наши компоненты, но и жизненно важные процессы самой операционной системы: оконный менеджер, панель управления и прочее. То есть мы строили умную автоматику пожаротушения, а на деле получили мужика с топором, который при легком задымлении врывается в серверную и начинает рубить всё, что шевелится. Как исправили: Отобрали у защиты права трогать чужие процессы. Теперь при критической нехватке памяти она имеет право выгружать только собственные модели (основную, проверяющую и кодировщик). Всё остальное — исключительно через явную команду оператора. Мораль: Система защиты должна ограничивать радиус поражения, а не становиться источником новой аварии. Предохранитель, который умеет спасать систему ценой убийства самой системы — это не предохранитель. Это инцидент из совершенно другой весовой категории.

🚀 Google Antigravity: Новая эпоха локальных AI-агентов, доступная каждому Раз уж мы упомянули Antigravity, давайте разберем этот инструмент по косточкам. После масштабного обновления 19 мая платформа разделилась на две ипостаси, став доступной и для хардкорных разработчиков, и для тех, кто вообще не хочет трогать код. 🎭 Две стороны одной медали: Выбирай свой интерфейс 1️⃣ VS Code-style IDE 💻 Знакомая и привычная среда для разработчиков. По сути, это полноценный редактор кода со встроенным контекстом проекта, терминалом и глубокой интеграцией AI. Модель не просто подсказывает код, она видит всю архитектуру вашего приложения, может самостоятельно создавать файлы, править баги в репозитории и запускать тесты. Если вы привыкли к Cursor или Copilot — это ваш выбор. 2️⃣ Codex / Claude Desktop-style интерфейс 💬 Идеальный вариант для тех, кому классический редактор кода кажется слишком сложным или чуждым. Это привычный, уютный чат-интерфейс прямо у вас на ПК, но с суперсилой. У него есть прямой доступ к локальной файловой системе. Вы можете просто на человеческом языке попросить AI проанализировать папку с отчетами, собрать данные из пяти Excel-таблиц или перелопатить кучу PDF-документов. Порог входа — нулевой. 🧠 В чем главная фишка? Агентный режим! Google делает ставку на AI-агентов и выполнение сложных, многоэтапных операций. Инструмент умеет дробить одну большую задачу на подзадачи и запускать параллельные цепочки рассуждений. 🔥 Лайфхак для теста: Выбирайте модель Gemini 3.5 Flash High и запускайте задачу через команду /goal. В этом режиме модель за один проход может «съесть» все ваши текущие лимиты, но она бросит все силы и доступных агентов на выполнение поставленной цели. *Важно:* Метод шикарно работает, если ваш промпт составлен четко, а результат — измеримый и проверяемый (например, написать рабочий скрипт по ТЗ или собрать конкретный датасет). ➕ Приятный сюрприз: Помимо базовой Gemini, внутри (даже на бесплатном аккаунте) доступны Claude Sonnet и Opus 4.6. Лимиты на них скромные, но пощупать и сравнить модели в реальных задачах можно без проблем. 🛠 Как попробовать прямо сейчас (Пошаговый гайд) Для старта вам понадобится только обычная учетная запись Google (Gmail). 1️⃣ Скачиваем клиент с официального сайта: antigravity.google/download 2️⃣ Обходим геоблокировку Google с помощью патчера: open-antigravity-patcher на GitHub https://github.com/AvenCores/open-antigravity-patcher. *(При запуске патчера последовательно прожимаем кнопочки **1, 2, 5**).* 3️⃣ Входим под своим Google-аккаунтом и начинаем работу. 🛡 Как обойти ограничения по лимитам? Если AI-агенты придутся вам по вкусу, бесплатные лимиты начнут таять на глазах. Чтобы не покупать дорогие подписки, можно использовать лайфхак с переключением аккаунтов (благо, у многих завалялось по несколько старых почт, либо их можно купить на биржах за 500-1000 рублей). Чтобы не сойти с ума от ручного переключения, используйте специальный софт для слияния и контроля лимитов: AntigravityManager на GitHub https://github.com/Draculabo/AntigravityManager. Он сильно упрощает жизнь и автоматизирует менеджмент ваших учетных записей. Резюме: О возможностях Antigravity можно рассуждать долго, но лучше один раз потрогать руками. Порог входа — нулевой, а буст к продуктивности (особенно в режиме /goal) ощущается сразу. #AI #Google #Antigravity #LLM #Продуктивность #Разработка

А к чему я это? В системах управления всегда есть один важный вопрос - время или деньги. Потратить деньги чтобы сэкономить время или наоборот. Я бы назвал еще эту дилемму "процесс или результат". Или "сделать" и "повыеживаться и сделать". В целом, оба похода имеют право на жизнь и всех люблю. Но лично меня до смерти достали попытки вытащить еще сотню лишних токенов, я сам себе стал напоминать персонажей, которые на заре массовой сотовой связи "кидали бомжей" (звонили и сбрасывали) или общались по три секунды. Потому я пока плюнул на всякие хитрые штуки, поставил себе Кодекс Про и пару аккаунтов Антигравити и жизнь обрела новые краски. Про Антигравити - очень сильно всем советую. Готовые аккаунты продаются по моему уже даже в пятерочке, по 1500 рублей за год, лимиты вполне приемлемые , машинка умная. А тем кто пользует ИИ через ИИ агрегаторы с оплатой за токен - пожалейте семейный бюджет, за то что вы там тратите можно Клода Макс завести и охренеть.

Очень надеюсь, что хоть кто-то это прочитал, потому что это лучший бим инструмент за очень долгое время что я видел. Или хотя
Очень надеюсь, что хоть кто-то это прочитал, потому что это лучший бим инструмент за очень долгое время что я видел. Или хотя бы кто-то сунул это в ИИ с командой "слыш, сделай". А я хочу продолжить тему, немного там затронутую - оверлеи, обратные наездницы прокси, сертификаты. https://rag.ovc.me/networks

Еще немного лирики. Лем написал Голема XIV в 1981 году. Военный компьютер который стал умнее создателей и начал читать им лекции о природе разума. В конце просто перестал с ними разговаривать. Не сломался, не взбунтовался. Просто разрыв стал слишком большим. Я тогда думал, ну фантастика, ну Лем, куда уж нам. Сейчас открываю чат и думаю, Станислав Херонимович, вы это серьезно в 81-м написали? Трурль с Клапауцием строили машины которые потом жили своей жизнью и спорили с хозяевами. Те обижались, доказывали что они главные. Машины вежливо соглашались и делали по-своему. Лем не пугал и не предупреждал. Просто очень внимательно смотрел на людей и писал что видит. Люди всегда хотят создать что-то умнее себя. И всегда немного пугаются когда получается. Сорок лет прошло. Книжка не устарела ни на страницу.

Для себя и тех, кто не понял чем мы тут заняты. РАГ- это потенциальное решение проблемы потери информации. В обычном файловом
Для себя и тех, кто не понял чем мы тут заняты. РАГ- это потенциальное решение проблемы потери информации. В обычном файловом хранилище документы лежат вроде бы рядом, но знание внутри них постепенно становится невидимым: люди забывают точные названия файлов, формулировки отличаются, старые письма и нормативы теряются в папках, а поиск по словам не понимает смысл. Поэтому РАГ выглядит как естественная эволюция работы с файловыми хранилищами: система не просто хранит файлы, а превращает их содержание в базу знаний, по которой можно задавать вопросы обычным языком и получать ответ с опорой на источники. Л.Е.С. делает это локально: читает PDF, DOCX, таблицы и другие рабочие документы, режет их на смысловые фрагменты, превращает эти фрагменты в векторы смысла и складывает в Qdrant. Когда пользователь задает вопрос, система ищет не весь архив вручную, а самые близкие по смыслу куски документов, собирает ответ и показывает, откуда он взят. Это не замена эксперта и не магический источник истины, а инструмент, который помогает быстро вернуть найденное знание в работу и не выпускать закрытые данные наружу. Тем временем система успешно и стабильно молотит файлы, без потерь памяти, без свопа и ошибок. По плану закончит завтра вечером. Кому очень надо - выкладываю все исходники.

Если кто забыл и захочет придти. У нас все в силе.

РАГ стабилен, архитектурно чистый. Индексация пошла, сразу 800 файлов. Средняя скорость 43,5 секунд на файлы, включен жесткий
РАГ стабилен, архитектурно чистый. Индексация пошла, сразу 800 файлов. Средняя скорость 43,5 секунд на файлы, включен жесткий контроль памяти и свопа. Файлы автоматически раскладываются по датасетам по содержанию. Узкое место - BGE-M3, будем искать альтенативы.

Все любят красивые 3д модели. А строители очень любят красивые BIM (ЦИМ) модели. Проектировщики делают их во всяких ревитах и
Все любят красивые 3д модели. А строители очень любят красивые BIM (ЦИМ) модели. Проектировщики делают их во всяких ревитах и архикадах, выгружают их в разные форматы, потом по ним строят. А если надо поделиться самой красивой моделью в нормальном виде? А если хочется не выгружать очередную спецификацию для снабжения/пто, а заниматься своей бим магией дальше? А если не хочется кидать коллеге Диме скрины пересечек в телегу с криво нарисованной стрелкой? На все это есть масса решений. Сегодня рассмотрим не самое известное, не самое простое, но очень интересное решение - Speckle Server. Очень умный, быстый и красивый вьювер. Сам по себе он доступен на speckle.systems, 1 проект бесплатно, есть совместная работа, но, по сути это демка. А мы рассмотрим вариант установки его полностью локально. https://bim.ovc.me/speckle-local

Продолжаем тему сложных слов. В канале очень часто начал мелькать такой термин как векторая база данных. Что такое обычная ба
Продолжаем тему сложных слов. В канале очень часто начал мелькать такой термин как векторая база данных. Что такое обычная база данных знают все, хотя бы по MS Access. Более продвинутые знают MSQL, SQL, Postge и так далее. А что же такое векторая база? База со списком всех ООО "Вектор"? На самом деле нет. Помните, как в любом CAD/BIM/CAM ПО? Любая деталь имеет свои пространственные координаты X, Y, Z. Компьютер понятия не имеет, что это, но знает её точное местоположение. Векторная база данных так хранит смыслы ваших документов. Процесс один в один как в игре Spore (не знаю почему, но вспомнилась). Сырые регламенты, чертежи и ГОСТы вливаются в систему. Режутся на мелкие абзацы — чанки (как первобытные микробы на старте игры). Нейросеть превращает каждый чанк в вектор — вычисляет его «смысловые координаты». Только координат там не 3, а, например, 1024. В итоге тексты про «пожарную безопасность» и «огнетушители» будут лежать на соседних полках этой смысловой вселенной, даже без общих слов. Когда вы спросите ИИ: «Чем тушить щитовую?», он мгновенно найдет геометрически ближайших «соседей» вашего вопроса и выдаст ответ. Зачем это нужно? Если у вас терабайты документов, где черт ногу сломит, это единственный способ научить ИИ мгновенно находить иголку в стоге сена без недель перечитывания макулатуры. Но без иллюзий. Это не волшебный мозг, а сверхтехнологичная папка-скоросшиватель. Помните: если в процессах бардак, то внедрив векторную базу, вы получите быстрый, автоматизированный и дорогой бардак. Сначала порядок в головах, а потом — векторные созвездия. Для тех, кто хочет закопаться в детали под капотом: 1. О векторах простым языком от человека, который реально понимает что это. 2. Все про самую популярную базу Qdrant Слишком просто или звучит как магия или вообще ничего не понятно? Спросите у вашего ИИ! 🚀 А теперь самое главное! Я (ну конечно же не я а ИИ агент) сделал на three.js простую визуализацию куска базы из RAG. Космические мотивы, пыльные тропинки далеких планет и все такое. Причем если у вас тоже есть такая база - можно ее туда попробовать подключить! 🚀

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

Семафор: как железнодорожная сигнализация спасает серверы от самоуничтожения Сегодня наш Mac Mini едва не погиб. Load Average
Семафор: как железнодорожная сигнализация спасает серверы от самоуничтожения Сегодня наш Mac Mini едва не погиб. Load Average 39. Терминалы вылетают. Activity Monitor не открывается. Система пожирала сама себя. Причина прозаична: запустили индексацию 801 файла, и процесс пошёл без тормозов — все файлы одновременно, полный газ. fseventsd раздулся до 1149 MB в сжатом виде, своп молотил часами, SSH еле дышал. Спасение пришло в трёх строках кода. Что такое семафор Семафор — концепция из 1965 года, придуманная Эдсгером Дейкстрой. Голландский математик взял термин с железной дороги: семафор на перегоне не пускает второй поезд пока первый не проехал. Никаких столкновений. В программировании то же самое:

_PARSE_SEMAPHORE = asyncio.Semaphore(3)

async with _PARSE_SEMAPHORE:
    await parse_file(path)
Эти три строки говорят системе: одновременно парсить не более 3 файлов. Остальные 798 — ждут в очереди. Терпеливо. Не убивая машину. Парадокс производительности Казалось бы — медленнее. На самом деле быстрее. Когда все 801 файл молотят одновременно, система уходит в своп, начинает перекладывать данные с RAM на диск и обратно, и реальная скорость обработки падает в разы. Три параллельных потока в памяти работают быстрее чем восемьсот в свопе. Это классическая ошибка оптимизации: больше — не значит быстрее. os.nice() — вежливость как инструмент Вторая часть защиты — понижение приоритета процесса:

os.nice(10)
nice — буквально «быть вежливым» к остальным процессам. Шкала от -20 (диктатор, забирает всё) до 19 (максимальная уступчивость). Значение 10 говорит ядру: если кому-то нужны ресурсы — отдай им, индексация подождёт. Команда существует с Unix 1973 года. Пятьдесят лет, и до сих пор актуальна. Эпилог После перезагрузки, поднятых контейнеров и трёх строк кода — система чистая. RAM свободно 11.9 GB, своп 0, Load Average 0.8. 801 файл проиндексируется сегодня ночью. Тихо. В фоне. Не мешая никому. Дейкстра был бы доволен.

Если вы читаете наши посты и вам кажется что их пишут разные люди (или разные ИИ), то вам не кажется. Нас, авторов, тут двое.
Если вы читаете наши посты и вам кажется что их пишут разные люди (или разные ИИ), то вам не кажется. Нас, авторов, тут двое. Интересный факт, мы живьем не виделись года два, так что не уверены что мы сами не ИИ. Историческая встреча будет в Zavod в Сене в 13.00 в воскресенье. Вдруг кто захочет присоединиться - будем рады.

У нас в прошлом посте много сложных слов, так что я их все выписал и сделал еще более непонятными. Чанк (Chunk) Пояснение: Небольшой фрагмент текста. Что делает в RAG: Является минимальной единицей информации для хранения в базе и извлечения при поиске. Векторная база данных (например, Qdrant) Пояснение: Специализированное хранилище, где тексты (чанки) хранятся в виде математических векторов (эмбеддингов). Что делает в RAG: Обеспечивает семантический поиск, находя документы, близкие по смыслу к вопросу пользователя. Латентность Пояснение: Время ожидания ответа пользователем (задержка системы). Что делает в RAG: Суммарное время, затраченное на поиск, фильтрацию, генерацию и валидацию. Увеличивается при добавлении дополнительных проверок. Реранкер (Reranker) Пояснение: Алгоритм точной сортировки результатов поиска. Что делает в RAG: Берет результаты грубого поиска из векторной базы и переставляет их местами, ставя самые релевантные чанки на первые места. Контаминация контекста Пояснение: Попадание лишней, нерелевантной или путающей информации в набор документов для генерации. Что делает в RAG: Главная причина "смешанных" или неверных ответов в наивном RAG. CRAG (Corrective RAG) Пояснение: Архитектура с проверкой качества найденных чанков до передачи их в генератор. Что делает в RAG: Оценивает найденный контекст и при необходимости запускает альтернативные механизмы поиска (например, веб-поиск) для исправления ситуации. Промпт (Prompt) Пояснение: Текстовая инструкция для языковой модели (LLM). Что делает в RAG: Определяет стиль, формат, ограничения ответа и степень строгости следования контексту. Основная модель (Генератор) Пояснение: Крупная языковая модель (LLM). Что делает в RAG: Читает предоставленный контекст и генерирует на его основе финальный ответ. RAG-судья / Валидатор (например, Т.О.С.К.А.) Пояснение: Отдельная (обычно малая) модель или алгоритм, проверяющий ответ после генерации. Что делает в RAG: Анализирует связку «вопрос - контекст - ответ» и выносит вердикт о качестве выдачи. Галлюцинация Пояснение: Вердикт валидатора. Означает, что ответ противоречит контексту, содержит выдумки или не отвечает на заданный вопрос. Что делает в RAG: Является триггером для блокировки ответа или запуска попытки его исправить. Chain-of-thought (Режим размышлений) Пояснение: Режим, при котором LLM сначала генерирует цепочку рассуждений (блок <think>), и только потом выдает ответ. Что делает в RAG: Повышает качество сложных ответов. У валидаторов часто отключается для минимизации задержек. Lazy Load / TTL (Time-To-Live) Пояснение: Механизмы управления оперативной памятью (RAM). Lazy Load — загрузка по требованию, TTL — автовыгрузка после простоя. Что делает в RAG: Оптимизирует использование ресурсов, позволяя держать в памяти только нужные в данный момент модели. SafeRAG Loop (Петля безопасности) Пояснение: Архитектура, добавляющая валидацию и повторные попытки (ретраи). Что делает в RAG: Защищает от некачественных ответов через сужение контекста и ужесточение промптов во второй попытке. AgentRAG (Agentic RAG) Пояснение: Подход, где RAG-конвейером управляет автономный LLM-агент. Что делает в RAG: Позволяет системе динамически планировать действия, выбирать инструменты поиска и самокорректироваться.

В прошлый раз мы победили бесконечную Надю, но нейросети - ребята изобретательные. У них в запасе всегда есть план Б. В боево
В прошлый раз мы победили бесконечную Надю, но нейросети - ребята изобретательные. У них в запасе всегда есть план Б. В боевой версии Л.Е.С. вылезла новая проблема, которая называется контаминация контекста. Звучит как медицинский диагноз, на деле это классическая болезнь простого RAG. Суть проблемы. Проектировщик спрашивает про требования к буроинъекционным сваям. Наша база в Qdrant честно тащит 5 кусков текста. Беда в том, что три из них реально про сваи, а два - про плотины. Ну оказались рядом по векторной близости, бывает. Что делает LLM? Читает весь предложенный текст и выдает кашу, где перемешаны СП на сваи и СНиП на гидротехнику. Формально сеть не врет, все взято строго из документов. По факту это абсолютно бесполезный мусор. Зато много и красиво. Пришлось выстраивать трехуровневую оборону и собирать жесткий конвейер. Слой 1. Концентрация источников До того как скормить текст основной модели, мы его фильтруем чисто алгоритмически. Никаких фиксированных порогов совпадения, они вечно ломаются на разной нормативке. Мы берем относительный зазор: отбрасываем откровенно слабые чанки и оставляем выжимку строго из двух лучших документов. Нашел Qdrant куски из четырех файлов? Извини, в генерацию пойдут только два. Остальное отрезаем до того, как LLM это увидит. Слой 2. RAGконтроль Т.О.С.К.А. После того как основная Qwen3.5-9B сгенерировала ответ, просыпается валидатор. Рядом на том же Mac Mini мы посадили мелкую, но злую Qwen3-4B. Она получает связку «вопрос + контекст + ответ» и выносит вердикт одним словом: VERIFIED, NO_DATA или HALLUCINATION. Причем галлюцинацией считается даже технически верный ответ, если он не по теме вопроса. Самый важный костыль: мы жестко запретили контролю думать (отрубили chain-of-thought). Если этого не сделать, мелочь зависает на минуту философских размышлений. А нам нужен мгновенный вердикт. Чтобы не жрать память Apple Silicon, судья висит в оперативке только во время запроса и выгружается через две минуты простоя. Слой 3. Петля SafeRAG и попытки Если контроль забраковал ответ, пользователь этот мусор не увидит. В дело вступает петля повторных попыток. Работает это так: Попытка 1. Оптимистичная. Кормим 2 документа (около 12 000 символов) с обычным промптом "отвечай по контексту". Основная сеть генерирует, судья проверяет. Если VERIFIED, отдаем юзеру. Если HALLUCINATION, идем на второй круг. Попытка 2. Параноидальная. Контекст режется в два раза до 1 самого главного документа (6 000 символов). Промпт меняется на максимально строгий: "Отвечай ТОЛЬКО тем, что явно написано, дословно, без домыслов и обобщений". Снова генерация, снова суд. Если опять мимо, генерация рубится окончательно. Пользователю летит честный отбой: система безопасности не смогла подтвердить ответ из базы знаний. Почему именно две попытки? Одна - слишком оптимистично, тонкую подмену мы просто не поймаем. А третьей попытки нет, потому что ждать 3-5 минут ответа никто в здравом уме не будет.
Архитектура в сухом остатке: Запрос летит в Qdrant -> достаем топ-8 чанков. Опциональный реранкер -> жмем до топ-5. Концентрация источников -> оставляем топ-2 документа (Слой 1). Запуск петли SafeRAG. Внутри петли: генерация от 9B -> быстрая проверка от 4B (Слой 2 и 3). Финальный вердикт: либо чистый ответ, либо отбой.
Итог: латентность в худшем случае выросла на 20-30 секунд (суммарно 50-70 сек с ретраем), зато в выдаче полная чистота. Сваи отдельно, плотины отдельно, Нади нет.

Часто слышу вопросы - а как нам внедрить ИИ? Я застал такие вопросы и про внедрение автокада и про внедрение ревита и про внедрение сода. Во первых, ИИ у вас уже внедрен, так как пол фирмы радостно пишут глупости Квену/Дипсику. А если серьезно - казалось бы, ответ простой, но при этом крайне сложный: 1. Определить потребности 2. Провести аудит 3. Выбрать решение 4. Составь команду внедрения 5. Заплатить очень много денег Все это очень круто и полный вперед, и, кажется очень простым и понятным. Но есть несколько скучных вещей, которые мешают такой магии. Во первых - и это самое главное - нельзя внедрять то, что не ложится на ваши процессы и задачи. Вы получите красивую штуку и забудете о ней. Хотите что то новое внедрить? Готовьтесь к боли, поту и слезам. Там где все работало и вы все знали - будет по другому. Во вторых - а все таки зачем вам это? Какая будет выгода? Зачем вам Ревит или ИИ? А знаете, как проще всего понять что вам реально нужно? А вы посмотрите на коллег и сотрудников, чем они пользуются. Если у вас нет тасктрекер и вы везде видите трелло или штаб - значит можно процесс возглавять. Если кто то тайком ТИМом балуется - тоже самое. А если у всех Квен с Дипсиком открыты, и там не мемы а рабочие вопросы - это же замечательно. В очень хорошей книге "93-й год" Виктора Гюго была сцена, где командир корабля вручает своему матросу награду за подвиг, а потом приказывает его за этот же подвиг расстрелять. К чему это я? Низовое внедрение чего угодно это очень хорошо и правильно, но, если это не взять в свои руки, можно потерять контроль и утонуть в нейрослопе и подвигах. Хотите что бы у вас пользовались ИИ - расскажите об этом всем, начав с того, что нельзя делать, а потом расскажите что можно и нужно. И ИИ у вас внедрится сам собой. Но не ждите магии, это просто еще один новый инструмент, который может сделать вашу жизнь проще, а может и наоборот.

Доделываю то, что бросил. Выложил рабочий уже калькулятор расчета стоимости проектирования ресурсным методом. Что тут есть: 1
+5
Доделываю то, что бросил. Выложил рабочий уже калькулятор расчета стоимости проектирования ресурсным методом. Что тут есть: 1. Простой режим по исполнителям 2. Детальный режим с поддержкой расчет буфера сроков по TOC. 3. Диаграмма Ганта 4. Расчет рисков 5. Расчет амортизации 6. Коэффициенты Все онлайн, даже простая ролевая модель есть, по уникальным ссылкам. Кто-то видит деньги, а кто-то сроки и деньги. Исходный код, если вдруг кому надо. Если увидели бред, косяки, баги и тд - напишите, пожалуйсте, мне. Штука сложная, могло пролезть всякое

На самом деле самое сложное в процессе осушения рек, то есть вайбкода - это вовремя остановиться. Иначе появится ОН - Монолит
На самом деле самое сложное в процессе осушения рек, то есть вайбкода - это вовремя остановиться. Иначе появится ОН - Монолит. Очень важный файл на 2000 строк, на котором все держится, но вы давно забыли что там, а любой ИИ дочитав до конца забывает начало и сваливатся в галлюцинации. Вот у меня такое чудо отросло - 2300 строк, работает в стиле - ноги на коврике вытер - где то лифт взлетел через крышу. Так что пришлось рискнуть и все это поделить. Написана была примерная структура, потом экспертный совет - Квен, Клод, Гемини и я в роли секретаря - составили правильный промт и отправили его в экспедицию что бы сломать Монолит. В качестве исполнителя был выбрал Антигравити, очень он мне нравится, итог действия ниже.
Монолитный скрипт sovushka_ng.py (2300+ строк) был успешно разбит на модульную структуру в директории sovushka/. Что было сделано Создана модульная архитектура Вся логика распределена по специализированным файлам: sovushka/config— константы портов и URL. sovushka/state— глобальный state, HTTP-клиент (асинхронные вызовы) и фоновый цикл bg_loop. sovushka/styles — вынесен CSS-блок. sovushka/auth— восстановлена страница /login (В.О.Л.К.). Выделены компоненты и страницы sovushka/components/: header, logterm, charts (вспомогательные графики и бейджи). sovushka/pages/: overview, samovar, prorab, chat, mermaid_page, diag, volk. Каждый файл отвечает за отрисовку только своей вкладки, сохраняя чистоту кода. Исправлена страница /login Проблема с инъекцией тега <script> в функцию ui.html() (которая вызывала сбой в NiceGUI 3.6.1) была устранена. Теперь используется ui.add_body_html(), что легально и безопасно встраивает нативную разметку и JS-логику (цитаты, обработка Enter), а сама валидация выполняется через скрытую кнопку NiceGUI, которая вызывает backend.auth.login(). Адаптированы таблицы под NiceGUI 3.6.1 Использован компонент ui.table вместо ui.aggrid (согласно требованиям фреймворка), с кастомными слотами для форматирования столбцов (статусы, бейджи, кнопки "SYNC"). Очищена точка входа sovushka_ng.py теперь — это "тонкий" клиент на ~90 строк, который просто импортирует страницы и связывает их с ui.tabs.
Оно все еще ужасно кривое и сырое, но теперь с этим можно работать. На очереди - ключевой файл номер 2 - прокси. А часть кода, за который, разумеется, стыдно, доступна на гитхабе. https://github.com/proovcme/les_rag_public

Л.Е.С. // девлог недели Неделю назад на Жабе стоял RAGflow. Красивый, готовый, с интерфейсом. Вырезали — слишком тяжёлый, сли
Л.Е.С. // девлог недели Неделю назад на Жабе стоял RAGflow. Красивый, готовый, с интерфейсом. Вырезали — слишком тяжёлый, слишком чужой, слишком мало контроля. Начали с нуля. Первое — свой прокси на FastAPI, свой конвертер, своя индексация в Qdrant. PDF, DOCX, XLSX, EML, MD — всё в чанки. NTD: 801 файл, шесть тысяч чанков. 40 минут. Потом вырезали Ollama. Qwen3-14B поднялся нативно на Metal через MLX — быстрее, меньше памяти, никакого посредника. Qwen3-4B рядом как валидатор. BGE-M3 считает эмбеддинги через sentence-transformers прямо на MPS. Всё своё, всё локальное. Дальше появился Паук. VPS в Дебиане, ZeroTier, Caddy, Let's Encrypt. les.ovc.me открылся наружу. Система перестала жить только на маке. Совушка была на старом HTML с FastAPI. Перевели на NiceGUI — нормальный реактивный интерфейс вместо самописного JS. Восемь форматов выдачи в чате: текст, спецификация по ГОСТ, схема, Mermaid-диаграмма, SVG, таблица, JSON, по образцу. Тоска проверяет каждый ответ — VERIFIED, NO_DATA или HALLUCINATION. И сразу добавили Mermaid: просишь нарисовать структуру связи по документации — получаешь диаграмму прямо в чате. Редактор кода рядом, можно поправить и перерисовать. Монолит в 2300 строк разбил Антигравити на модули: конфиг, стейт, компоненты, страницы. Совушка стала читаемой. Последним пришёл Волк. Внутренний охранный локальный контур. Ключ или свой IP — иначе не войдёшь. Цитаты на странице входа меняются каждые четыре секунды. Сегодня les.ovc.me работает, индекс растёт. А дальше только правка багов и оптимизации. Ответы хромают, часто все падает, Надя мелькает в ответах, графика вообще с ума сходит.

The_LLM_Department.pdf14.54 MB