- BrainTools - https://www.braintools.ru -

Flask + Claude API за 10 дней: как мы автоматизировали акты выполненных работ для самозанятых

Как мы запустили ИИ-сервис для генерации актов за 10 дней: Flask + Claude API

TL;DR: сделали сервис для автоматической генерации актов выполненных работ с помощью Claude API. Расскажем про архитектуру, промпт-инжиниринг и подводные камни.

Предпосылки

Самозанятые и ИП вынуждены тратить 20–40 минут на оформление каждого акта выполненных работ. Существующие решения — либо тяжёлые бухгалтерские системы, либо ручные Word-шаблоны. Мобильного, быстрого инструмента не было.

Архитектура

Бэкенд: Flask + SQLAlchemy + PostgreSQL. Хостинг на Railway. Для генерации документов — Anthropic Claude API (модель claude-sonnet-4).

Ключевая часть — промпт. Мы передаём структурированные данные: исполнитель, заказчик, описание работ в свободной форме. Модель возвращает чистый HTML с таблицей работ, расчётом итога и блоком подписей.

Промпт-инжиниринг: самая сложная часть — научить модель правильно парсить неструктурированное описание («установил 3 розетки по 500, провёл кабель 20 метров по 80») и формировать аккуратную таблицу с единицами измерения.

Дополнительные возможности: распознавание реквизитов из загруженного договора (Claude Vision), голосовой ввод через Web Speech API, генерация PDF через ReportLab с поддержкой кириллицы, Word через python-docx, отправка на email через Resend API.

Подводные камни

Главная проблема — таймауты Gunicorn при длинных запросах к Claude API (30–90 секунд). Решили через увеличение воркер-таймаута до 300 секунд и настройку Anthropic SDK timeout.

Кириллица в PDF: WeasyPrint не заработал на Railway из-за отсутствия системных библиотек. Перешли на ReportLab с подключением шрифта Arial через TTFont.

Сервис доступен по адресу www.aktsdan.ru [1], код закрытый.

Автор: levston

Источник [2]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/27666

URLs in this post:

[1] www.aktsdan.ru: http://www.aktsdan.ru

[2] Источник: https://habr.com/ru/articles/1014484/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1014484

www.BrainTools.ru

Rambler's Top100