TypeSafe AI

La integración alfa de TypeSafe AI adapta los modelos de System One, incluido Jev, a Agent Framework Python. Estos modelos evalúan el estado de la aplicación con preguntas tipadas y devuelven probabilidades y puntuaciones. No generan respuestas de chat abiertas y convencionales.

Instalar el paquete

pip install agent-framework-typesafe --pre

Configuration

Establezca la clave de API antes de crear el cliente:

TYPESAFE_API_KEY="<api-key>"
# Optional:
TYPESAFE_DEFAULT_MODEL="jev-latest"
TYPESAFE_BASE_URL="<api-root>"

Los valores de constructor tienen prioridad sobre las variables de entorno. También puede inyectar un TypeSafe configurado AsyncTypeSafeClient. Los clientes inyectados siguen siendo propiedad del autor de la llamada; cierre los clientes creados por TypeSafeChatClient con close() o un gestor de contexto asíncrono.

Crear un agente de decisión tipado

Pase un mapeo de TypeSafe Questions mediante la opción Agent Framework response_format:

import asyncio

from agent_framework import Agent
from agent_framework_typesafe import TypeSafeChatClient
from typesafe_sdk import Choice, Noul


async def main() -> None:
    client = TypeSafeChatClient()
    try:
        agent = Agent(
            client=client,
            name="TicketEvaluator",
            instructions="Evaluate the support request.",
        )
        response = await agent.run(
            "Our checkout has failed for three days and we are losing sales.",
            options={
                "response_format": {
                    "department": Choice(
                        instructions="Which team should handle this request?",
                        criteria={
                            "billing": None,
                            "technical": None,
                            "sales": None,
                        },
                    ),
                    "urgent": Noul(
                        instructions="Does this request need urgent attention?"
                    ),
                },
            },
        )
        print(response.value)
    finally:
        await client.close()


asyncio.run(main())

Para este conector, response_format es un mapeo TypeSafe Questions no vacío que contiene preguntas Noul, Choice o Score. Puede acceder al SystemOneResponse tipado completo a través de response.value.

Use default_questions en el cliente cuando una integración tenga un contrato fijo. Por ejemplo, un cliente de TypeSafe con preguntas predeterminadas puede actuar como cliente de cuarentena para SecureAgentConfig.

Herramientas de funciones y MCP

TypeSafeChatClient admite el bucle de invocación de funciones de Agent Framework estándar para esquemas de conjunto cerrado. Las formas de argumento admitidas incluyen:

  • Constantes fijas.
  • Enumeraciones o valores de Python Literal.
  • Valores booleanos.
  • Arrays de tipo enum o de valores Literal sin restricciones adicionales sobre los arrays.
  • Versiones opcionales de esas formas.

El cliente no admite cadenas ni números de formato libre obligatorios, objetos anidados, arrays generales, argumentos anulables obligatorios ni restricciones del esquema que el conector no puede preservar. Si especifica un argumento no admitido, el cliente excluye toda la herramienta en modo automático o rechaza la herramienta cuando lo necesite.

Las herramientas de MCP funcionan a través de Agent, que descubre las funciones de MCP y las amplía en herramientas funcionales antes del enrutamiento de TypeSafe. Solo las funciones cuyos esquemas se ajustan al subconjunto admitido son enrutables. Una solicitud admite como máximo 32 herramientas enrutables, 64 propiedades por herramienta, 64 miembros de enumeración por argumento y 128 preguntas internas generadas.

El cliente tiene como valor predeterminado una llamada de herramienta por ejecución. Configura function_invocation_configuration={"max_function_calls": N} para permitir idas y vueltas secuenciales de herramientas.

Funcionalidades y límites

Capacidad Support
Clasificación, puntuación y enrutamiento basados en tipos TypeSafe Questions y SystemOneResponse
Middleware y telemetría de Agent Framework Supported
Herramientas de funciones locales Compatible con el subconjunto de esquemas restringidos
Funciones de MCP Compatible con el subconjunto de esquemas restringidos
Streaming No soportado
Generación de texto de forma libre No soportado
Contenido de mensajes que no son de texto No soportado
Opciones generativas, como temperature Rejected

Se usa TypeSafeChatClient para las capas de marco estándar. Utilice RawTypeSafeChatClient únicamente cuando desee componer deliberadamente una pila personalizada de capas o excluir la ejecución de funciones, el middleware y la telemetría.

Pasos siguientes