28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
"""Agent HTTP 请求与结果,不向前端暴露内部 Graph State"""
|
|
|
|
from typing import Literal
|
|
from uuid import UUID
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
from app.schemas.actions import Action
|
|
from app.schemas.clarification import Clarification
|
|
from app.schemas.clarification_reply import ClarificationReply
|
|
|
|
|
|
class ResumeRequest(BaseModel):
|
|
thread_id: UUID
|
|
reply: ClarificationReply
|
|
|
|
|
|
class AgentResult(BaseModel):
|
|
conversation_id: str # 当前聊天会话 ID
|
|
thread_id: str # 当前任务 ID
|
|
message_id: str # 本次用户输入的 ID,不是助手回复 ID
|
|
status: Literal["completed", "waiting_for_input", "failed", "cancelled"]
|
|
actions: list[Action] = Field(default_factory=list)
|
|
answer: str | None = None # 回答,或失败时由模型总结的原因说明
|
|
# 可以一键发送的后续请求,前端显示成按钮,点了就作为下一条消息发出;目前只有问答查了数据后的"放到大屏上"
|
|
suggestions: list[str] = Field(default_factory=list)
|
|
clarification: Clarification | None = None
|