Cliente De Modelo
Saptiva-Agents proporciona un cliente de modelo integrado para usar la API de ChatCompletion. Todos los clientes de modelo implementan la clase protocolo ChatCompletionClient.
Actualmente soportamos los siguientes clientes de modelo integrados:
SaptivaAIChatCompletionClient: para modelos de Saptiva alojados en Ollama y modelos compatibles con la API de OpenAI.
Llamar a un Registro de Modelo
Saptiva-Agents usa el módulo estándar de logging de Python para registrar eventos como llamadas y respuestas del modelo. El nombre del logger es autogen_core.EVENT_LOGGER_NAME, y el tipo de evento es LLMCall.
import logging
from saptiva_agents.core import EVENT_LOGGER_NAME
logging.basicConfig(level=logging.WARNING)
logger = logging.getLogger(EVENT_LOGGER_NAME)
logger.addHandler(logging.StreamHandler())
logger.setLevel(logging.INFO)Llamar a un Cliente de Modelo
Para llamar a un cliente de modelo, puedes usar el método create(). Este ejemplo utiliza SaptivaAIChatCompletionClient para llamar a un modelo de OpenAI.
from saptiva_agents.models import UserMessage
from saptiva_agents.base import SaptivaAIChatCompletionClient
model_client = SaptivaAIChatCompletionClient(
model="Saptiva Legacy", temperature=0.3, apy_key="TU_SAPTIVA_API_KEY"
)
result = await model_client.create([UserMessage(content="What is the capital of France?", source="user")])
print(result)Transmisión de Tokens
Puedes usar el método create_stream() para crear una solicitud de chat con transmisión de tokens.
Salida Estructurada
La salida estructurada puede habilitarse estableciendo el campo response_format en OpenAIChatCompletionClient o AzureOpenAIChatCompletionClient como una clase BaseModel de Pydantic.
También puedes usar el parámetro extra_create_args en create() para establecer response_format por solicitud.
Construir un Agente con un Cliente de Modelo
Creamos un agente simple de IA que responde usando la API ChatCompletion.
La clase SimpleAgent es una subclase de saptiva_agents.core.RoutedAgent, lo que proporciona la conveniencia de enrutar automáticamente los mensajes a los controladores correspondientes. Tiene un único controlador, handle_user_message, que maneja mensajes del usuario. Utiliza el ChatCompletionClient para generar una respuesta al mensaje y luego devuelve dicha respuesta al usuario, siguiendo el modelo de comunicación directa.
Crear y Probar el Agente:
El SimpleAgent anterior siempre responde con un contexto nuevo que contiene solo el mensaje del sistema y el mensaje más reciente del usuario.
Última actualización