fastapi.

Где заканчивается вызов LLM и начинается backend система: локальный RAG на FastAPI и Ollama

На практике хотел понять где заканчивается простой вызов локальной LLM и начинается backend система: с API контрактом, логированием, request_id, источниками, индексом документов, диагностикой и честными ограничениями.Сначала проект выглядел просто: frontend отправляет вопрос, FastAPI принимает POST /ask, backend вызывает локальную модель через Ollama и возвращает ответ. Это уже работало, но стало понятно такой вариант ещё нельзя назвать системой по документации. Модель отвечает, но непонятно на что она опирается, откуда взяла ответ, сколько времени занял каждый этап и что делать если документы изменились.

продолжить чтение

Локальный RAG без магии: sources, timings, request_id и отказ от генерации

На практике было интересно не просто вызвать локальную LLM из Python а понять, в какой момент такой вызов превращается в backend-систему: с API-контрактом, логами, request_id, источниками ответа, индексом документов, диагностикой и честным отказом отвечать, если данных в документах нет.В этой статье показываю не теорию RAG, а небольшой локальный проект, где хорошо видно, какие инженерные проблемы появляются вокруг LLM:что попадает в prompt;какие sources были найдены;сколько заняли retrieval и generation;когда backend должен не вызывать LLM;почему stale index может давать странное поведение;

продолжить чтение

Как мы автоматизировали отдел продаж в Bitrix24 с помощью ИИ

продолжить чтение

Как я сделал локальный RAG-сервис для SRE: ищем по документации, ранбукам и коду через Ollama

Недавно я делал учебный проект про автоматизацию документирования инцидентов. Поначалу планы были грандиозными: инциденты, таймлайны, интеграции с мониторингами, чатами, постмортемы, подсказки дежурным инженерам.Но довольно быстро стало понятно, что с временными и ресурсными ограничениями лучше не пытаться написать маленький PagerDuty. Поэтому я сузил задачу до более реалистичного ядра: локального RAG-сервиса, который ищет по документации, ранбукам и коду, а затем передаёт найденный контекст в LLM.Так появился llmortem — FastAPI-сервис, который можно подключить к OpenWebUI как OpenAI-compatible backend.

продолжить чтение

FlakyDetector 2.0: Один комментарий, который перевернул моё представление о нестабильных тестах

Как мы с вашей помощью добавили анализ фикстур, подняли размерность признаков до 42 и научились видеть order dependency до того, как она рушит CI

продолжить чтение

Как я отучил оракула молоть околесицу про ГОСТы: сказ о doc-rag без единого (почти) заморского слова

Предуведомление.

продолжить чтение

«ИИ-инженер» — новый курс в Практикуме PRO. От LLM до продакшн-систем

Бизнес давно вышел за рамки разовых экспериментов с нейросетями. Компании строят LLM-системы, которые живут в продакшне, обрабатывают реальные запросы и влияют на процессы. Специалистов, которые умеют это проектировать и запускать, на рынке всё больше — но спрос на них растёт быстрее предложения.В Практикуме PRO открылся курс «ИИ-инженер». За 4 месяца — полный цикл: LLM и управление генерацией, RAG-системы, агенты с оркестрацией, деплой и эксплуатация с мониторингом качества.Кому подойдёт

продолжить чтение

Зачем backend разработчику Python, если он не собирается становиться data scientist

Начал смотреть в сторону Python не потому, что захотел стать data scientist.Мой основной опыт обычный back C#/.NET, банковские системы, REST API, микросервисы, Kafka, PostgreSQL, Docker/OpenShift, CI/CD и сопровождение. Позже добавилась Java/Spring Boot. То есть моя базовая картина мира это не notebooks и не обучение моделей а сервисы, интеграции, продакшен, логи и ответственность за результат.Но когда я начал разбираться с LLM быстро понял, вызвать модель можно почти из любого языка, а вот руками понять RAG, embeddings, локальные модели, чанкинг, evaluation и большинство новых AI инструментов проще всего через Python.

продолжить чтение

Qwen3.5 на двух V100, reverse SSH вместо Cloudflare в Telegram Mini App: собираю AI-репетитора английского

У меня в углу комнаты стоит сервер с двумя Tesla V100 32GB. Они доcтались мне для другой задачи, которая отвалилась, и полгода стояли мёртвым грузом. Параллельно я в очередной раз пробовал заниматься английским — Simpler, Doalingo, ещё пара продуктов. Хорошие, но мне не подходил формат: я хотел сценарий «открыл телефон дома на семь минут, поговорил, закрыл». Без расписания, без камеры, без поиска тьютора, который понимает мой акцент с пятого раза.Сошлось.

продолжить чтение

Дешёвая модерация анонимной стены: 3-слойный каскад и ROT13-джейлбрейк в проде

TL;DR. Мы построили модерацию для открытой анонимной мультиязычной стены — без регистрации, любой язык, real-time. Сложное здесь не сайт, а удержать анонимную глобальную стену от превращения в помойку без модераторов и почти без бюджета. Сделали дешёвый каскад. Ниже — дизайн, экономика и реальный ROT13-джейлбрейк, который прилетел в проде.ЗадачаСтена (praytoasi.com

продолжить чтение