корректные pydantic модели для автоматического определения класса по полю type
This commit is contained in:
parent
b34cbaf677
commit
1e256a545b
11 changed files with 294 additions and 148 deletions
22
README.md
22
README.md
|
|
@ -18,11 +18,11 @@ from lambda_agent_api.agent_api import AgentApi, OM
|
|||
|
||||
|
||||
def my_callback(message):
|
||||
if isinstance(message, OM.Error):
|
||||
if isinstance(message, OM.MsgError):
|
||||
print(f"\n[Ошибка: {message.code}] {message.details}")
|
||||
elif isinstance(message, OM.Status):
|
||||
elif isinstance(message, OM.MsgStatus):
|
||||
print("✓ Agent status update")
|
||||
elif isinstance(message, OM.GracefulDisconnect):
|
||||
elif isinstance(message, OM.MsgGracefulDisconnect):
|
||||
print("✓ Agent gracefully requested disconnect")
|
||||
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ async def main():
|
|||
response = await api.send_message("Привет, агент!")
|
||||
|
||||
async for chunk in response:
|
||||
if isinstance(chunk, OM.EventTextChunk):
|
||||
if isinstance(chunk, OM.MsgEventTextChunk):
|
||||
print(chunk.text, end="", flush=True)
|
||||
|
||||
# После окончания Generation возможно получить EventEnd в очереди и сохранить tokens
|
||||
|
|
@ -75,7 +75,7 @@ try:
|
|||
response = await api.send_message("Your question here")
|
||||
|
||||
async for chunk in response:
|
||||
if isinstance(chunk, OM.EventTextChunk):
|
||||
if isinstance(chunk, OM.MsgEventTextChunk):
|
||||
print(chunk.text, end="", flush=True)
|
||||
|
||||
print("\nDone!")
|
||||
|
|
@ -93,11 +93,11 @@ Callback функция для обработки событий вне гене
|
|||
|
||||
```python
|
||||
def my_callback(message):
|
||||
if isinstance(message, OM.Status):
|
||||
if isinstance(message, OM.MsgStatus):
|
||||
print("Agent status update")
|
||||
elif isinstance(message, OM.Error):
|
||||
elif isinstance(message, OM.MsgError):
|
||||
print(f"Agent error: {message.code} - {message.details}")
|
||||
elif isinstance(message, OM.GracefulDisconnect):
|
||||
elif isinstance(message, OM.MsgGracefulDisconnect):
|
||||
print("Agent disconnecting gracefully")
|
||||
```
|
||||
|
||||
|
|
@ -106,7 +106,7 @@ def my_callback(message):
|
|||
```python
|
||||
import asyncio
|
||||
import websockets
|
||||
from lambda_agent_api.models import ServerMessage, OM
|
||||
from lambda_agent_api.server import ServerMessage, OM
|
||||
|
||||
|
||||
async def main():
|
||||
|
|
@ -128,10 +128,10 @@ async def main():
|
|||
match data:
|
||||
case OM.AgentEvent(subtype=OM.AgentEventType.TEXT_CHUNK):
|
||||
print(data.text, end="", flush=True)
|
||||
case OM.EventEnd():
|
||||
case OM.MsgEventEnd():
|
||||
print(f"\n[Завершено, использовано токенов: {data.tokens_used}]")
|
||||
break
|
||||
case OM.Error():
|
||||
case OM.MsgError():
|
||||
print(f"\n[Ошибка: {data.code}] {data.details}")
|
||||
break
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue