18 lines
521 B
Python
18 lines
521 B
Python
import hashlib
|
|
from pathlib import Path
|
|
from functools import lru_cache
|
|
|
|
_PROMPTS_DIR = Path(__file__).resolve().parent
|
|
|
|
|
|
@lru_cache(maxsize=16)
|
|
def load_prompt(name: str) -> tuple[str, str]:
|
|
"""加载提示词文件,返回 (content, prompt_version)。
|
|
|
|
prompt_version = 文件内容 MD5 前 8 位,用于审计追溯。
|
|
"""
|
|
path = _PROMPTS_DIR / f'{name}.md'
|
|
content = path.read_text(encoding='utf-8')
|
|
version = hashlib.md5(content.encode('utf-8')).hexdigest()[:8]
|
|
return content, version
|