mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-12-05 03:18:51 +00:00
### What problem does this PR solve? Refactor prompts into markdown-style structure using Jinja2. ### Type of change - [x] Refactoring
22 lines
549 B
Python
22 lines
549 B
Python
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
|