DeepSeek API:キー、料金、およびいつプランを変更するか ローカル
DeepSeek APIを使うと、自分のコードからDeepSeekのモデルにアクセスできます。課金はトークン単位で、リクエスト形式はOpenAIのものと互換性があります。このガイドでは、キーの作成、最初のAPI呼び出し、公式料金表の行を取り違えずに読む方法を説明します。料金の金額は一切転載していません。金額は変わるため、提供元のページだけが正式な根拠となります。最後に、どのような場合にローカルモデルのほうがAPIよりも扱いやすくなる、または安くなるのかを判断する基準を説明します。
#DeepSeek API:始める前に押さえておきたい基本
DeepSeekには、混同してはいけない2つの利用方法があります。無料のチャットサイトは、ブラウザで利用します。一方、APIは開発者向けです。自分のプログラムがリクエストを送ると、DeepSeekのサーバーが応答を返し、やり取りのたびに料金が残高から差し引かれます。このガイドが扱うのは、後者の利用方法です。
- 概要
- DeepSeekがホストする従量課金サービスです。何もダウンロードしません。モデルは提供元の環境で動作します。
- フォーマット
- OpenAI API 互換。OpenAI と通信できるライブラリやツールは、ベースアドレスとキーという 2 つの設定を変更するだけで動作します。
- 請求について
- トークン単位で課金され、料金は前払い残高から差し引かれます。料金表では、送信するトークンをキャッシュ済みかどうかで区別し、生成されるトークンにも別の料金を設定しています。
- あなたのデータ
- 各リクエストは利用者のインフラの外に送信され、サービス提供元のサーバーで処理されます。個人情報や機密データを扱う場合、最初に確認すべき点です。
- L'alternative
- DeepSeek はモデルの重みも公開しています。お使いのハードウェアに合ったバージョンなら、トークン単位の課金やデータの送信なしで、手元のマシンで動かすことができます。
#前提条件
職場でのローカルAI導入:GDPR、AI Act、マルチユーザーアーキテクチャ、コスト、経営陣向けメモ。
- 永久に利用できるオンラインスペース
- PDF + ファイル
- 30日間返金対応
- 開発者アカウント
- 開発者アカウントは、platform.deepseek.comにあるDeepSeekのプラットフォームで作成します。チャットサイトとは別のアドレスです。
- 支払い手段
- このサービスは、事前にチャージした残高を使う仕組みです。利用可能な残高がなければ、呼び出しは拒否されます。
- APIを呼び出すためのツール
- curl suffit pour un premier essai. Pour un vrai projet, Python 3 avec la bibliothèque openai, ou son équivalent pour Node.js.
- キーの安全な保管場所
- 手元のパソコンでは環境変数に、本番環境ではシークレット管理ツールに保存します。ソースコードには絶対に書き込まないでください。
#DeepSeek APIキーを作成する
- 01プラットフォームでアカウントを開設するplatform.deepseek.com のアドレスを自分で入力してアクセスし、登録してください。業務で利用する場合は、個人のメールアドレスではなく、チームで共有するメールアドレスを使ってください。残高とキーはアカウントに紐づくため、同僚が退職してもアカウントを継続して利用できるようにする必要があります。
- 02残高をチャージするプラットフォームのチャージ欄でクレジットを追加できます。まずは少額から始めてください。テストには十分で、実装に問題のあるループが暴走しても、チャージした金額によって支出が制限されます。
- 03キーを生成するAPIキーのセクションで新しいキーを作成し、用途が分かる名前(「essais-poste-clara」、「prod-support」)を付けてください。作成したらすぐにコピーしてください。ほとんどのプラットフォームと同様、キー全体が表示されるのは作成時だけです。
- 04キーをコードの外に保存する環境変数に保存してください。プログラムが起動時にそれを読み取り、Gitリポジトリやスクリーンショットに含まれることはありません。
#初回の呼び出し:OpenAI互換フォーマット
APIのベースURLは https://api.deepseek.com です。APIキーは、先頭にBearerを付けてAuthorizationヘッダーで送信します。質問を送信する前に、まず、お使いのキーで呼び出せるモデルの一覧を取得してください。モデルの識別子は世代ごとに変わり、この一覧だけが、その仕組み上、常に最新だからです。
応答はJSONオブジェクトで、各エントリにidフィールドがあります。この識別子をそのままコピーしてリクエストに指定してください。多くのチュートリアルでは、従来の名前であるdeepseek-chatとdeepseek-reasonerが使われています。これらを使う前に、返されたリストに含まれていることを確認し、料金ページで各名前が現在どのモデルに対応しているかを確認してください。
Pythonでは、OpenAIの公式ライブラリがその役割を果たします。OpenAIへの呼び出しと異なるパラメータは2つだけです:キーとベースアドレス。
最後の行が、今後のために最も有用です。usage オブジェクトは、送信したトークン数 (prompt_tokens) と、モデルが生成したトークン数 (completion_tokens) を示します。コンテキストキャッシュのドキュメントでは、prompt_cache_hit_tokens と prompt_cache_miss_tokens という 2 つの追加フィールドが説明されており、これらはキャッシュ済みの入力トークンと未キャッシュのトークンを区別します。ご自身の呼び出しで返されたオブジェクトを表示してください。信頼できるのはこれであり、例ではありません。
#DeepSeek APIの料金:公式の価格表を参照してください
すべての価格はドキュメントの1ページにまとめられています。このガイドの横で開いてください。以下の段落では、各行の意味を説明しますが、金額については説明しません。
グリッドは表として表示され、モデルごとに1列ずつあります。価格は100万トークンあたりで表示されます。一般的なフランス語のテキストでは、1トークンは1語よりわずかに少ない長さを表しますが、この比率はモデルや内容によって異なります。カウントについては、変換ルールではなく、レスポンスのusageオブジェクトを参照してください。
- 入力、キャッシュミス(cache miss)
- 送信するトークンの通常料金:システム指示、会話履歴、添付ドキュメント、質問。
- 入力、キャッシュヒット時(cache hit)
- 最近処理済みかつキャッシュに保持されたクエリの一部に適用される割引価格。
- 出力(output)
- モデルが生成するトークンの価格。この行を入力の行と比較してください。このようなAPIでは、通常、これが最も高い値になります。
- 推論トークン
- 推論モードのモデルは、回答の前に思考過程を記述します。これらのトークンがどのように数えられるかをページで確認してください。出力として課金される場合、3行の回答でも1ページ分の料金がかかることがあります。
- 最大コンテキスト長および出力長
- 同じ表はコンテキスト長および応答の最大サイズを示しています。これは価格ではありませんが、クエリが発生する際のコストを上限に設定します。
- 通貨
- 表示されている通貨を確認してください。料金表がユーロ建てでない場合は、為替レートと、残高のチャージ時に銀行から請求される可能性のある手数料も計算に入れてください。
#コンテキストキャッシュ:差が生じる最大の要因
キャッシュはプレフィックス単位で機能します。リクエストの先頭部分が最近のリクエストの先頭部分と一致すると、その共通部分には割引料金が適用されます。有効にするための操作は必要ありません。ただし、リクエストを組み立てる順序によって、支払う料金が決まります。
- 変わらない内容を先に
- 呼び出しごとに変わらない内容を先頭に配置してください。システム指示、例、参照ドキュメントなどです。
- 変わる部分は末尾に置く
- ユーザーの質問、日付、セッションIDは最後に置きます。先頭行に日付を入れるだけで各リクエストが一意になり、キャッシュの恩恵が失われます。
- 推測するのではなく、測定する
- キャッシュが利用されるとは限りません。実際にキャッシュが利用された割合は、usageオブジェクト内のキャッシュ関連フィールドで確認できます。リクエストが似ているのにその割合がゼロに近いままなら、リクエストの組み立て方を見直す必要があります。
#オフピーク時間帯と期間限定の割引
APIの料金表では、特定の時間帯やサービス開始時の期間に割引料金が設定される場合があります。予算に織り込む前に、3つの点を確認する必要があります。
- 現在、ページに割引が記載されていますか?
- 公式ページに時間帯も割引も記載されていない場合は、どちらもないものと考えてください。古い記事で読んだ割引を前提に予算を組まないでください。
- どのタイムゾーンですか?
- 時間帯は通常 UTC で示されます。フランス本土では、冬は 1 時間、夏は 2 時間を加算してください。
- 処理を別の時間帯にずらせますか?
- オフピークの時間帯を活用できるのは、夜間の要約、ドキュメントの分類、バッチ生成など、実行を待てる処理だけです。日中に顧客へ応答するアシスタントは、その恩恵を受けられません。
#あなたの数字を使って計算
1回の呼び出しのコストは、3つの積の合計です。キャッシュ外の入力トークン、キャッシュ済みの入力トークン、出力トークンそれぞれを、その単価で乗算し、さらに100万で除算します。以下の関数は、この式をレスポンスのusageオブジェクトに適用します。3つの単価はゼロのままにされています。呼び出すモデルについて、公式ページからご自身で値をコピーしてください。
#利用量を確認する
残高はプラットフォーム上で確認でき、APIにも残高をJSON形式で返すエンドポイントがあります。残高が尽きてからではなく、尽きる前にアラートを出すのに便利です。
- 各呼び出しをログ出力
- 日付、モデル、usageオブジェクトのカウンターを記録してください。実際の利用条件で2週間分のログを取るほうが、どんな見積もりよりも価値があります。それが、APIとローカル実行のどちらを選ぶかを判断する基礎となります。
- 出力の上限を設定
- max_tokensパラメータは回答の長さを制限し、その結果、コストの上限も抑えます。デフォルト値のままにせず、タスクに応じて設定してください。
- 履歴の確認
- 会話では、各ターンごとに履歴全体が送信されます。50往復の議論では、キャッシュによってコストが軽減される場合でも、冒頭部分が50回送信されます。一定の長さを超えた場合は、要約または切り捨てを行ってください。
- 無料付与クレジットとチャージしたクレジット
- アカウントにチャージしたクレジットに加えて無料付与のクレジットがある場合、料金ページには両者が消費される順序が明記されています。無料付与のクレジットに有効期限があるかどうかも確認してください。
#APIかローカルモデルか:どちらを選ぶべきか
ローカル実行のほうが安くなる普遍的な境界は存在せず、このガイドでもそのような境界を作り出してはいません。結果は、ご自身だけが把握している3つの数値に左右されます。実際のトークン量、その日の料金表、そして購入するとしたら選ぶハードウェアの価格です。以下の基準を使えば、電卓を取り出す前に判断できることもよくあります。
- プライバシー
- 個人情報、契約書、ソースコード、顧客ファイルなどは、APIを用いることで欧州連合外の第三者に送られます。これはGDPRの対象であり、データ保護担当者への委任によって正当化されます。ローカル環境ではこのような問題は発生しません。これはしばしば単独で決定要因となります。
- 利用量と利用の規則性
- 使用頻度が低く不規則な場合は API が有利です。使用しない限り費用はかかりません。使用頻度が高く予測可能な場合はローカルが有利です。マシンが 10 件のリクエストを処理しても 1 万件を処理しても、コストは同じです。
- 必要な品質
- APIでは、モデル提供元の大型モデルを利用できます。VRAMが12〜24GBのグラフィックカードで動かすのは、それよりもかなり小さなモデルです。Q4_K_Mでは、14Bモデルに約9GB、32Bモデルに約19GBが必要と考えてください。タスクに大型モデルが必要なら、ローカル実行には別クラスのハードウェアが必要です。
- 入手可能性
- APIの可用性は、提供元の負荷と利用者の接続環境に左右されます。ローカルでの可用性は利用者のマシンに左右され、その監視やトラブル対応は自分で行う必要があります。
- 予算の見通しやすさ
- APIの請求額は使用量に応じて変わるため、予想外の金額になることがあります。ローカル環境では、購入費またはレンタル費、電気代、保守にかかる時間といった固定コストを事前に把握できます。
- 作業にかかる時間
- APIはすぐに接続できます。APIキーと数行のコードがあれば十分です。ローカルサーバーには、インストールと更新に加え、応答しなくなったときに対処できる人が必要です。そのために費やす時間にもコストがかかるので、比較に含める必要があります。
#4段階の比較
- 01測定するusageオブジェクトをログに記録しながら、実際の用途でAPIを2週間利用してください。キャッシュされていない入力、キャッシュされた入力、出力に分けた、実際の月間利用量が得られます。
- 02APIの費用を算出するこの使用量に、その日の公式料金表を適用してください。それが月額の API 費用です。料金を確認した日付も併記してください。
- 03ローカル運用の費用を算出する対象のモデルを実行できるマシンの購入価格を、想定する使用期間で割り、電気代と保守にかかる時間を加えてください。GPUサーバーのコストに関するガイドでは、この計算方法を詳しく説明しています。
- 04価格を比較する前に品質を確認するお使いのハードウェアが収容できるローカルモデルに実際のリクエストを二十件送信し、API の回答と比較してください。結果が満足できない場合、コスト比較は意味をなしません:比較しているのは同じサービスではないからです。
#どちらにも使える同じコード
一方からもう一方に切り替えても、アプリケーションを書き直す必要はありません。Ollamaはデフォルトでhttp://localhost:11434でリクエストを待ち受けており、こちらも/v1のパスでOpenAI互換のインターフェースを公開しています。以下のコードは、環境変数に応じてDeepSeek APIとローカルモデルを切り替えます。
deepseek-r1:14bは蒸留版のモデルで、RTX 3060のような12 GBのカードに収まります。APIで提供されているモデルとは異なるため、難しいタスクでは回答の精度が低くなることを想定してください。この構成は、手順の第4ステップで、ご自身のリクエストを使ってその違いを確かめるためのものです。
#トラブルシューティング:よくあるエラー
DeepSeek のドキュメントには、エラーコードをまとめたページがあります。以下は使い始めに遭遇するケースです。判断に迷う場合は、この要約よりも公式ページを優先してください。
- 401、認証が拒否されました
- キーが未設定、一部欠けている、または失効しています。プログラムを起動するターミナルで環境変数が正しく設定されていることと、コピー&ペーストの際に余分なスペースが混入していないことを確認してください。
- 402、残高不足
- アカウントのクレジットがなくなりました。プラットフォームからチャージしてください。残高確認用のエンドポイントにアラートを設定すれば、本番環境でこのような事態が起きるのを防げます。
- 400または422、無効なリクエスト
- JSON の構造が不正またはパラメータが受け入れられません。最も一般的な原因は、古いチュートリアルからモデルIDをコピーしたことです。/models リストに戻って再度確認してください。
- 429、リクエストが多すぎます
- サービスが受け付けられる速度を超えてリクエストを送信しています。呼び出しの間隔を空け、待ち時間を徐々に長くしながら再試行してください。
- 500または503、サーバーのエラーまたはオーバーロード
- 問題は提供元側にあります。しばらく待ってから再試行し、アプリケーションには分かりやすいメッセージか、代替モデルを用意しておいてください。
- 応答が非常に遅い
- 負荷が高いときは、リクエストへの応答が始まるまで長時間待たされることがあります。クライアント側でタイムアウトを設定し、ストリーミングモードを有効にして、生成された部分から順に応答を表示してください。
- 予想を超える高額な請求
- よくある原因は3つです。出力として数えられる推論トークン、キャッシュへのヒットが少ないこと、会話履歴全体が毎ターン再送信されることです。usageオブジェクトのログを確認すれば、どれが原因かを見分けられます。
#公式ソース
価格、モデルの一覧、課金ルールは変わります。これらの提供元のページが基準となる情報源です。金額を伴う判断をする前に、必ず確認してください。
#さらに詳しく
このガイドで扱うのは、APIキー、料金表の読み方、判断方法までです。費用の見積もりとインストールについては、本サイトの以下のガイドをご覧ください:
- LLM用GPUサーバーのコストはいくらか?
- 購入、レンタル、またはAPI:比較の第三ステップで加算するコスト項目です。https://quelllm.fr/guide/cout-serveur-gpu-llm
- 無料LLM API:実態を比較
- 無料枠でニーズを満たせる場合に、無料プランの内容、利用上限、データがどのように扱われるかを解説します。https://quelllm.fr/guide/api-llm-gratuites-vs-local
- DeepSeek V4 Proのローカル実行
- このモデルファミリーの大型モデルを自分で実行する際に必要なハードウェア。https://quelllm.fr/guide/guide-deepseek-v4-pro
- ローカル AI と ChatGPT の比較
- クラウドかローカルかという同じ問いを、APIではなく会話用途について考えます。https://quelllm.fr/guide/ia-locale-vs-chatgpt
ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。