Notre objectif avec ce projet est de créer une plate-forme où les gens peuvent partager leurs modèles de diffusion stables (inversions textuelles, hypernetworks, gradients esthétiques, VAES et tout autre truc fou que les gens font pour personnaliser leurs générations d'IA), collaborent avec d'autres pour les améliorer, Et apprenez du travail de l'autre. La plate-forme permet aux utilisateurs de créer un compte, de télécharger leurs modèles et de parcourir les modèles qui ont été partagés par d'autres. Les utilisateurs peuvent également laisser des commentaires et des commentaires sur les modèles les uns des autres pour faciliter la collaboration et le partage des connaissances.
Nous avons construit ce projet en utilisant une combinaison de technologies Web modernes, y compris Next.js pour le frontend, TRPC pour l'API et Prisma + Postgres pour la base de données. En tirant parti de ces outils, nous avons pu créer une plate-forme évolutive et maintenable qui est à la fois conviviale et puissante.
Pour obtenir une copie locale en cours, suivez ces exemples d'exemples simples.
Tout d'abord, assurez-vous que vous avez installé le suivant sur votre machine:
Nous vous recommandons d'avoir installé
nvm
afin de définir la version du noeud droit pour exécuter ce projetcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
npm install
dans le répertoire du projet pour installer les dépendances nécessaires.docker-compose up -d
.env
en faisant une copie du contenu à partir du fichier .env-example
.minioadmin
, puis accédez à l'onglet "Access Keys". Cliquez sur "Créer une clé d'accès" et copiez la touche générée et le secret dans le fichier .env
.WEBHOOK_TOKEN
à une chaîne aléatoire de votre choix. Cela sera utilisé pour authentifier les demandes au point de terminaison WebHook.CLICKHOUSE_HOST
CLICKHOUSE_USERNAME
CLICKHOUSE_PASSWORD
CLICKHOUSE_TRACKER_URL
EMAIL_USER
EMAIL_PASS
EMAIL_FROM
(format de messagerie valide nécessaire)ORCHESTRATOR_ENDPOINT
par http: // localhostNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
sur une chaîne aléatoire de votre choix. Cela fonctionne comme un contournement car les informations d'identification à rayures sont internesRESOURCE_RECOMMENDER_URL
NOTIFICATION_DB_URL
NOTIFICATION_DB_REPLICA_URL
npm run db:migrate
pour exécuter toutes les migrations de la base de données.npm run db:generate
pour générer le client Prisma.npm run dev
.http://localhost:3000/api/webhooks/run-jobs?token=WEBHOOK_TOKEN&run=update-metrics
pour démarrer le travail de mise à jour des métriques (assurez-vous de remplacer WEBHOOK_TOKEN
)docker-compose up -d # Spin up db, redis, maildev, and minio
npm run dev # Start the dev environment
npm run db:migrate -- --name migration-name # Create a database migration with prisma after updating the schema
npm run db:generate # Generates local prisma client
npm run db:ui # Start Prisma Studio to manage the database content
npm run build # Build the NextJS project
Toutes les contributions que vous faites sont grandement appréciées .
Si vous avez une suggestion qui améliorerait cela, veuillez débarquer le dépôt et créer une demande de traction. Vous pouvez également ouvrir simplement un problème avec la balise "amélioration". N'oubliez pas de donner une étoile au projet! Merci encore!
Si vous souhaitez être plus impliqué, envisagez de rejoindre l' équipe de développement communautaire ! Pour plus d'informations sur l'équipe ainsi que sur la façon de vous joindre, voir appeler tous les développeurs: rejoindre l'équipe de développement communautaire de Civitai.
Soutenez ce projet en devenant un sponsor. Votre logo apparaîtra ici avec un lien vers votre site Web.
Licence Apache 2.0 - Veuillez consulter la licence pour plus de détails.