TypeSafe AI

Die Alpha TypeSafe AI-Integration passt System One-Modelle, einschließlich Jev, an Agent Framework Python an. Diese Modelle bewerten den Anwendungsstatus anhand typierter Fragen und geben Wahrscheinlichkeiten und Bewertungen zurück. Sie generieren keine normalen Freiform-Chatantworten.

Installiere das Paket

pip install agent-framework-typesafe --pre

Konfiguration

Legen Sie den API-Schlüssel fest, bevor Sie den Client erstellen:

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

Konstruktorwerte haben Vorrang vor Umgebungsvariablen. Sie können auch ein konfiguriertes TypeSafe AsyncTypeSafeClient einbinden. Eingesetzte Clients verbleiben im Besitz des Aufrufers; schließen Sie Clients, die mit TypeSafeChatClient und close() oder einem asynchronen Kontextmanager erstellt wurden.

Erstellen eines typierten Entscheidungs-Agents

Übergeben Sie eine TypeSafe-Zuordnung Questions über die Agent Framework-Option 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())

Für diesen Konnektor ist response_format eine nicht leere TypeSafe-Zuordnung Questions, die Noul, Choice oder Score Fragen enthält. Sie können auf den vollständig eingegebenen SystemOneResponse über response.value zugreifen.

Verwenden Sie default_questions auf dem Client, wenn eine Integration einen festen Vertrag hat. Beispielsweise kann ein TypeSafe-Client mit vordefinierten Fragen als Quarantäne-Client für SecureAgentConfig fungieren.

Funktionen und MCP-Tools

TypeSafeChatClient unterstützt die Standardmäßige Agent Framework-Funktionsaufrufschleife für geschlossene Schemas. Zu den unterstützten Argumentformen gehören:

  • Feste Konstanten.
  • Enums oder Python-Literal-Werte.
  • Boolesche Werte.
  • Arrays aus Enumerations- oder Literal-Werten ohne zusätzliche Arrayeinschränkungen.
  • Optionale Versionen dieser Formen.

Der Client unterstützt keine erforderlichen Freiformzeichenfolgen oder Zahlen, geschachtelten Objekte, allgemeine Arrays, erforderliche nullable Argumente oder Schemaeinschränkungen, die der Konnektor nicht beibehalten kann. Wenn Sie ein nicht unterstütztes Argument angeben, schließt der Client das gesamte Tool im automatischen Modus aus oder lehnt es ab, wenn Sie es benötigen.

MCP-Tools funktionieren über Agent, das MCP-Funktionen erkennt und sie vor dem TypeSafe-Routing zu Funktions-Tools erweitert. Nur Funktionen, deren Schemas der unterstützten Teilmenge entsprechen, sind routingfähig. Eine Anfrage unterstützt höchstens 32 routbare Tools, 64 Eigenschaften pro Tool, 64 Enumerationswerte pro Argument und 128 generierte interne Fragen.

Der Client verwendet standardmäßig einen Toolaufruf pro Ausführung. Konfigurieren Sie function_invocation_configuration={"max_function_calls": N}, um sequenzielle Hin- und Rückläufe von Tools zu ermöglichen.

Funktionen und Grenzwerte

Fähigkeit Support
Typisierte Klassifizierung, Bewertung und Routing TypeSafe Questions und SystemOneResponse
Agent Framework Middleware und Telemetrie Unterstützt
Tools für lokale Funktionen Unterstützung für die eingeschränkte Schemauntermenge
MCP-Funktionen Unterstützt für die eingeschränkte Schemauntermenge
Streaming Nicht unterstützt
Freiform-Textgenerierung Nicht unterstützt
Inhalt von Nicht-Textnachrichten Nicht unterstützt
Generative Optionen wie z. B. temperature Rejected

Verwenden Sie TypeSafeChatClient für die Standard-Framework-Ebenen. Verwenden Sie diese Option RawTypeSafeChatClient nur, wenn Sie absichtlich einen benutzerdefinierten Layerstapel erstellen oder die Funktionsausführung, Middleware und Telemetrie deaktivieren möchten.

Nächste Schritte