mirror of
https://github.com/vegu-ai/talemate.git
synced 2025-12-16 03:37:51 +01:00
Refactor prompt building logic in VisualPrompt class for improved readability and maintainability. Adjust formatting in validation module to ensure consistent newline handling.
This commit is contained in:
@@ -139,7 +139,7 @@ class VisualPrompt(pydantic.BaseModel):
|
||||
@property
|
||||
def negative_prompt(self) -> str:
|
||||
return self._build_prompt(self.prompt_type, False)
|
||||
|
||||
|
||||
@property
|
||||
def positive_prompt_keywords(self) -> str:
|
||||
return self._build_prompt(PROMPT_TYPE.KEYWORDS, True)
|
||||
@@ -160,15 +160,22 @@ class VisualPrompt(pydantic.BaseModel):
|
||||
prompt: list[str] = []
|
||||
if prompt_type == PROMPT_TYPE.KEYWORDS:
|
||||
for part in self.parts:
|
||||
prompt.extend(part.positive_keywords if positive else part.negative_keywords)
|
||||
prompt.extend(
|
||||
part.positive_keywords if positive else part.negative_keywords
|
||||
)
|
||||
return ", ".join(dict.fromkeys(prompt))
|
||||
elif prompt_type == PROMPT_TYPE.DESCRIPTIVE:
|
||||
for part in self.parts:
|
||||
if part.positive_descriptive if positive else part.negative_descriptive:
|
||||
prompt.append(part.positive_descriptive if positive else part.negative_descriptive)
|
||||
prompt.append(
|
||||
part.positive_descriptive
|
||||
if positive
|
||||
else part.negative_descriptive
|
||||
)
|
||||
return "\n\n".join(prompt)
|
||||
return ""
|
||||
|
||||
|
||||
class BackendStatus(pydantic.BaseModel):
|
||||
type: BackendStatusType
|
||||
message: str | None = None
|
||||
|
||||
@@ -317,6 +317,6 @@ class ValidateAssetID(ValidateNode):
|
||||
err_msg = self.make_error_message(value, "Asset `{value}` does not exist")
|
||||
log.debug("Asset does not exist", value=value, err_msg=err_msg)
|
||||
raise InputValueError(self, "value", err_msg)
|
||||
|
||||
|
||||
self.set_output_values({"asset": scene.assets.get_asset(value)})
|
||||
return value
|
||||
return value
|
||||
|
||||
Reference in New Issue
Block a user