[Python] DeepSeek APIを使ってみる

Python

ここ最近で非常に話題になっているDeepSeekを触ってみます。
この記事では、DeepSeek APIの設定から、実際にPythonプログラムでDeepSeek APIを利用するところまでを紹介します。
2025年2月現在の情報となります。

DeepSeek APIを使えるようにする

まずはDeepSeekのトップページから、API Platformを開きます。

ログインアカウントが必要になりますので、メールアドレスとパスワードを入力するか、Googleアカウントに紐づけて、ログインします。

DeepSeekのPlatform画面が表示されます。

クレジットをチャージする

DeepSeek APIを利用するためには少額でもチャージする必要があります。
チャージしないとAPIを実行できません。

ここでは$5チャージしてみています。

りお
りお

$5だけでも円安を痛感できますね。。

まずは画面上のTop upボタンをクリックします。

$5を選択してから、Next stepをクリックします。

ここでは Debit or Credit Cardを選択します。
PayPalで支払うこともできますのでお好みで。

クレジットカード情報を入力して、Payボタンをクリックします。

支払いが完了すると以下のようなメッセージボックスが表示されます。

Usage画面からも$5がチャージされたことを確認することができます。

API keysを取得する

次にDeepSeek APIを使用するために、APIキーを取得します。
画面左側のメニューにあるAPI keysをクリックします。

API keys画面が表示されますので、Create new API keyをクリックします。

APIキーの作成画面が表示されますので、好きな名前を入力して、Create API keyをクリックします。

APIキーが発行されますので、Copyしてメモ帳などに控えておきます。
Python実行時に利用します。

作成したAPIキーの一覧はAPI keys画面から確認できますが、APIキーそのものは見えません。
紛失してしまった場合は再作成が必要になります。

DeepSeek APIをPythonから利用する

PythonからDeepSeek APIを利用する流れを説明します。

openaiパッケージのインストール

pipコマンドでopenaiパッケージをインストールします。
特にエラーになることもなく、正常にインストールできると思います。

> pip install openai
Collecting openai
  Downloading openai-1.54.3-py3-none-any.whl.metadata (24 kB)
Collecting anyio<5,>=3.5.0 (from openai)
  Downloading anyio-4.6.2.post1-py3-none-any.whl.metadata (4.7 kB)
Collecting distro<2,>=1.7.0 (from openai)
  Downloading distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)
  :
Installing collected packages: sniffio, pydantic-core, jiter, idna, h11, distro, colorama, certifi, annotated-types, tqdm, pydantic, httpcore, anyio, httpx, openai
Successfully installed annotated-types-0.7.0 anyio-4.6.2.post1 certifi-2024.8.30 colorama-0.4.6 distro-1.9.0 h11-0.14.0 httpcore-1.0.6 httpx-0.27.2 idna-3.10 jiter-0.7.0 openai-1.54.3 pydantic-2.9.2 pydantic-core-2.23.4 sniffio-1.3.1 tqdm-4.67.0

ChatGPT API実行

こちらのページにサンプルスクリプトが用意されていますので、簡単に利用することができます。
api_keyについては、取得したAPIキーに置き換えてください。

from openai import OpenAI

client = OpenAI(api_key="XXXXXXXXXX", base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "2月27日は何の日?"},
    ],
    stream=False
)

print(response.choices[0].message.content)

このような実行結果が返ってくると思います。

2月27日は、日本や世界でさまざまな記念日や出来事が関連付けられています。以下にいくつかの例を挙げます:

1. **国際ホッキョクグマの日(International Polar Bear Day)**
   ホッキョクグマの保護を呼びかける日として、環境保護団体によって制定されました。

2. **日本の記念日**
   - **新選組の日**:1862年2月27日(旧暦)、新選組の前身である「壬生浪士組」が結成されたことに由来します。
   - **仏壇の日**:全国仏壇組合連合会が制定し、仏壇の大切さを広める日とされています。

3. **世界の出来事**
   - 1844年:ドミニカ共和国がハイチから独立。
   - 1933年:ドイツで国会議事堂放火事件が発生。ナチス政権の権力掌握につながりました。

これらの日は、歴史的な出来事や文化的な意義を持つ日として認識されています。

Error code: 402

チャージしないでAPIを実行した場合は「Error code: 402」が返されます。

openai.APIStatusError: Error code: 402 - {'error': {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}}

まとめ

ChatGPT APIと同様に、DeepSeek APIも比較的簡単に利用することができます。
チャージしないと利用できないですが、プログラムから色々試せるのは非常に楽しいと思います。

コメント

タイトルとURLをコピーしました