#5 Реализовать клиентскую часть канала общения.Добавлен класс AgentApi, реализованный контекстным менеджером. Добавлен init.py для пакета api. В uv добавлена зависимость aiohttp
This commit is contained in:
parent
5f5dd3e83e
commit
dab8cf6335
6 changed files with 581 additions and 15 deletions
|
|
@ -12,8 +12,8 @@ class IM:
|
|||
class Type(str, Enum):
|
||||
USER_MESSAGE = "USER_MESSAGE"
|
||||
|
||||
|
||||
# noinspection PyPep8Naming
|
||||
|
||||
class UserMessage(BaseModel):
|
||||
"""
|
||||
Полное сообщение от пользователя.
|
||||
|
|
@ -49,7 +49,6 @@ class OM:
|
|||
ERROR = "ERROR"
|
||||
GRACEFUL_DISCONNECT = "GRACEFUL_DISCONNECT"
|
||||
|
||||
|
||||
class Status(BaseModel):
|
||||
"""
|
||||
Отправляется сервером при открытии соединения с клиентом.
|
||||
|
|
@ -57,12 +56,10 @@ class OM:
|
|||
"""
|
||||
type: Literal[OM.Type.STATUS]
|
||||
|
||||
|
||||
class AgentEventType(str, Enum):
|
||||
TEXT_CHUNK = "TEXT_CHUNK"
|
||||
END = "END"
|
||||
|
||||
|
||||
class AgentEvent(BaseModel):
|
||||
"""
|
||||
Базовый класс для ивентов, которые стримит агент во время генерации ответа.
|
||||
|
|
@ -71,7 +68,6 @@ class OM:
|
|||
type: Literal[OM.Type.AGENT_EVENT]
|
||||
subtype: OM.AgentEventType
|
||||
|
||||
|
||||
class EventTextChunk(AgentEvent):
|
||||
"""
|
||||
Чанк текста ответа агента.
|
||||
|
|
@ -79,7 +75,6 @@ class OM:
|
|||
subtype: Literal[OM.AgentEventType.TEXT_CHUNK]
|
||||
text: str
|
||||
|
||||
|
||||
class EventEnd(AgentEvent):
|
||||
"""
|
||||
Агент закончил генерацию ответа.
|
||||
|
|
@ -87,7 +82,6 @@ class OM:
|
|||
subtype: Literal[OM.AgentEventType.END]
|
||||
tokens_used: int
|
||||
|
||||
|
||||
class Error(BaseModel):
|
||||
"""
|
||||
Неопределенная ошибка в работе агента.
|
||||
|
|
@ -96,7 +90,6 @@ class OM:
|
|||
code: str
|
||||
details: str
|
||||
|
||||
|
||||
class GracefulDisconnect(BaseModel):
|
||||
"""
|
||||
Отправляется перед завершением работы контейнера с агентом. Например, при долгом бездействии.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue