Где взять

civitai/civitai — открыть на GitHub

Открытая лицензия: Apache-2.0 · 7216 stars.

Civitai — это репозиторий с открытым исходным кодом, который служит платформой для обмена и совместной работы над моделями Stable Diffusion. Если вы хотите создать собственное пространство для хостинга моделей, текстовых инверсий (textual inversions) и других инструментов настройки генеративного ИИ, этот проект поможет вам развернуть готовую инфраструктуру.

Что можно собрать

Civitai представляет собой полноценную экосистему для работы с генеративным контентом. В основе проекта лежит стек современных веб-технологий: Next.js для фронтенда, tRPC для взаимодействия с API, а также Prisma и Postgres для управления базой данных. Использование Mantine в качестве UI-кита обеспечивает интерфейс, а хранение данных организовано через Cloudflare.

Проект позволяет пользователям:

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

Как начать работу

Для запуска локальной копии проекта разработчики предлагают два основных пути: использование devcontainers или прямую установку.

Если вы выбираете devcontainers, убедитесь, что ваша среда разработки (например, VS Code) поддерживает эту функцию. Важное предостережение для пользователей Windows: для избежания проблем с производительностью рекомендуется клонировать репозиторий на WSL-том или использовать именованный контейнерный том.

При прямой установке процесс включает:

  1. Установку Docker, Node.js (версии 20 или выше) и, при необходимости, Make.
  2. Клонирование репозитория и выполнение команды make init. Этот скрипт автоматически настраивает базу данных, устанавливает зависимости, запускает миграции и создает начальные данные.
  3. Настройку переменных окружения в файле .env.development. Вам потребуется самостоятельно сгенерировать ключи доступа S3 через интерфейс Minio, который доступен по адресу http://localhost:9000.

После завершения настройки сайт будет доступен по адресу http://localhost:3000. Для тестирования регистрации пользователей предусмотрен сервис maildev, доступный на порту 1080.

Кому это подходит

Этот инструмент будет полезен разработчикам и энтузиастам, которые хотят изучить архитектуру платформы для обмена ИИ-моделями или создать собственное сообщество. Проект распространяется под лицензией Apache-2.0 и на момент проверки собрал 7216 звезд на GitHub.

Важно учитывать, что локальная версия имеет ограничения. Сервисы, требующие внешнего взаимодействия, такие как оркестрация генерации и обучения, а также системы уведомлений (Signals) и Buzz, в локальной среде не функционируют. Также, если вы планируете наделить себя правами модератора, это потребует прямого вмешательства в базу данных через SQL-запрос для изменения флага isModerator у вашей учетной записи.

Вердикт

Стоит попробовать, если вы хотите изучить устройство современной платформы на базе Next.js и Postgres или планируете развернуть собственную среду для обмена моделями Stable Diffusion, имея под рукой готовый стек технологий.

Лучше выбрать другой путь, если вам нужна «коробочная» версия с полной поддержкой всех облачных функций, таких как обучение моделей или real-time уведомления, так как документация прямо указывает на их неработоспособность в локальном окружении.

Похожие материалы