refactor: formaliza contratos de streaming e ciclo de vida dos provedores
This commit is contained in:
@@ -16,7 +16,7 @@ Does not manage:
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from collections.abc import AsyncIterator
|
||||
from collections.abc import AsyncGenerator
|
||||
from contextlib import aclosing
|
||||
|
||||
from deepagents import create_deep_agent
|
||||
@@ -24,7 +24,7 @@ from langchain_core.messages import HumanMessage
|
||||
from langchain_oci import ChatOCIGenAI
|
||||
from langgraph.checkpoint.memory import MemorySaver
|
||||
|
||||
from voice_assistant.agent.adapter import AgentAdapter
|
||||
from voice_assistant.agent.adapter import StreamingAgentAdapter
|
||||
|
||||
DEFAULT_SYSTEM_PROMPT = """
|
||||
Você é o AgentVoice, um assistente pessoal por voz. Que responde pelo nome de Roberta.
|
||||
@@ -41,7 +41,7 @@ de ferramentas que não foram executadas.
|
||||
"""
|
||||
|
||||
|
||||
class DeepAgentsAdapter(AgentAdapter):
|
||||
class DeepAgentsAdapter(StreamingAgentAdapter):
|
||||
def __init__(
|
||||
self,
|
||||
region: str,
|
||||
@@ -133,7 +133,7 @@ class DeepAgentsAdapter(AgentAdapter):
|
||||
session_id: str,
|
||||
turn_id: int,
|
||||
text: str,
|
||||
) -> AsyncIterator[str]:
|
||||
) -> AsyncGenerator[str, None]:
|
||||
if self._closed:
|
||||
raise RuntimeError("Deep Agent is closed.")
|
||||
|
||||
@@ -169,5 +169,5 @@ class DeepAgentsAdapter(AgentAdapter):
|
||||
if self._closed:
|
||||
return
|
||||
|
||||
self._closed = True
|
||||
await self.model.aclose()
|
||||
self._closed = True
|
||||
|
||||
Reference in New Issue
Block a user