Python SDK

Python SDK 安装和使用指南

Python SDK

艾塔达克官方 Python SDK,支持 Python 3.8+。

安装

pip install atdak-sdk

初始化

from atdak import AtdakClient

# 使用 API Key 初始化
client = AtdakClient(api_key="YOUR_API_KEY")

# 或从环境变量读取(推荐)
# export ATDAK_API_KEY="YOUR_API_KEY"
client = AtdakClient()

Chat Completions

# 基础对话
response = client.chat.completions.create(
    model="atdak-gpt-4",
    messages=[
        {"role": "system", "content": "你是一个专业的助手"},
        {"role": "user", "content": "解释什么是机器学习"}
    ]
)
print(response.choices[0].message.content)

# 流式输出
stream = client.chat.completions.create(
    model="atdak-gpt-4",
    messages=[{"role": "user", "content": "写一个故事"}],
    stream=True
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

图像分析

response = client.chat.completions.create(
    model="atdak-gpt-4-vision",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "描述这张图片"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image.jpg"}
                }
            ]
        }
    ]
)
print(response.choices[0].message.content)

语音识别

with open("audio.mp3", "rb") as audio_file:
    transcription = client.audio.transcriptions.create(
        model="atdak-whisper",
        file=audio_file
    )
print(transcription.text)

语音合成

response = client.audio.speech.create(
    model="atdak-tts",
    voice="alloy",
    input="你好,欢迎使用艾塔达克"
)
response.stream_to_file("output.mp3")

文本向量化

response = client.embeddings.create(
    model="atdak-embedding",
    input=["你好世界", "机器学习入门"]
)
for embedding in response.data:
    print(embedding.embedding[:5])  # 打印前5维

错误处理

from atdak import AtdakError, RateLimitError, AuthenticationError

try:
    response = client.chat.completions.create(...)
except AuthenticationError:
    print("API Key 无效")
except RateLimitError:
    print("超出速率限制,请稍后重试")
except AtdakError as e:
    print(f"API 错误: {e}")

异步调用

import asyncio
from atdak import AsyncAtdakClient

async def main():
    client = AsyncAtdakClient()
    
    response = await client.chat.completions.create(
        model="atdak-gpt-4",
        messages=[{"role": "user", "content": "你好"}]
    )
    print(response.choices[0].message.content)

asyncio.run(main())