Django агрегатор LLM, одна модель на бренд вместо бесконечного списка
Одна из проблем в интеграции LLM начинается в тот момент, когда продукт получает от провайдера длинный список моделей и без размышлений показывает его пользователю. На первый взгляд это выглядит как сильная функциональность. На практике такой список быстро становится декоративным. В нем много похожих id, мало понятных различий, а качество и стабильность отдельных free-моделей меняются быстрее, чем успевает адаптироваться интерфейс.
Нормальная архитектурная развилка здесь в том, чтобы не делать фронт витриной сырого каталога. Полезнее вынести отбор на backend: очистить список, оставить живые free-варианты, сгруппировать их по брендам и выбрать по одному представителю на каждый бренд. Тогда фронт показывает не длинную простыню, а короткий управляемый набор. Это упрощает выбор для пользователя и одновременно помогает самому продукту: такой слой легче поддерживать, легче обновлять и легче использовать для fallback при сбоях. В таких деталях список моделей перестает быть декоративным и начинает работать как настоящий агрегатор.
Витрина проекта: AI Chat github
Проект: AI Chat
Stepik: AI на Django и Next II