Anthropic SDK
Anthropic公式のPythonまたはTypeScript SDKから、AGTCloudのMessages互換APIを呼び出します。
Anthropic 公式 SDK は、Base URLをカスタマイズすることで、AGTCloud の Anthropic Messages 互換エンドポイントを呼び出すことができます。このチュートリアルでは、Python と TypeScript のインストール、非ストリーミング リクエスト、ストリーミング出力の例をそれぞれ示します。
このページでは、Messages 呼び出しのみを説明します。バッチ処理、ファイル、管理インターフェイス、およびその他の Anthropic プラットフォーム リソースの可用性は、AGTCloud API Referenceに従うものとします。
事前準備
開始前に、次の項目を確認してください。
- API Keys ページに AGTCloud API Keyを作成します。
- Anthropic Messages をサポートする完全なモデルIDを モデルマーケットプレイス からコピーします。
- Python
3.9+または Node.js20+のサーバ動作環境を準備します。
このページでは、プレースホルダーとして MODEL_ID と your-api-key を使用します。実際の API Keyをブラウザのフロントエンド、モバイル インストール パッケージ、またはパブリック リポジトリに保存しないでください。
SDKをインストールする
python -m pip install anthropic現在の安定版をインストールし、依存関係のロックファイルで使用するバージョンを固定することをお勧めします。
API Keyを設定する
API Keyをサーバー環境変数に保存します。
export AGTCLOUD_API_KEY="your-api-key"サンプル コードは、AGTCLOUD_API_KEY から認証情報を読み取り、それらを Anthropic SDK に明示的に渡します。 SDK は、x-api-key ヘッダーを使用して認証情報を送信し、Messages リクエストで必要な anthropic-version ヘッダーを自動的に追加します。
クライアントを作成してリクエストを送信する
Base URL には、このページに表示されている API Origin を指定してください。/v1 や /v1/messages は追加しないでください。SDK がこのアドレスに Messages のパスを追加します。
import os
from anthropic import Anthropic
api_key = os.environ["AGTCLOUD_API_KEY"]
client = Anthropic(
api_key=api_key,
base_url="https://api.agtcloud.cn",
)
message = client.messages.create(
model="MODEL_ID",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "自己紹介を3文でお願いします。",
}
],
)
for block in message.content:
if block.type == "text":
print(block.text)content の Anthropic Messages はContent Block配列です。テキストを読むときは、Content Blockのタイプを確認する必要があります。応答には常に 1 つのテキスト ブロックしか含まれないと想定しないでください。ツール呼び出し、画像、その他のコンテンツ タイプでは、異なるブロック構造が使用されます。
ストリーミング出力
import os
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["AGTCLOUD_API_KEY"],
base_url="https://api.agtcloud.cn",
)
with client.messages.stream(
model="MODEL_ID",
max_tokens=1024,
messages=[
{
"role": "user",
"content": "ベクトル検索とは何か簡単に説明してください。",
}
],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)ストリーミング Messages は、SSE イベントを介して返されます。運用環境では、接続の中断、タイムアウト、スロットル、およびストリームの終了前に完全なコンテンツを受信できないことにも対処する必要があります。
よくある質問
| 現象 | チェック項目 |
|---|---|
401 または 403 | AGTCLOUD_API_KEY がロードされていること、余分なスペースがないこと、認証情報がまだ有効であることを確認します。 |
404 またはパスが不正 | base_url / baseURL には https://api.agtcloud.cn だけを指定し、/v1 やエンドポイント全体を追加しないでください |
| モデルがありません | MODEL_ID を、現在のAPI Keyで利用可能で、Anthropic Messages をサポートするモデルID に置き換えます。 |
| リクエストフィールドはサポートされていません | 対象モデルの機能を確認し、Anthropic Messages のフィールド定義を参照してください。 |
| TypeScript はブラウザでの実行を拒否します | Anthropic SDK は、デフォルトではサーバー側環境用です。制限を回避するために API Keyをブラウザに公開しないでください |
| ストリーミング コンテンツが空です | イベント タイプをチェックし、コードが text_delta または SDK によって提供されるテキスト ストリーム ヘルパー インターフェイスを読み取っていることを確認します。 |
このチュートリアルでは x-api-key を使用します
AGTCloud API Keyを SDK の api_key / apiKey パラメータに渡してください。SDK は Messages プロトコルに従って x-api-key を送信します。同じ呼び出し内で別の認証ヘッダーのセットを自分で追加しないでください。
次のステップ
- Anthropic Messages API Reference を参照して、Content Block、ツール呼び出し、拡張思考、および完全な応答フィールドについて学習してください。
- 既存の公式 SDK プロジェクトがある場合は、公式 SDK からの移行 を参照し、設定項目を一つずつ置き換えて回帰テストを実施してください。
- リクエストが失敗した場合は、認証と API Key、エラーとトラブルシューティングを参照してください。