1
0
Fork 0

feat(api): add support for negative embeds (#348)

This commit is contained in:
Sean Sube 2023-04-22 10:05:58 -05:00
parent 9e9feb2ea0
commit 7b0095a665
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 14 additions and 0 deletions

View File

@ -35,6 +35,15 @@ def parse_prompt(params: ImageParams) -> Tuple[List[Tuple[str, float]], List[Tup
prompt, inversions = get_inversions_from_prompt(prompt)
params.prompt = prompt
if params.input_negative_prompt is not None:
neg_prompt, neg_loras = get_loras_from_prompt(params.input_negative_prompt)
neg_prompt, neg_inversions = get_inversions_from_prompt(neg_prompt)
params.negative_prompt = neg_prompt
# TODO: check whether these need to be * -1
loras.extend(neg_loras)
inversions.extend(neg_inversions)
return loras, inversions

View File

@ -174,6 +174,7 @@ class ImageParams:
batch: int
control: Optional[NetworkModel]
input_prompt: str
input_negative_prompt: str
def __init__(
self,
@ -189,6 +190,7 @@ class ImageParams:
batch: int = 1,
control: Optional[NetworkModel] = None,
input_prompt: Optional[str] = None,
input_negative_prompt: Optional[str] = None,
) -> None:
self.model = model
self.pipeline = pipeline
@ -202,6 +204,7 @@ class ImageParams:
self.batch = batch
self.control = control
self.input_prompt = input_prompt or prompt
self.input_negative_prompt = input_negative_prompt or negative_prompt
def lpw(self):
return self.pipeline == "lpw"
@ -220,6 +223,7 @@ class ImageParams:
"batch": self.batch,
"control": self.control.name if self.control is not None else "",
"input_prompt": self.input_prompt,
"input_negative_prompt": self.input_negative_prompt,
}
def with_args(self, **kwargs):
@ -236,6 +240,7 @@ class ImageParams:
kwargs.get("batch", self.batch),
kwargs.get("control", self.control),
kwargs.get("input_prompt", self.input_prompt),
kwargs.get("input_negative_prompt", self.input_negative_prompt),
)