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.

Nota

La última respuesta en la transmisión siempre es de tipo CreateResult.


Salida Estructurada

La salida estructurada puede habilitarse estableciendo el campo response_format en OpenAIChatCompletionClient o AzureOpenAIChatCompletionClient como una clase BaseModel de Pydantic.

Nota

La salida estructurada solo está disponible para modelos que la soporten y también requiere que el cliente de modelo la soporte.

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.

Nota

El cancellation_token del tipo saptiva_agents.core.CancellationToken se utiliza para cancelar operaciones asíncronas. Está vinculado a llamadas async dentro de los controladores de mensajes y puede ser utilizado por quien llama para cancelar dichos controladores.


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