Refa: refactor prompts into markdown-style structure using Jinja2 (#8667)

### What problem does this PR solve?

Refactor prompts into markdown-style structure using Jinja2.

### Type of change

- [x] Refactoring
This commit is contained in:
Yongteng Lei
2025-07-04 15:59:41 +08:00
committed by GitHub
parent 1cf24be04b
commit a306a6f158
11 changed files with 350 additions and 253 deletions

21
rag/prompt_template.py Normal file
View File

@ -0,0 +1,21 @@
import os
BASE_DIR = os.path.dirname(__file__)
PROMPT_DIR = os.path.join(BASE_DIR, "prompts")
_loaded_prompts = {}
def load_prompt(name: str) -> str:
if name in _loaded_prompts:
return _loaded_prompts[name]
path = os.path.join(PROMPT_DIR, f"{name}.md")
if not os.path.isfile(path):
raise FileNotFoundError(f"Prompt file '{name}.md' not found in prompts/ directory.")
with open(path, "r", encoding="utf-8") as f:
content = f.read().strip()
_loaded_prompts[name] = content
return content