TypeSafe IA

A integração alfa do TypeSafe AI adapta modelos System One, incluindo o Jev, para o Agent Framework Python. Estes modelos avaliam o estado da aplicação com base em perguntas tipificadas e devolvem probabilidades e pontuações. Não geram respostas comuns de conversação de formato livre.

Instale o pacote

pip install agent-framework-typesafe --pre

Configuração

Defina a chave API antes de criar o cliente:

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

Os valores do construtor têm prioridade sobre as variáveis de ambiente. Também pode injetar um TypeSafe configurado AsyncTypeSafeClient. Os clientes injetados continuam a ser propriedade do chamador; feche os clientes criados por TypeSafeChatClient com close() ou com um gestor de contexto assíncrono.

Crie um agente de decisão tipificado

Transmita um mapeamento TypeSafe Questions pela opção 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 é um mapeamento TypeSafe Questions não vazio contendo Noul, Choice, ou Score perguntas. Pode aceder ao conteúdo completo introduzido SystemOneResponse através de response.value.

Use default_questions no cliente quando uma integração tem um contrato fixo. Por exemplo, um cliente TypeSafe com perguntas por defeito pode funcionar como cliente de quarentena para SecureAgentConfig.

Função e ferramentas MCP

TypeSafeChatClient suporta o ciclo padrão de invocação de funções do Agent Framework para esquemas de conjunto fechado. Formas de argumentos suportadas incluem:

  • Constantes fixas.
  • Enumerações ou valores de PythonLiteral.
  • Valores booleanos.
  • Matrizes de enum ou de valores Literal sem restrições adicionais de matriz.
  • Versões opcionais dessas formas.

O cliente não suporta cadeias ou números livres obrigatórios, objetos aninhados, arrays gerais, argumentos anuláveis obrigatórios ou restrições de esquema que o conector não consegue preservar. Se especificar um argumento não suportado, o cliente exclui toda a ferramenta em modo automático ou rejeita a ferramenta quando necessário.

As ferramentas MCP funcionam através de Agent, que descobre funções MCP e as expande em ferramentas de função antes do routing TypeSafe. Apenas funções cujos esquemas se enquadram no subconjunto suportado são roteáveis. Um pedido suporta no máximo 32 ferramentas roteáveis, 64 propriedades por ferramenta, 64 membros enum por argumento e 128 perguntas internas geradas.

O cliente utiliza por defeito uma chamada de ferramenta por execução. Configure function_invocation_configuration={"max_function_calls": N} para permitir viagens sequenciais de ida e volta com as ferramentas.

Capacidades e limites

Capacidade Support
Classificação por tipo, pontuação e encaminhamento TypeSafe Questions e SystemOneResponse
Middleware e telemetria do Agent Framework Suportado
Ferramentas de funções locais Compatível com o subconjunto restrito do esquema
Funções do MCP Suportado para o subconjunto restrito de esquemas
Streaming Não suportado
Geração de texto livre Não suportado
Conteúdo sem mensagens de texto Não suportado
Opções generativas como temperature Rejeitado

Use TypeSafeChatClient para as camadas da estrutura padrão. Use RawTypeSafeChatClient apenas quando quiser intencionalmente compor uma pilha de camadas personalizada ou optar por não usar execução de funções, middleware e telemetria.

Passos seguintes