TypeSafe AI

Integracja alpha TypeSafe AI dostosowuje modele System One, w tym Jev, do platformy Agent Framework Python. Te modele oceniają stan aplikacji pod kątem typowanych pytań i zwracania prawdopodobieństwa i wyników. Nie generują zwykłych, swobodnych odpowiedzi na czacie.

Instalowanie pakietu

pip install agent-framework-typesafe --pre

Configuration

Przed utworzeniem klienta ustaw klucz API:

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

Wartości konstruktorów mają pierwszeństwo przed zmiennymi środowiskowymi. Można również wstrzyknąć skonfigurowany TypeSafe AsyncTypeSafeClient. Klienci wstrzyknięci pozostają po stronie wywołującego; zamknij klientów utworzonych przez TypeSafeChatClient za pomocą close() lub asynchronicznego menedżera kontekstu.

Utwórz typowanego agenta decyzyjnego

Przekaż mapowanie TypeSafe Questions przez opcję 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())

Dla tego łącznika response_format jest niepustym mapowaniem TypeSafe Questions zawierającym pytania Noul, Choice lub Score. Możesz uzyskać dostęp do kompletnego obiektu typowanego SystemOneResponse za pośrednictwem response.value.

Użyj default_questions po stronie klienta, gdy integracja ma jeden stały kontrakt. Na przykład klient TypeSafe z pytaniami domyślnymi może działać jako klient kwarantanny dla programu SecureAgentConfig.

Funkcje i narzędzia MCP

TypeSafeChatClient obsługuje standardową pętlę wywołania funkcji programu Agent Framework dla schematów zestawu zamkniętego. Obsługiwane kształty argumentów obejmują:

  • Stałe wartości.
  • Wyliczenia lub wartości w Pythonie Literal.
  • Wartości logiczne.
  • Tablice typów wyliczeniowych lub wartości Literal bez dodatkowych ograniczeń tablic.
  • Opcjonalne wersje tych kształtów.

Klient nie obsługuje wymaganych swobodnych ciągów znaków ani liczb, zagnieżdżonych obiektów, tablic ogólnego przeznaczenia, wymaganych argumentów dopuszczających wartość null ani ograniczeń schematu, których łącznik nie może zachować. Jeśli określisz nieobsługiwany argument, klient wyklucza całe narzędzie w trybie automatycznym lub odrzuca narzędzie, gdy jest to wymagane.

Narzędzia MCP działają za pośrednictwem Agent, który wykrywa funkcje MCP i przekształca je w narzędzia funkcyjne przed trasowaniem TypeSafe. Tylko funkcje, których schematy pasują do obsługiwanego podzestawu, są routingowe. Żądanie obsługuje maksymalnie 32 narzędzia routowalne, 64 właściwości dla każdego narzędzia, 64 elementy wyliczenia dla każdego argumentu oraz 128 wygenerowanych pytań wewnętrznych.

Klient domyślnie wykonuje jedno wywołanie narzędzia na jedno uruchomienie. Skonfiguruj function_invocation_configuration={"max_function_calls": N}, aby umożliwić kolejne przebiegi narzędzia.

Możliwości i limity

Capability Support
Typizowane klasyfikacje, ocenianie i routing TypeSafe Questions i SystemOneResponse
Oprogramowanie pośredniczące i telemetria programu Agent Framework Supported
Narzędzia funkcji lokalnych Obsługiwane dla ograniczonego podzestawu schematu
Funkcje MCP Obsługiwane dla ograniczonego podzestawu schematu
Transmisja strumieniowa Niewspierane
Generowanie tekstu w dowolnej formie Niewspierane
Zawartość wiadomości nietekstowych Niewspierane
Opcje generowania, takie jak temperature Odrzucone

Użyj TypeSafeChatClient dla standardowych warstw struktury. Używaj RawTypeSafeChatClient tylko wtedy, gdy celowo chcesz utworzyć niestandardowy stos warstw lub zrezygnować z wykonywania funkcji, oprogramowania pośredniczącego i telemetrii.

Następne kroki