# 预设提示词模板库 # 使用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}")