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") | |