From ecabeb39ae41d9b60480f3bca4b0f8c87b14a610 Mon Sep 17 00:00:00 2001 From: z30057876 Date: Tue, 21 Jan 2025 09:22:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AD=97=E6=AE=B5=EF=BC=8C?= =?UTF-8?q?=E7=AC=A6=E5=90=88restful=E9=A3=8E=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/common/queue.py | 4 ++-- apps/entities/flow.py | 2 +- apps/entities/plugin.py | 9 --------- apps/entities/record.py | 3 +-- apps/entities/request_data.py | 2 +- apps/entities/response_data.py | 37 +++++++++++++++++----------------- apps/entities/task.py | 4 ++-- 7 files changed, 26 insertions(+), 35 deletions(-) diff --git a/apps/common/queue.py b/apps/common/queue.py index e2d4cbe2..0aac111d 100644 --- a/apps/common/queue.py +++ b/apps/common/queue.py @@ -72,12 +72,12 @@ class MessageQueue: ) else: # 如果new_history不为空,则说明是继续执行,使用最后一个FlowHistory - history = tcb.flow_context[tcb.flow_state.step_name] + history = tcb.flow_context[tcb.flow_state.step_id] flow = MessageFlow( appId=history.plugin_id, flowId=history.flow_id, - stepId=history.step_name, + stepId=history.step_id, stepStatus=history.status, ) else: diff --git a/apps/entities/flow.py b/apps/entities/flow.py index bf7ab753..d1b2111d 100644 --- a/apps/entities/flow.py +++ b/apps/entities/flow.py @@ -51,7 +51,7 @@ class FlowError(BaseModel): """Flow的错误处理节点""" use_llm: bool = Field(description="是否使用LLM处理错误") - output_format: Optional[str] = Field(description="错误处理节点的输出格式") + output_format: Optional[str] = Field(description="错误处理节点的输出格式", default=None) class Flow(BaseModel): diff --git a/apps/entities/plugin.py b/apps/entities/plugin.py index 5dddc6c0..0855100a 100644 --- a/apps/entities/plugin.py +++ b/apps/entities/plugin.py @@ -10,15 +10,6 @@ from apps.common.queue import MessageQueue from apps.entities.task import FlowHistory, RequestDataPlugin -class PluginData(BaseModel): - """插件数据格式""" - - id: str - name: str - description: str - auth: dict[str, Any] = {} - - class CallResult(BaseModel): """Call运行后的返回值""" diff --git a/apps/entities/record.py b/apps/entities/record.py index 7fc2c105..95e86897 100644 --- a/apps/entities/record.py +++ b/apps/entities/record.py @@ -30,7 +30,7 @@ class RecordDocument(Document): class RecordFlowStep(BaseModel): """Record表子项:flow的单步数据结构""" - step_name: str = Field(alias="stepName") + step_id: str = Field(alias="stepId") step_status: StepStatus = Field(alias="stepStatus") input: dict[str, Any] output: dict[str, Any] @@ -50,7 +50,6 @@ class RecordData(BaseModel): """GET /api/record/{conversation_id} Result内元素数据结构""" id: str - app_id: str = Field(alias="appId") group_id: str = Field(alias="groupId") conversation_id: str = Field(alias="conversationId") task_id: str = Field(alias="taskId") diff --git a/apps/entities/request_data.py b/apps/entities/request_data.py index 10bc63d6..bdb8693a 100644 --- a/apps/entities/request_data.py +++ b/apps/entities/request_data.py @@ -74,7 +74,7 @@ class ModifyConversationData(BaseModel): class DeleteConversationData(BaseModel): """删除会话""" - conversation_list: list[str] = Field(...) + conversation_list: list[str] = Field(alias="conversationList") class AddCommentData(BaseModel): diff --git a/apps/entities/response_data.py b/apps/entities/response_data.py index 50926e73..fcb9c4d8 100644 --- a/apps/entities/response_data.py +++ b/apps/entities/response_data.py @@ -6,11 +6,11 @@ from typing import Any, Optional from pydantic import BaseModel, Field -from apps.entities.collection import Blacklist, Document,NodeMetaData +from apps.entities.collection import Blacklist, Document, NodeMetaData from apps.entities.enum_var import DocumentStatus -from apps.entities.plugin import PluginData +from apps.entities.flow import EdgeItem, FlowItem, NodeItem, PositionItem from apps.entities.record import RecordData -from apps.entities.flow import PositionItem,FlowItem,NodeItem,EdgeItem + class ResponseData(BaseModel): """基础返回数据结构""" @@ -74,17 +74,6 @@ class HealthCheckRsp(BaseModel): status: str -class GetPluginListMsg(BaseModel): - """GET /api/plugin Result数据结构""" - - plugins: list[PluginData] - -class GetPluginListRsp(ResponseData): - """GET /api/plugin 返回数据结构""" - - result: GetPluginListMsg - - class GetBlacklistUserMsg(BaseModel): """GET /api/blacklist/user Result数据结构""" @@ -112,10 +101,10 @@ class GetBlacklistQuestionRsp(ResponseData): class ConversationListItem(BaseModel): """GET /api/conversation Result数据结构""" - conversation_id: str + conversation_id: str = Field(alias="conversationId") title: str - doc_count: int - created_time: str + doc_count: int = Field(alias="docCount") + created_time: str = Field(alias="createdTime") class ConversationListMsg(BaseModel): """GET /api/conversation Result数据结构""" @@ -129,10 +118,22 @@ class ConversationListRsp(ResponseData): result: ConversationListMsg +class DeleteConversationMsg(BaseModel): + """DELETE /api/conversation Result数据结构""" + + conversation_id_list: list[str] = Field(alias="conversationIdList") + + +class DeleteConversationRsp(ResponseData): + """DELETE /api/conversation 返回数据结构""" + + result: DeleteConversationMsg + + class AddConversationMsg(BaseModel): """POST /api/conversation Result数据结构""" - conversation_id: str + conversation_id: str = Field(alias="conversationId") class AddConversationRsp(ResponseData): diff --git a/apps/entities/task.py b/apps/entities/task.py index 62e8c34f..d294492f 100644 --- a/apps/entities/task.py +++ b/apps/entities/task.py @@ -21,7 +21,7 @@ class FlowHistory(BaseModel): id: str = Field(default_factory=lambda: str(uuid.uuid4()), alias="_id") task_id: str = Field(description="任务ID") flow_id: str = Field(description="FlowID") - step_name: str = Field(description="当前步骤名称") + step_id: str = Field(description="当前步骤名称") status: StepStatus = Field(description="当前步骤状态") input_data: dict[str, Any] = Field(description="当前Step执行的输入", default={}) output_data: dict[str, Any] = Field(description="当前Step执行后的结果", default={}) @@ -36,7 +36,7 @@ class ExecutorState(BaseModel): description: str = Field(description="执行器描述") status: StepStatus = Field(description="执行器状态") # 附加信息 - step_name: str = Field(description="当前步骤名称") + step_id: str = Field(description="当前步骤名称") app_id: str = Field(description="应用ID") # 运行时数据 thought: str = Field(description="大模型的思考内容", default="") -- Gitee