Duibonduil's picture
Upload 3 files
297ed13 verified
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")