Рубрика «fastapi»

Введение

Обычно стек для RAG‑систем и AI‑агентов строится вокруг облачных API (OpenAI, Anthropic) и управляемых векторных баз. Но для ряда задач критически важна полная автономность: устойчивость к санкциям и независимость от внешних провайдеров.

В этой статье я расскажу, какие архитектурные решения и инженерные компромиссы позволили мне построить такую систему полностью на локальных моделях. Мы пройдем путь от сбора RSS‑лент до умного агента, который сам вызывает инструменты, и разберём грабли, на которые я наступил.

Стек: Python 3.12, FastAPI, PostgreSQL + pgvector, Celery, LangGraph, Ollama (Qwen 2.5 14B, BGE‑M3), Streamlit, Langfuse, Docker.

Читать полностью »

Мы с друзьями несколько лет сидели в Discord: вечером голосовая комната, кто-то стримит игру, кто-то просто фоном что-то делает. Потом захотелось своего. Без чужих правил, без подписок, без того, что в один день тебе скажут подтвердить возраст селфи (Discord, кстати, с 23 сентября именно это и раскатывает).

Готовые варианты я смотрел, но везде что-то не сходилось: то сервер нужен потяжелее, то голос и чат живут в разных программах, то установка рассчитана на человека, который сам админит серверы. А мне нужно было, чтобы всё было в одном окне, как в Discord, и чтобы сервер мог поднять любой из компании.

Читать полностью »

У меня есть бот-консультант: отвечает клиентам, уточняет задачу и оформляет заявку. Он написан на aiogram 3 и живёт внутри приложения на FastAPI, историю держит в PostgreSQL, состояния и счётчики в Redis, разговаривает через Claude. С февраля 2026 Telegram в России замедляют официально, и часть людей до бота просто не доходит. Жалоб от них нет, они молча не дописывают.

Читать полностью »

Помните Million Dollar Homepage, где пиксели продавали по доллару? У меня такая же сетка, только место бесплатное, а вместо рекламы рисунки и стихи.

Этим летом я запустила CreativeTrace: общий холст, на котором любой может оставить маленькую творческую работу. Рисунок, стих, звук, файл, обрывок мысли и ссылку на свой канал или сайт. Прошло четыре месяца: сайт посетили 340 человек, на стене около 50 работ, а я до сих пор не уверена, зачем и кому это может быть нужно. Ниже — как он устроен, что показали цифры и что пошло не так.

Откуда идея

Читать полностью »

Рассказываю, что мы собрали, как это устроено и почему связка «чат + задачи» оказалась важнее, чем каждый продукт по отдельности.

С чего всё началось

Рабочая переписка в большинстве компаний живёт в личных мессенджерах. В Telegram висят «Отдел продаж», «Бухгалтерия», «Срочно!!!», а задачи из этих чатов теряются через два экрана прокрутки. Уходит сотрудник - и уносит в телефоне историю переписки и файлы.

Читать полностью »

TL;DR. Я собрал платный API для ИИ‑агентов на протоколе x402: агент получает HTTP 402, платит в USDC и получает подписанный сертификат проверки своего кода. Довёл до продакшена, прогнал сквозной путь, задеплоил. Потом проверил доступные данные о рынке и понял, что покупателей в том объёме, на который я рассчитывал, пока не видно. По дороге поймал четыре бага, каждый из которых выглядел как правильно работающий код. Ниже — что построил, что сломалось, что показали цифры и какое одно правило ловило всё.

Гипотеза

Читать полностью »

В FastAPI можно объявить обработчик как async def, а можно как обычный def. Многие ставят async везде «потому что так быстрее» и спокойно вызывают внутри requests.get() или синхронный драйвер БД. Сервис при этом работает, тесты проходят, а на первой же реальной нагрузке всё встаёт колом, причём вместе с health‑check'ом.

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

Как FastAPI выполняет обработчики

Правило одно, но из него следует всё остальное.

Полтора месяца назад мне пришла претензия на 44 тысячи рублей за фото восьмилетней давности на сайте нашего отеля — типичный «фотобанковский» иск с QR‑кодом, печатью и таблицей коэффициентов. Разбирался сам, с помощью Claude, закрыл спор на 20 тысячах вместо 44 без суда и без найма юриста. Написал об этом на VC.ru — сюда, на Хабр, тащить ту же историю смысла нет, тут расскажу, как это в итоге превратилось в бота и что было интересного технически: архитектура, пять реальных багов с продакшена и то, как я срезал расходы на Claude API почти на порядок.

Читать полностью »

В 2025 году Volga AI Assistant начинался как отдельный Telegram‑бот. Пользователь отправлял сообщение, NLU определял намерение, после чего бот возвращал подготовленный ответ.

Архитектура первой версии почти полностью повторяла этот сценарий:

Читать полностью »

У меня есть RAG‑сервис: проверяет фактологические утверждения в бизнес‑отчётах против реальных источников — SEC EDGAR, World Bank, FRED, Wikipedia. Это капстоун LLM Zoomcamp (DataTalksClub). Курс закончился, оценку поставили (peer review, 42/42), а я решил дотянуть проект до состояния «не стыдно показать на собеседовании как рабочий код», а не просто «закрыл критерии оценки курса».

Критерии оценки курса не требуют production‑паттернов — они про RAG‑пайплайн: retrieval, evaluation, orchestration. На собеседовании про RAG спрашивают другое — то, что курс не проверяет:

  • что будет, если сервису подсунут неправильные переменные окружения при деплое;

  • Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js