25 lines
1013 B
Python
25 lines
1013 B
Python
"""助手提出的待确认修改,下一轮用户同意时直接执行,不再从历史文本里猜"""
|
|
|
|
from pydantic import Field
|
|
|
|
from app.schemas.base import ExtensibleModel, NonBlankString
|
|
|
|
# 提议字段的定义只写一次,直接生成和从回答中提取共用
|
|
OFFER_DESCRIPTION = (
|
|
"用户同意后要执行的独立完整修改指令,写明目标组件和修改内容,例如“把销售额统计从柱状图改成折线图”;"
|
|
"回复没有询问用户是否需要执行某个具体修改时为 null"
|
|
)
|
|
|
|
|
|
class InformReply(ExtensibleModel):
|
|
answer: NonBlankString = Field(
|
|
description="面向用户的回复:说明原因;提供 offer 时以询问是否需要执行的问句结尾"
|
|
)
|
|
offer: NonBlankString | None = Field(default=None, description=OFFER_DESCRIPTION)
|
|
|
|
|
|
class ExtractedOffer(ExtensibleModel):
|
|
"""从已经流式输出的普通回答中提取的提议"""
|
|
|
|
offer: NonBlankString | None = Field(default=None, description=OFFER_DESCRIPTION)
|