Mermaid/Django, rotation по пулу моделей

Одна модель может вернуть Mermaid-код без валидной головы, добавить пояснение вместо диаграммы или завершить запрос ошибкой провайдера.

Повтор того же запроса через тот же model_id сохраняет тот же маршрут. Django хранит упорядоченный пул text и code моделей. После неудачной попытки pick_next_model_after выбирает следующий model_id. Новый ответ проходит extract_fenced, sanitize_mermaid, нормализацию и looks_like_mermaid.

Пул кешируется. Успешный ответ содержит фактически использованную модель и отметку fallback_used. После неудачи всего пула сервер возвращает ошибку.

Статья на Хабр Витрина проекта: AI Chat github Проект: AI Chat Stepik: LLM-Chat + Mermaid + ЮKassa

#mermaid #django #python #nextjs #typescript #llm #openrouter #modelrouting #fallback #fullstack

Mermaid/Django, rotation по пулу моделей | Сетка — социальная сеть от hh.ru