feat(prompt): 增加模板变量有效性检查
- 在 promptTempleta 模型中添加字段验证器 - 验证模板内容是否包含必要的 document_slice 变量 - 如果缺少该变量,抛出 ValueError 异常
This commit is contained in:
parent
2a86b3b5b0
commit
8023233bb2
@ -1,6 +1,7 @@
|
|||||||
from pydantic import BaseModel, Field
|
from pydantic import BaseModel, Field, field_validator
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
|
from langchain.prompts import PromptTemplate
|
||||||
|
|
||||||
class promptTempleta(BaseModel):
|
class promptTempleta(BaseModel):
|
||||||
id: Optional[int] = Field(default=None, description="模板ID")
|
id: Optional[int] = Field(default=None, description="模板ID")
|
||||||
@ -11,3 +12,9 @@ class promptTempleta(BaseModel):
|
|||||||
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
|
default_factory=lambda: datetime.now(timezone.utc).isoformat(),
|
||||||
description="记录创建时间"
|
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
|
Loading…
x
Reference in New Issue
Block a user