refactor(backend): update orchestrator endpoint and services
- endpoints/orchestrator.py: update orchestrator API endpoint - services/agent_conversations.py: update agent conversations service - services/orchestrator.py: update orchestrator service - services/user_agent.py: update user agent service
This commit is contained in:
@@ -48,9 +48,14 @@ def run_orchestrator(payload: OrchestratorRequest, db: DbSession) -> Orchestrato
|
||||
def get_latest_conversation(
|
||||
user_id: Annotated[str, Query(min_length=1, description="当前用户 ID。")],
|
||||
db: DbSession,
|
||||
session_type: Annotated[str | None, Query(description="会话类型,例如 expense / knowledge。")] = None,
|
||||
) -> ConversationLookupResponse:
|
||||
service = AgentConversationService(db)
|
||||
conversation = service.get_latest_conversation_for_user(user_id=user_id, source="user_message")
|
||||
conversation = service.get_latest_conversation_for_user(
|
||||
user_id=user_id,
|
||||
source="user_message",
|
||||
session_type=session_type,
|
||||
)
|
||||
if conversation is None:
|
||||
return ConversationLookupResponse(found=False, conversation=None)
|
||||
|
||||
@@ -60,6 +65,25 @@ def get_latest_conversation(
|
||||
)
|
||||
|
||||
|
||||
@router.delete(
|
||||
"/conversations/{conversation_id}",
|
||||
response_model=ConversationDeleteResponse,
|
||||
summary="删除当前用户单个会话",
|
||||
description="删除当前用户在智能体工作台中的单个会话,用于清空当前 session 内容。",
|
||||
)
|
||||
def delete_single_conversation(
|
||||
conversation_id: str,
|
||||
user_id: Annotated[str, Query(min_length=1, description="当前用户 ID。")],
|
||||
db: DbSession,
|
||||
) -> ConversationDeleteResponse:
|
||||
deleted_count = AgentConversationService(db).delete_conversation(
|
||||
conversation_id=conversation_id,
|
||||
user_id=user_id,
|
||||
source="user_message",
|
||||
)
|
||||
return ConversationDeleteResponse(deleted_count=deleted_count)
|
||||
|
||||
|
||||
@router.delete(
|
||||
"/conversations",
|
||||
response_model=ConversationDeleteResponse,
|
||||
@@ -69,9 +93,11 @@ def get_latest_conversation(
|
||||
def delete_user_conversations(
|
||||
user_id: Annotated[str, Query(min_length=1, description="当前用户 ID。")],
|
||||
db: DbSession,
|
||||
session_type: Annotated[str | None, Query(description="可选,会话类型,例如 expense / knowledge。")] = None,
|
||||
) -> ConversationDeleteResponse:
|
||||
deleted_count = AgentConversationService(db).delete_user_conversations(
|
||||
user_id=user_id,
|
||||
source="user_message",
|
||||
session_type=session_type,
|
||||
)
|
||||
return ConversationDeleteResponse(deleted_count=deleted_count)
|
||||
|
||||
Reference in New Issue
Block a user