Ce référentiel contient une série de projets d'exemples de Bentoml, démontrant comment déployer différents modèles dans la famille de diffusion stable (SD), qui est spécialisé dans la génération et la manipulation d'images ou de clips vidéo basés sur des invites de texte.
Voir ici pour une liste complète des exemples de projets Bentoml.
Le guide suivant utilise SDXL Turbo comme exemple.
Si vous souhaitez tester le service localement, nous vous recommandons d'utiliser un GPU NVIDIA avec au moins 12 Go de VRAM.
git clone https://github.com/bentoml/BentoDiffusion.git
cd BentoDiffusion/sdxl-turbo
# Recommend Python 3.11
pip install -r requirements.txt Nous avons défini un service Bentoml dans service.py . Exécutez bentoml serve dans votre répertoire de projet pour démarrer le service.
$ bentoml serve .
2024 - 01 - 18 T18 : 31 : 49 + 0800 [ INFO ] [ cli ] Starting production HTTP BentoServer from "service:SDXLTurboService" listening on http : // localhost : 3000 ( Press CTRL + C to quit )
Loading pipeline components ...: 100 %Le serveur est maintenant actif sur http: // localhost: 3000. Vous pouvez interagir avec lui en utilisant l'interface utilisateur de Swagger ou d'autres manières.
BOUCLE
curl -X ' POST '
' http://localhost:3000/txt2img '
-H ' accept: image/* '
-H ' Content-Type: application/json '
-d ' {
"prompt": "A cinematic shot of a baby racoon wearing an intricate italian priest robe.",
"num_inference_steps": 1,
"guidance_scale": 0
} 'Client python
import bentoml
with bentoml . SyncHTTPClient ( "http://localhost:3000" ) as client :
result = client . txt2img (
prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe." ,
num_inference_steps = 1 ,
guidance_scale = 0.0
)Pour des explications détaillées du code de service, voir STABLE DIFUSION XL TURBO.
Une fois le service prêt, vous pouvez déployer l'application sur Bentocloud pour une meilleure gestion et une meilleure évolutivité. Inscrivez-vous si vous n'avez pas de compte Bentocloud.
Assurez-vous que vous vous êtes connecté à Bentocloud, puis exécutez la commande suivante pour la déployer.
bentoml deploy .Une fois que l'application est opérationnelle sur Bentocloud, vous pouvez y accéder via l'URL exposée.
Remarque : Pour le déploiement personnalisé dans votre propre infrastructure, utilisez Bentoml pour générer une image conforme à l'OCI.
Pour déployer un modèle de diffusion différent, accédez aux sous-répertoires correspondants de ce référentiel.