Claude APIをPythonで利用する方法

Posted at 2025 年 05 月 08 日

今回の記事ではAnthropic APIでClaudeをPythonで利用する方法を紹介します。

APIキーの発行は次のページを参考にしました。
【Claude】Anthropic APIとは?概要からAPIキーを取得する方法まで

Anthropic APIとは?

Anthropic APIは、AI企業Anthropicが提供する大規模言語モデル「Claude」へのアクセスを可能にし、テキスト生成、要約、翻訳、コード生成などの自然言語処理タスクを実行できます。
公式から提供されているPython SDKを利用することで、複雑な会話の管理やバッチ処理、ストリーミングレスポンスなど、様々な高度な機能を実装できます。

Anthropic APIの利用手順

  1. Python 3.7以上がインストールされていることを確認します。
  2. Anthropicのライブラリをインストールします。
    pip install anthropic
  3. APIキーの取得
    次の記事を参考に取得しました。
    ※事前に支払い方法の登録が必要です。
    ※APIキーは厳重に管理してください。
    【Claude】Anthropic APIとは?概要からAPIキーを取得する方法まで
  4. 実装

    今回はPythonで基本的なコードを実装しました。

テキスト生成

import anthropic

# APIキーの設定(本番環境では、環境変数から読み込むことを推奨)
api_key = "MyAPI-Key" ※実際には、取得したAPIキーを実装して下さい。

# クライアントの初期化(APIキーは初期化時に設定)
client = anthropic.Anthropic(api_key=api_key)

# メッセージの作成
message = client.messages.create(
    model="claude-3-7-sonnet-20250219",
    max_tokens=1024,
    temperature=0,
    system="質問に対して回答してください。",
    messages=[
        {
            "role": "user",
            "content": "Claudeについて教えて"
        }
    ]
)

# レスポンスを出力
print(message.content)

出力:

# Claudeについて

Claudeは、Anthropic社が開発した会話型AIアシスタントです。以下がClaudeの主な特徴です:

- 自然な会話能力と幅広い知識を持ち、質問への回答やタスクの支援を行います
- 有害なコンテンツの生成を避け、安全で役立つ応答を提供するよう設計されています
- テキスト処理、情報の要約、創造的な文章作成、問題解決などの能力を持っています
- 複雑な指示にも対応し、ユーザーの意図を理解するよう努めます

Claudeは継続的に改良されており、最新バージョンではより高度な推論能力や、より自然な会話体験を提供しています。ただし、インターネットへの直接アクセスはなく、トレーニングデータ以降の最新情報については限られた知識しか持っていない場合があります。

何か具体的な質問や、Claudeでお手伝いできることはありますか?

マルチモーダル入力

import anthropic
import base64

#APIキー設定(本番環境では、環境変数から読み込むことを推奨)
api_key = "MyAPI-Key" ※実際には、取得したAPIキーを実装して下さい。
client  = anthropic.Anthropic(api_key=api_key)

#画像→Base64変換
with open("sample.png", "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode("utf-8")

#マルチモーダルリクエスト作成
response = client.messages.create(
    model="claude-3-7-sonnet-20250219",
    max_tokens=1024,
    system="以下の画像とテキストをもとに回答してください。",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": img_b64
                    }
                },
                {
                    "type": "text",
                    "text": "この画像について説明してください。"
                }
            ]
        }
    ]
)

#レスポンス出力
print(response.content[0].text)

入力に利用した画像は以下になります。

出力:

この画像は、木製のテーブルの上に置かれた白い陶器のコーヒーカップとソーサーを写したものです。カップの中には、表面にクリーミーな泡(クレマ)が浮かんだエスプレッソコーヒーが入っています。コーヒーの色は濃い茶色で、表面には小さな気泡が見えます。シンプルで洗練された白いカップとソーサーが、温かみのある木目のテーブルの色と美しいコントラストを生み出しています。この一杯のエスプレッソは、カフェでくつろぎのひとときを楽しむイメージを連想させます。

※今回のサンプルコードでは説明のためにAPIキーをコード内に直接記述していますが、セキュリティ上の理由から本番環境では、os.environ.get("ANTHROPIC_API_KEY") のように環境変数から読み込む方法を採用してください。

- システムプロンプト: systemパラメータを使用して、Claudeの応答スタイルや役割を設定できます。

- モデル選択: 用途に応じて以下のモデルから選択可能です:

| モデル | 入力コスト(/100万トークン) | 出力コスト(/100万トークン) |

| Claude 3.7 Sonnet | $3 | $15 |

| Claude 3 Opus | $15 | $75 |

| Claude 3.5 Sonnet | $3 | $15 |

| Claude 3.5 Haiku | $0.25 | $1.25|

※価格は定期的に更新される可能性があるため、最新の料金はAnthropicの公式サイトで確認することをお勧めします。

- 温度設定: temperatureパラメータで応答のランダム性を調整できます(0に近いほど決定論的、1に近いほど創造的)。

以上をAnthropic APIを利用方法になります。
Anthropic APIを利用することで、チャットボット開発、テキスト生成、質問応答システム、コンテンツ作成補助など、様々な自然言語処理タスクを実現できます。

DevpediaCode編集部

DevpediaCodeはWeb、AI、Iot、ローコードなどプログラムに関する最新ITテーマの情報を発信するメディアです。

お問合せ下記のURLからお願いします。

https://devpediacode.com/contact