文档导航

TypeSafe Python SDK

TypeSafe Python SDK

安装 TypeSafe Python SDK,开始使用异步或同步 API 调用。

浏览 GitHub 上的 Python SDK 源码。

面向 TypeSafe API 的异步与同步 Python 客户端。如何用 TypeSafe 见这里。

快速开始

  1. 安装 SDK:

    uv add typesafe-sdk
    pip install typesafe-sdk

    加上 http2 extra(typesafe-sdk[http2])即可启用 HTTP/2 支持。

  2. 在环境里设置 TYPESAFE_API_KEY(在这里创建)

  3. 调用 System One API:

    配合 AsyncTypeSafeClient:

    from typesafe_sdk import AsyncTypeSafeClient, Choice, Noul, Score
    
    async def main() -> None:
        async with AsyncTypeSafeClient() as client:
            response = await client.system_one(
                state={"document": "I was charged twice. Please fix this ASAP."},
                questions={
                    "billing": Noul(instructions="Is this ticket about billing?"),
                    "tone": Choice(
                        instructions="What is the customer's tone?",
                        criteria={"calm": None, "frustrated": None, "angry": None},
                    ),
                    "urgency": Score(
                        instructions="How urgent is this ticket?",
                        criteria=["can wait", "this week", "today"],
                    ),
                },
            )
    
        print(response.nouls["billing"].noul)
        print(response.choices["tone"].choice)
        print(response.scores["urgency"].score)

    配合 TypeSafeClient:

    from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
    
    with TypeSafeClient() as client:
        response = client.system_one(
            state={"document": "I was charged twice. Please fix this ASAP."},
            questions={
                "billing": Noul(instructions="Is this ticket about billing?"),
                "tone": Choice(
                    instructions="What is the customer's tone?",
                    criteria={"calm": None, "frustrated": None, "angry": None},
                ),
                "urgency": Score(
                    instructions="How urgent is this ticket?",
                    criteria=["can wait", "this week", "today"],
                ),
            },
        )
    
    print(response.nouls["billing"].noul)
    print(response.choices["tone"].choice)
    print(response.scores["urgency"].score)

后续步骤

阅读使用指南,了解更多模式,例如类型化响应、模型选择、重试、HTTP/2和错误处理。