feat(prompt): 增加模板变量有效性检查

- 在 promptTempleta 模型中添加字段验证器
- 验证模板内容是否包含必要的 document_slice 变量
- 如果缺少该变量,抛出 ValueError 异常
This commit is contained in:
carry 2025-04-15 16:54:17 +08:00
parent 2a86b3b5b0
commit 8023233bb2

View File

@ -1,6 +1,7 @@
from pydantic import BaseModel, Field
from pydantic import BaseModel, Field, field_validator
from typing import Optional
from datetime import datetime, timezone
from langchain.prompts import PromptTemplate
class promptTempleta(BaseModel):
id: Optional[int] = Field(default=None, description="模板ID")
@ -10,4 +11,10 @@ class promptTempleta(BaseModel):
created_at: str = Field(
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
description="记录创建时间"
)
)
@field_validator('content')
def validate_content(cls, value):
if not "document_slice" in PromptTemplate.from_template(value).input_variables:
raise ValueError("模板变量缺少 document_slice")
return value