feat: 新增需求理解并实现human in loop

This commit is contained in:
2026-09-23 11:41:20 +08:00
parent dd7138598d
commit eb93a1b25b
2 changed files with 62 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
"""用户恢复澄清流程时提交的内容"""
from typing import Self
from pydantic import model_validator
from app.schemas.base import ExtensibleModel, NonBlankString
from app.schemas.request import RequestContext
from app.schemas.screen import Screen
class ClarificationReply(ExtensibleModel):
answer: NonBlankString | None = None
option_id: NonBlankString | None = None
cancel: bool = False
# 不传时沿用暂停前的快照,传入时完整替换对应字段
screen: Screen | None = None
context: RequestContext | None = None
@model_validator(mode="after")
def require_answer(self) -> Self:
if not self.cancel and self.answer is None and self.option_id is None:
raise ValueError("请提供回答,或设置 cancel=true 取消")
return self