TypeSafe AI

Alpha TypeSafe AI-integreringen anpassar System One-modeller, inklusive Jev, till Agent Framework Python. Dessa modeller utvärderar programtillståndet mot inskrivna frågor och returnerar sannolikheter och poäng. De genererar inte vanliga chattsvar i fritt format.

Installera paketet

pip install agent-framework-typesafe --pre

Konfiguration

Ange API-nyckeln innan du skapar klienten:

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

Konstruktorvärden har företräde framför miljövariabler. Du kan också mata in en konfigurerad TypeSafe AsyncTypeSafeClient. Injicerade klienter ägs fortsatt av anroparen; stäng klienter som skapats av TypeSafeChatClient med hjälp av close() eller en asynkron kontexthanterare.

Skapa en typad beslutsagent

Skicka vidare TypeSafe-mappning Questions via alternativet response_format i 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())

För det här anslutningsprogrammet är response_format en icke-tom TypeSafe-Questionsmappning som innehåller frågor av typen Noul, Choice eller Score. Du kan komma åt den fullständiga typdefinitionen SystemOneResponse genom response.value.

Använd default_questions på klienten när en integrering har ett fast kontrakt. Till exempel kan en TypeSafe-klient med standardfrågor fungera som karantänklient för SecureAgentConfig.

Funktions- och MCP-verktyg

TypeSafeChatClient stöder standard-Agent Framework-funktionsanropsloopen för stängda scheman. Argumentformer som stöds är:

  • Fasta konstanter.
  • Uppräkningar eller Python Literal-värden.
  • Booleska värden.
  • Arrayer av enum- eller Literal-värden utan ytterligare arraybegränsningar.
  • Valfria versioner av dessa former.

Klienten stöder inte obligatoriska friformssträngar eller siffror, kapslade objekt, allmänna matriser, obligatoriska null-argument eller schemabegränsningar som anslutningsappen inte kan bevara. Om du anger ett argument som inte stöds exkluderar klienten hela verktyget i automatiskt läge eller avvisar verktyget när du behöver det.

MCP-verktyg fungerar genom Agent, som identifierar MCP-funktioner och expanderar dem till funktionsverktyg före TypeSafe-routning. Endast funktioner vars scheman passar den delmängd som stöds kan dirigeras. En begäran stöder högst 32 dirigerbara verktyg, 64 egenskaper per verktyg, 64 uppräkningsmedlemmar per argument och 128 genererade interna frågor.

Klienten använder som standard ett verktygsanrop per körning. Konfigurera function_invocation_configuration={"max_function_calls": N} så att sekventiella verktygsanrop tillåts.

Funktioner och gränser

Capability Support
Typbaserad klassificering, poängsättning och routning TypeSafe Questions och SystemOneResponse
Mellanprogram och telemetri för Agent Framework Supported
Verktyg för lokala funktioner Stöds för den begränsade schemaunderuppsättningen
MCP-funktioner Stöds för den begränsade schemaunderuppsättningen
Strömmande Stöds ej
Fritextgenerering Stöds ej
Innehåll som inte är textmeddelande Stöds ej
Generativa alternativ, till exempel temperature Avvisad

Använd TypeSafeChatClient för standardramverkets skikt. Använd RawTypeSafeChatClient endast när du avsiktligt vill skapa en anpassad lagerstack eller välja bort funktionskörning, mellanprogram och telemetri.

Nästa steg