AI图片
This commit is contained in:
31
api/prompts.py
Normal file
31
api/prompts.py
Normal file
@@ -0,0 +1,31 @@
|
||||
# 预设提示词模板库
|
||||
# 使用Python的format语法进行参数替换,例如 {keyword}
|
||||
|
||||
PROMPTS = {
|
||||
"flower_shop": "一间有着精致窗户的花店,漂亮的木质门,摆放着{flower_type},风格为{style}",
|
||||
"landscape": "宏伟的{season}自然风景,包含{element},光线为{lighting},高分辨率,写实风格",
|
||||
"cyberpunk_city": "赛博朋克风格的未来城市,霓虹灯闪烁,{weather}天气,街道上有{vehicle}",
|
||||
"portrait": "一张{gender}的肖像照,{expression}表情,背景是{background},专业摄影布光",
|
||||
"default": "一间有着精致窗户的花店,漂亮的木质门,摆放着花朵"
|
||||
}
|
||||
|
||||
def get_prompt(template_id: str, **kwargs) -> str:
|
||||
"""
|
||||
获取并格式化提示词
|
||||
:param template_id: 提示词模板ID
|
||||
:param kwargs: 替换参数
|
||||
:return: 格式化后的提示词
|
||||
"""
|
||||
template = PROMPTS.get(template_id)
|
||||
if not template:
|
||||
return None
|
||||
|
||||
try:
|
||||
# 使用 safe_substitute 避免参数缺失报错?
|
||||
# Python的format如果缺参数会报错,这里直接用format,让调用者负责提供完整参数
|
||||
# 或者我们可以在这里处理默认值
|
||||
return template.format(**kwargs)
|
||||
except KeyError as e:
|
||||
# 如果缺少参数,抛出异常或返回包含未替换占位符的字符串
|
||||
# 这里为了简单,如果出错,我们尽量保留原样或者报错
|
||||
raise ValueError(f"缺少提示词参数: {e}")
|
||||
Reference in New Issue
Block a user