Claude

Claude APIの使い方|Python/TypeScriptでの実装ガイド

Claude API Python

Claude APIの使い方
Python/TypeScriptでの実装ガイド

Claude APIを使えば、自分のアプリケーションにClaude の高度なAI能力を組み込めます。この記事では、PythonとTypeScriptの両方で、APIキーの取得からストリーミング応答・ツール利用までステップバイステップで解説します。

この記事の対象者

  • Claude APIを初めて使う開発者
  • Python / TypeScript でAIアプリを作りたい方
  • OpenAI APIからの移行を検討している方

1. APIキーの取得とセットアップ

まず Anthropic Console でアカウントを作成し、APIキーを発行します。

料金について

Claude APIは従量課金制です。Claude Sonnet は入力100万トークンあたり$3、出力100万トークンあたり$15と、非常にコストパフォーマンスに優れています。

ターミナル

# 環境変数にAPIキーを設定
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxx"

2. Pythonでの基本実装

Anthropic公式のPython SDKをインストールして、最初のメッセージを送信しましょう。

ターミナル

pip install anthropic

main.py

import anthropic

client = anthropic.Anthropic()

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Pythonでフィボナッチ数列を生成する関数を書いて"}
    ]
)

print(message.content[0].text)

たったこれだけのコードで、Claudeに質問を投げて回答を得られます。ANTHROPIC_API_KEY 環境変数が設定されていれば、SDKが自動で読み取ります。

3. TypeScriptでの基本実装

ターミナル

npm install @anthropic-ai/sdk

index.ts

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();

async function main() {
  const message = await client.messages.create({
    model: "claude-sonnet-4-20250514",
    max_tokens: 1024,
    messages: [
      { role: "user", content: "TypeScriptの型ガードについて教えて" }
    ],
  });

  if (message.content[0].type === "text") {
    console.log(message.content[0].text);
  }
}

main();

4. ストリーミング応答

長い応答をリアルタイムに受信するには、ストリーミングを使います。ChatGPTのように、文字が逐次表示される体験を実現できます。

streaming.py

import anthropic

client = anthropic.Anthropic()

with client.messages.stream(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Djangoの設計パターンについて説明して"}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

5. システムプロンプトの活用

システムプロンプトを設定することで、Claudeの振る舞いをカスタマイズできます。

system_prompt.py

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    system="あなたはPythonの上級エンジニアです。"
           "コードレビューの観点で回答してください。",
    messages=[
        {"role": "user", "content": "このコードを改善して: ..."}
    ]
)

6. ツール利用(Function Calling)

Claude にツール(関数)を渡すと、必要に応じてツールを呼び出してくれます。外部APIの呼び出しやデータベース検索などに活用できます。

tools.py

tools = [
    {
        "name": "get_weather",
        "description": "指定都市の天気を取得する",
        "input_schema": {
            "type": "object",
            "properties": {
                "city": {
                    "type": "string",
                    "description": "都市名(例: 東京)"
                }
            },
            "required": ["city"]
        }
    }
]

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    tools=tools,
    messages=[
        {"role": "user", "content": "東京の天気は?"}
    ]
)

APIキーの管理に注意

APIキーは絶対にソースコードにハードコードしないでください。環境変数や.envファイルで管理し、.gitignoreに追加しましょう。

まとめ

  • Anthropic ConsoleでAPIキーを取得し、環境変数に設定する
  • Python / TypeScript の公式SDKで簡単に実装できる
  • ストリーミングでリアルタイム応答を実現
  • システムプロンプトでClaude の振る舞いをカスタマイズ
  • ツール利用で外部連携も可能