diff --git a/schema/prompt.py b/schema/prompt.py index a6143e3..a2d9122 100644 --- a/schema/prompt.py +++ b/schema/prompt.py @@ -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="记录创建时间" - ) \ No newline at end of file + ) + + @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 \ No newline at end of file