Diffusers documentation
İstemleme
İstemleme
Prompts, bir modelin ne üretmesi gerektiğini açıklar. İyi promptlar detaylı, spesifik ve yapılandırılmıştır; daha iyi görüntüler ve videolar üretirler.
Bu kılavuz, etkili istemler (prompts) yazmanızı gösterir ve onları daha güçlü kılan teknikleri tanıtır.
İyi istemler yazma
Her etkili istem üç temel öğe gerektirir.
- Konu - üretmek istediğiniz şey. Prompt'unuzu buradan başlatın.
- Stil - ortam veya estetik. Nasıl görünmeli?
- Bağlam - eylemler, ortam ve ruh hali hakkında ayrıntılar.
Bu öğeleri bir anahtar kelime listesi olarak değil, yapılandırılmış bir anlatı olarak kullanın. Modern modeller, anahtar kelime eşleştirmeden daha iyi dil anlar. Basit başlayın, ardından detaylar ekleyin.
Bağlam, daha iyi istemler oluşturmak için özellikle önemlidir. Işıklandırma, sanatsal detaylar ve ruh hali eklemeyi deneyin.
Belirli olun ve bağlam ekleyin. Lens tipi, odak uzaklığı, kamera açıları ve derinlik alanı gibi fotoğrafçılık terimlerini kullanın.
Prompt yapınızı iyileştirmeye yardımcı olmak için bir prompt enhancer deneyin.
Yönlendirme ve negatifler
Çoğu Diffusers hattı, örneklemeyi hâlâ sınıflandırıcı-ücretsiz yönlendirme ve isteğe bağlı negative_prompt ile yönlendirir.
Stable Diffusion ailesi pipeline'larında guidance_scale ve negative_prompt parametrelerini iletin. Daha yüksek guidance_scale değerleri, komutu daha yakından takip eder. Çok yüksek değerler, görüntülerin yapay veya aşırı doygun görünmesine neden olabilir.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"stable-diffusion-v1-5/stable-diffusion-v1-5", dtype=torch.float16, device_map="cuda" # or "mps", "xpu", "cpu"
)
image = pipeline(
prompt="a cozy reading nook with afternoon light",
negative_prompt="blurry, low quality, distorted",
guidance_scale=7.5,
).images[0]Qwen-Image ve Flux gibi daha yeni checkpoint'lerde klasik CFG genellikle true_cfg_scale ile birlikte negative_prompt kullanılır. Negatifler, gerçek CFG etkinleştirildiğinde (true_cfg_scale > 1 ve bir negative_prompt) hâlâ uygulanır. guidance_scale argümanı, transformer bunu destekliyorsa damıtılmış veya gömülü yönlendirmedir; bu, aynı şey değildir. Yüklediğiniz modelin pipeline API'sini kontrol edin.
Modüler Diffusers, yönlendirme algoritmasını bir yönlendiriciyle değiştirebilir. Yönlendiriciler bölümüne bakın.
İstem ağırlıklandırma
Prompt ağırlıklandırma, bazı kelimeleri daha güçlü, diğerlerini ise daha zayıf hale getirir. Dikkat skorlarını ölçekleyerek her bir kavramın ne kadar etkili olacağını kontrol edersiniz.
Diffusers, ölçeklendirilmiş metin gömme vektörlerini alan prompt_embeds ve pooled_prompt_embeds argümanları aracılığıyla bunu yönetir. Bu gömme vektörlerini oluşturmak için sd_embed kütüphanesini kullanın. Ayrıca daha uzun istemleri de destekler. Daha basit bir sözdizimiyle Stable Diffusion ailesi ağırlıklandırması için Compel kullanabilirsiniz.
sd_embed kütüphanesi yalnızca Stable Diffusion, Stable Diffusion XL, Stable Diffusion 3, Stable Cascade ve Flux'u destekler. Prompt ağırlıklandırması, zaten promptlara yakın uyum sağlayan Flux sınıfı modellerde her zaman işe yaramaz.
uv pip install git+https://github.com/xhinker/sd_embed.git@main
Ağırlıklı metni sayısal çarpanlar veya parantezlerle biçimlendirin. Daha fazla parantez, daha güçlü ağırlıklandırma anlamına gelir.
| biçim | çarpan |
|---|---|
(cat) | 1,1 kat artar |
((cat)) | 1.21x artar |
(cat:1.5) | 1,5 kat artar |
(cat:0.5) | ağırlığı 0.5× olarak ayarla |
Ağırlıklı bir istem oluşturun ve gömme (embedding) üretmek için get_weighted_text_embeddings_sdxl fonksiyonuna iletin.
Negatif istemleri
negative_prompt_embedsvenegative_pooled_prompt_embedsparametrelerine de iletebilirsiniz.
import torch
from diffusers import DiffusionPipeline
from sd_embed.embedding_funcs import get_weighted_text_embeddings_sdxl
pipeline = DiffusionPipeline.from_pretrained(
"Lykon/dreamshaper-xl-1-0", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
A (cute cat:1.4) lounges on a (floating leaf:1.2) in a (sparkling pool:1.1) during a peaceful summer afternoon.
Gentle ripples reflect pastel skies, while (sunlight:1.1) casts soft highlights. The illustration is smooth and polished
with elegant, sketchy lines and subtle gradients, evoking a ((whimsical, nostalgic, dreamy lofi atmosphere:2.0)),
(anime-inspired:1.6), calming, comforting, and visually serene.
"""
prompt_embeds, _, pooled_prompt_embeds, *_ = get_weighted_text_embeddings_sdxl(pipeline, prompt=prompt)Görsel oluşturmak için gömme değerlerini prompt_embeds ve pooled_prompt_embeds parametrelerine iletin.
image = pipeline(prompt_embeds=prompt_embeds, pooled_prompt_embeds=pooled_prompt_embeds).images[0]