Spaces:
Runtime error
Runtime error
File size: 887 Bytes
105b369 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
from typing import Optional, Dict, Any
from collections import defaultdict
from pydantic import BaseModel, ConfigDict
from phi.utils.log import logger
class PromptTemplate(BaseModel):
id: Optional[str] = None
template: str
default_params: Optional[Dict[str, Any]] = None
ignore_missing_keys: bool = False
default_factory: Optional[Any] = None
model_config = ConfigDict(arbitrary_types_allowed=True)
def get_prompt(self, **kwargs) -> str:
template_params = (self.default_factory or defaultdict(str)) if self.ignore_missing_keys else {}
if self.default_params:
template_params.update(self.default_params)
template_params.update(kwargs)
try:
return self.template.format_map(template_params)
except KeyError as e:
logger.error(f"Missing template parameter: {e}")
raise
|