TypeSafe AI

알파 TypeSafe AI 통합은 Jev를 포함한 System One 모델을 Agent Framework Python 적용합니다. 이러한 모델은 입력된 질문에 대해 애플리케이션 상태를 평가하고 확률 및 점수를 반환합니다. 일반적인 자유 형식 채팅 응답은 생성하지 않습니다.

패키지 설치

pip install agent-framework-typesafe --pre

구성

클라이언트를 만들기 전에 API 키를 설정합니다.

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

생성자 값이 환경 변수보다 우선합니다. 구성된 TypeSafe AsyncTypeSafeClient를 삽입할 수도 있습니다. 삽입된 클라이언트는 계속 호출자 소유로 유지됩니다. close()로 생성한 클라이언트는 TypeSafeChatClient 또는 비동기 컨텍스트 관리자를 사용해 닫으세요.

형식화된 의사 결정 에이전트 만들기

에이전트 프레임워크 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 는 Choice, Score 또는 Questions 질문을 포함하는 비어 있지 않은 TypeSafe Noul 매핑입니다. SystemOneResponse를 통해 전체 response.value 입력 내용을 액세스할 수 있습니다.

통합에 고정 계약이 하나 있는 경우 클라이언트에서 사용합니다 default_questions . 예를 들어 기본 질문이 있는 TypeSafe 클라이언트는 에 대한 SecureAgentConfig격리 클라이언트 역할을 할 수 있습니다.

함수 및 MCP 도구

TypeSafeChatClient 는 닫힌 집합 스키마에 대한 표준 에이전트 프레임워크 함수 호출 루프를 지원합니다. 지원되는 인수 셰이프는 다음과 같습니다.

  • 고정 상수입니다.
  • 열거형 또는 Python Literal 값.
  • 불리언 값.
  • 추가 배열 제약 조건이 없는 열거형 또는 Literal 값의 배열입니다.
  • 해당 셰이프의 선택적 버전입니다.

클라이언트는 필요한 자유 형식 문자열 또는 숫자, 중첩된 개체, 일반 배열, 필요한 nullable 인수 또는 커넥터가 유지할 수 없는 스키마 제약 조건을 지원하지 않습니다. 지원되지 않는 인수를 지정하면 클라이언트는 전체 도구를 자동 모드에서 제외하거나 필요할 때 해당 도구를 거부합니다.

MCP 도구 Agent는 MCP 함수를 검색하고 TypeSafe 라우팅 전에 함수 도구로 확장하는 작업을 수행합니다. 지원되는 하위 집합에 맞는 스키마가 있는 함수만 라우팅할 수 있습니다. 요청은 최대 32개의 라우팅 가능한 도구, 도구당 64개의 속성, 인수당 64개의 열거형 멤버 및 128개의 생성된 내부 질문을 지원합니다.

클라이언트는 기본적으로 실행당 하나의 도구 호출로 설정됩니다. 순차적인 도구 왕복을 허용하도록 function_invocation_configuration={"max_function_calls": N}를 구성합니다.

기능 및 제한

역량 Support
형식화된 분류, 점수 매기기 및 라우팅 TypeSafe Questions 및 SystemOneResponse
에이전트 프레임워크 미들웨어 및 원격 분석 Supported
로컬 함수 도구 제한된 스키마 하위 집합에 대해 지원됩니다.
MCP 함수 제한된 스키마 하위 집합에 대해 지원됩니다.
Streaming 지원되지 않음
자유 형식 텍스트 생성 지원되지 않음
텍스트가 아닌 메시지 콘텐츠 지원되지 않음
temperature와 같은 생성 옵션 거절됨

TypeSafeChatClient를 표준 프레임워크 계층에 사용합니다. 의도적으로 사용자 지정 계층 스택을 작성하거나 함수 실행, 미들웨어 및 원격 분석을 옵트아웃하려는 경우에만 사용합니다 RawTypeSafeChatClient .

다음 단계