TypeSafe AI

アルファ TypeSafe AI 統合は、Jev を含む System One モデルを Agent Framework Pythonに適応させます。 これらのモデルは、型指定された質問に対してアプリケーションの状態を評価し、確率とスコアを返します。 通常の自由形式のチャット応答は生成されません。

パッケージをインストールする

pip install agent-framework-typesafe --pre

Configuration

クライアントを作成する前に API キーを設定します。

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

コンストラクター値は環境変数よりも優先されます。 構成された TypeSafe AsyncTypeSafeClientを挿入することもできます。 挿入されたクライアントは呼び出し元所有のままです。close()または非同期コンテキスト マネージャーを使用してTypeSafeChatClientによって作成されたクライアントを閉じます。

型指定されたデシジョン エージェントを作成する

Agent Framework response_format オプションを使用して TypeSafe Questions マッピングを渡します。

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

このコネクタの場合、response_formatは、Noul、Choice、またはScoreの質問を含む、空でない TypeSafe Questions マッピングです。 SystemOneResponseを通じて、完全に型指定されたresponse.valueにアクセスできます。

統合に 1 つの固定コントラクトがある場合は、クライアントで default_questions を使用します。 たとえば、既定の質問がある TypeSafe クライアントは、 SecureAgentConfigの検疫クライアントとして機能できます。

関数ツールと MCP ツール

TypeSafeChatClient は、閉じたセット スキーマに対する標準の Agent Framework 関数呼び出しループをサポートします。 サポートされている引数の図形は次のとおりです。

  • 定数を修正しました。
  • 列挙型または Python の Literal 値。
  • ブール値。
  • 追加の配列制約のない列挙型または Literal 値の配列。
  • これらの図形のオプション バージョン。

クライアントは、必要な自由形式の文字列または数値、入れ子になったオブジェクト、一般的な配列、必要な null 許容引数、またはコネクタが保持できないスキーマ制約をサポートしていません。 サポートされていない引数を指定した場合、クライアントはツール全体を自動モードで除外するか、必要なときにツールを拒否します。

MCP ツールは、MCP 関数を検出し、TypeSafe ルーティングの前に関数ツールに展開する Agentを介して動作します。 サポートされているサブセットに適合するスキーマを持つ関数のみがルーティング可能です。 要求では、最大 32 個のルーティング可能なツール、ツールあたり 64 個のプロパティ、引数ごとに 64 個の列挙型メンバー、128 個の内部質問がサポートされます。

クライアントの既定値は、1 回の実行につき 1 つのツール呼び出しです。 function_invocation_configuration={"max_function_calls": N}を構成して、順次ツールラウンド トリップを許可します。

機能と制限

能力 Support
型付き分類、スコアリング、ルーティング TypeSafe Questions と SystemOneResponse
Agent Framework ミドルウェアとテレメトリ サポートされている
ローカル関数ツール 制約付きスキーマ サブセットでサポートされます
MCP 関数 制約付きスキーマ サブセットでサポートされます
ストリーミング サポートしていません
自由形式のテキスト生成 サポートしていません
テキスト 以外のメッセージの内容 サポートしていません
temperature などの生成オプション 拒否

標準フレームワーク レイヤーに TypeSafeChatClient を使用します。 RawTypeSafeChatClientは、カスタム レイヤー スタックを意図的に作成する場合や、関数の実行、ミドルウェア、テレメトリをオプトアウトする場合にのみ使用します。

次のステップ