Intelligenza artificiale TypeSafe

L'integrazione alfa TypeSafe per intelligenza artificiale adatta i modelli System One, tra cui Jev, a Agent Framework Python. Questi modelli valutano lo stato dell'applicazione rispetto alle domande tipate e restituiscono probabilità e punteggi. Non generano risposte normali di chat in formato libero.

Installare il pacchetto

pip install agent-framework-typesafe --pre

Configuration

Impostare la chiave API prima di creare il client:

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

I valori del costruttore hanno la precedenza sulle variabili di ambiente. È anche possibile iniettare un TypeSafe AsyncTypeSafeClient configurato. I client iniettati rimangono di proprietà del chiamante; chiudi i client creati da TypeSafeChatClient con close() oppure usando un gestore di contesto asincrono.

Creare un agente decisionale tipizzato

Passare un mapping Questions TypeSafe tramite l'opzione response_format di Agent Framework:

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())

Per questo connettore, response_format è un mapping TypeSafe Questions non vuoto contenente domande Noul, Choice o Score. È possibile accedere al tipo SystemOneResponse tipizzato completo tramite response.value.

Usare default_questions nel client quando un'integrazione ha un contratto fisso. Ad esempio, un client TypeSafe con domande predefinite può fungere da client di quarantena per SecureAgentConfig.

Strumenti per funzioni e MCP

TypeSafeChatClient supporta il ciclo standard di invocazione di funzioni di Agent Framework per gli schemi a insieme chiuso. Le forme di argomento supportate includono:

  • Costanti fisse.
  • Enumerazioni o valori di PythonLiteral.
  • Valori booleani.
  • Matrici di enumerazioni o Literal valori senza vincoli di matrice aggiuntivi.
  • Versioni facoltative di tali forme.

Il client non supporta stringhe o numeri in formato libero necessari, oggetti annidati, matrici generali, argomenti nullable obbligatori o vincoli di schema che il connettore non può mantenere. Se si specifica un argomento non supportato, il client esclude l'intero strumento in modalità automatica o rifiuta lo strumento quando necessario.

Gli strumenti MCP funzionano tramite Agent, che individua le funzioni MCP ed espande le funzioni in strumenti di funzione prima del routing typeSafe. Solo le funzioni i cui schemi rientrano nel subset supportato sono instradabili. Una richiesta supporta al massimo 32 strumenti instradabili, 64 proprietà per strumento, 64 valori enum per argomento e 128 domande interne generate.

Il client usa per impostazione predefinita una chiamata allo strumento per ogni esecuzione. Configura function_invocation_configuration={"max_function_calls": N} per consentire andate e ritorni sequenziali degli strumenti.

Funzionalità e limiti

Capability Support
Classificazione tipizzata, assegnazione dei punteggi e routing TypeSafe Questions e SystemOneResponse
Middleware e telemetria di Agent Framework Supportato
Strumenti per le funzioni locali Supportato per il sottoinsieme vincolato dello schema
Funzioni MCP Supportato per il sottoinsieme vincolato dello schema
Streaming Non supportato
Generazione di testo in formato libero Non supportato
Contenuto di messaggi non di testo Non supportato
Opzioni generative, ad esempio temperature Rifiutato

Usare TypeSafeChatClient per i livelli del framework standard. Usare RawTypeSafeChatClient solo quando si vuole intenzionalmente comporre uno stack di livelli personalizzato o rifiutare esplicitamente l'esecuzione di funzioni, il middleware e i dati di telemetria.

Passaggi successivi