Dieses Repository enthält eine Reihe von Bentoml -Beispielprojekten, die demonstrieren, wie verschiedene Modelle in der stabilen Diffusionsfamilie (SD) bereitgestellt werden, die sich auf die Erzeugung und Manipulation von Bildern oder Videoclips spezialisiert ist, basierend auf Textanforderungen.
Eine vollständige Liste von Bentoml -Beispielprojekten finden Sie hier.
Die folgende Anleitung verwendet als Beispiel SDXL Turbo.
Wenn Sie den Service lokal testen möchten, empfehlen wir Ihnen, eine NVIDIA -GPU mit mindestens 12 GB VRAM zu verwenden.
git clone https://github.com/bentoml/BentoDiffusion.git
cd BentoDiffusion/sdxl-turbo
# Recommend Python 3.11
pip install -r requirements.txt Wir haben einen Bentoml -Service im service.py definiert. Führen Sie bentoml serve , um den Service zu starten.
$ 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 %Der Server ist jetzt unter http: // localhost: 3000 aktiv. Sie können mit der Swagger -Benutzeroberfläche oder auf andere verschiedene Arten damit interagieren.
Locken
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
} 'Python -Kunde
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
)Ausführliche Erläuterungen des Servicescode finden Sie in stabilem Diffusion XL Turbo.
Nachdem der Dienst fertig ist, können Sie die Anwendung für eine bessere Verwaltung und Skalierbarkeit auf Bentocloud bereitstellen. Melden Sie sich an, wenn Sie kein Bentocloud -Konto haben.
Stellen Sie sicher, dass Sie sich bei Bentocloud angemeldet haben, und führen Sie den folgenden Befehl aus, um ihn bereitzustellen.
bentoml deploy .Sobald die Anwendung auf Bentocloud in Betrieb ist, können Sie über die freiliegende URL darauf zugreifen.
HINWEIS : Verwenden Sie für die benutzerdefinierte Bereitstellung in Ihrer eigenen Infrastruktur Bentoml, um ein OCI-konforme Bild zu generieren.
Um ein anderes Diffusionsmodell bereitzustellen, gehen Sie zu den entsprechenden Unterverzeichnissen dieses Repositorys.