Spaces:
Sleeping
Sleeping
| from typing import List | |
| from aworld.cmd import AgentModel, ChatCompletionMessage, ChatCompletionRequest | |
| from aworld.session.base_session_service import BaseSessionService | |
| from aworld.session.simple_session_service import SimpleSessionService | |
| class AgentServer: | |
| def __init__( | |
| self, | |
| server_id: str, | |
| server_name: str, | |
| session_service: BaseSessionService = None, | |
| ): | |
| """ | |
| Initialize AgentServer | |
| """ | |
| self.server_id = server_id | |
| self.server_name = server_name | |
| self.agent_list = [] | |
| self.session_service = session_service or SimpleSessionService() | |
| def get_session_service(self) -> BaseSessionService: | |
| return self.session_service | |
| def get_agent_list(self) -> List[AgentModel]: | |
| return self.agent_list | |
| async def on_chat_completion_request(self, request: ChatCompletionRequest): | |
| await self.get_session_service().append_messages( | |
| request.user_id, | |
| request.session_id, | |
| request.messages, | |
| ) | |
| async def on_chat_completion_end( | |
| self, request: ChatCompletionRequest, final_response: str | |
| ): | |
| await self.get_session_service().append_messages( | |
| request.user_id, | |
| request.session_id, | |
| [ | |
| ChatCompletionMessage( | |
| role="assistant", | |
| content=final_response, | |
| trace_id=request.trace_id, | |
| ), | |
| ], | |
| ) | |
| CURRENT_SERVER = AgentServer(server_id="default", server_name="default") | |