アルファ 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は、カスタム レイヤー スタックを意図的に作成する場合や、関数の実行、ミドルウェア、テレメトリをオプトアウトする場合にのみ使用します。