JA ▾

Ollama APIとOpenAI API:どちらがプロジェクトに適合するかが適しているか

Ollamaはモデルをあなたのマシン上で実行しますが、OpenAIはモデルを自社のサーバーで実行します。このページでは、ホスティング、リクエスト形式、コスト、制限、コンテンツルールについて両者を比較し、その中間の第3の選択肢を示します。

更新

ローカルコンピュータとクラウドサーバーラックが光るデータ回線で接続された等角図

主要ポイント

  1. Ollamaは自分でホスティングするローカルランタイムであり、OpenAI APIはトークンごとに課金されるホスト型サービスです。
  2. どちらもOpenAIスタイルのチャットリクエストを受け付けるため、1つのクライアントはベースURLを変更するだけでどちらにも接続できます。
  3. ローカル実行はハードウェアと時間のコストがかかり、ホスト型実行はトークンのコストがかかります。損益分岐点は利用量によります。
  4. オープンウェイトモデルを搭載したホスト型OpenAI互換エンドポイントにより、GPUを所有せずに従量課金で利用できます。

短い答え

Ollama APIとOpenAI APIの比較は、主にモデルがどこで実行されるかという問題です。Ollamaではモデルはあなたが制御するコンピュータ上にあり、コードはlocalhostを呼び出します。OpenAIではモデルは他人のデータセンターにあり、コードはキーと月末の請求書を伴う公開HTTPSアドレスを呼び出します。

それ以外のすべてはその1つの違いから導かれます:コスト構造、調整可能なレイテンシ、プロンプトの閲覧者、選択可能なモデル、そして100件のリクエストを同時に送信したときの挙動です。表には、両方に当てはまる事実が示されています。

件名OllamaOpenAI API
実行場所あなたのラップトップ、ワークステーション、またはサーバーOpenAIのサーバー
モデルの設定者ウェイトを自分でプルして更新OpenAIがモデルを選択・更新
請求ローカルランタイムにはトークンごとの料金なし;ハードウェアと電力に課金課金アカウントからトークンごとに課金
リクエスト形式ネイティブルートに加え、OpenAIスタイルの/v1レイヤー元のOpenAI形式
スループットハードウェアによって制限されますアカウントのレート制限に制限される

中間の選択肢を求める場合は、同じOpenAI形式に対応し、オープンウェイトモデルを提供するホスト型エンドポイントがページの末尾近くで解説されています。

各APIの実際の性質

Ollama

Ollamaは、オープンウェイトモデルをダウンロードし、マシン上でHTTP経由で提供するためのプログラムです。デフォルトではポート11434で待機します。/api/chatや/api/generateなどの独自ルートに加え、既存のOpenAIクライアントコードが指すことのできるOpenAI互換レイヤーを/v1の下に公開しています。通常のローカルセットアップではアカウントやキーは不要です。キーフィールドを必須とするクライアントにはプレースホルダー文字列が返されます。

OpenAI API

OpenAI API

OpenAI APIはホスティングサービスです。アカウント作成、課金設定、キー発行を行い、OpenAIのアドレスにリクエストを送信します。OpenAIが提供するモデルを、OpenAIの利用規約に従い、アカウントティアの制限内で利用できます。容量、アップグレード、稼働率はOpenAIの責任です。多くのチュートリアルで見るmessages配列とchoices配列を含むレスポンス形式は、このAPI由来です。

比較される理由

この比較が存在するのは、同じクライアントコードで両方にアクセスできるためです。公式のOpenAI SDKではBase URLを上書きでき、Ollamaの/v1レイヤーはチャット完了リクエストを理解します。そのため、ある一方のために書かれたスクリプトを、1行の変更で他方に指すことができます。これは便利ですが、実際の違いを隠蔽しており、次のセクションでそれらを詳しく解説します。

同じクライアントコード、2つのBase URL

ここが切り替えを低コストにする部分です。以下のPythonスニペットはローカルのOllamaサーバーと通信します。ベースURL、キー、モデル名のみがターゲット固有です。

from openai import OpenAI

# Local Ollama through its OpenAI-style layer
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")

reply = client.chat.completions.create(
    model="llama3.2",  # whatever model you pulled locally
    messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)

ホスト型エンドポイントに同じリクエストを送るには3つの値を変更します。以下は当サイトの設定で、モデルIDはuncensoredです。

from openai import OpenAI

client = OpenAI(base_url="https://api.ollamaapi.com/v1", api_key="YOUR_KEY")

reply = client.chat.completions.create(
    model="uncensored",
    messages=[{"role": "user", "content": "Summarize what a base URL is."}],
)
print(reply.choices[0].message.content)

curlでも同じリクエストが実行でき、アプリコードに触れる前のテストに便利です。

curl https://api.ollamaapi.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"uncensored","messages":[{"role":"user","content":"Hello"}]}'

これらのターゲット間で切り替える際には、1点注意が必要です。互換性はリクエストとレスポンスの形状をカバーしますが、動作そのものではありません。異なるモデルは指示の解釈やツール呼び出しの処理、出力フォーマットが異なります。実際にプロンプトを新しいターゲットで実行してから、信頼してください。

コスト:所有するハードウェア vs 購入するトークン

ローカル推論は請求書が届かないため無料に見えますが、実際は無料ではありません。GPUや大容量メモリを持つマシン、電気代、ドライバーのインストールや量子化の選択、メモリ不足で停止したサーバーの再起動に費やす時間のコストを支払います。すでに高性能なハードウェアを所有し、1日に数回プロンプトを実行するだけであれば、そのコストは実質ゼロに近いと言えます。しかし、目的のモデルを実行するためにカードを購入する必要があるなら、計算は変わります。

ホスト型の料金体系は逆の形状をしています:前払いは不要で、使用量に応じて課金が増加します。本サイトでは、前払いクレジットからサブスクリプションなしで、入力トークン100万トークンあたり$0.15、出力トークン100万トークンあたり$0.50です。OpenAIについては、モデルによって異なり、時間とともに変化する可能性があるため、現在の料金ページをご確認ください。

このエンドポイントでの現実的なタスクに対するホスト型の計算方法を示します。例えば、あるアプリケーションが1ヶ月に40,000件のリクエストを送信し、それぞれが1,500入力トークンと400出力トークンを含むとします。

  • 入力:40,000 x 1,500 = 60,000,000トークン。$0.15/1Mで$9.00。
  • 出力:40,000 x 400 = 16,000,000トークン。$0.50/1Mで$8.00。
  • 合計:月間$17.00。

その数字を、適切なマシンを購入・運用・保守するためのコストと比較できます。軽量またはバースト性の高いトラフィックでは、トークンごとの課金の方が有利な場合が多いです。すでに所有するハードウェア上で一定かつ大量のトラフィックを処理する場合、ローカルの方が有利な場合が多いです。チャージ額とボーナスについては料金ページをご覧ください。

モデル、コンテンツルール、プライバシー

Ollamaでは、どのオープンウェイトモデルを実行するかを自分で決定でき、プロンプトとモデルの重みの間に誰かが介在しません。コンテンツの動作は、そのモデルが何を行うかに依存します。コミュニティモデルの中には拒否を少なくするように調整されたものもあれば、そうでないものもあり、自由に交換できます。

ホスティングベンダーは独自の利用規約と独自のフィルタリングを適用します。これは汎用サービスにとって妥当な立場であり、また、成熟したフィクションを扱う一部の作家、ロールプレイ開発者、研究者がホスティングされた回答が途中で切れる理由でもあります。依存する予定のすべてのプロバイダーのポリシーを読み、推測ではなく現在のルールを確認してください。

本サイトは異なる位置に位置しています。1つのオープンウェイトモデルを提供しており、独立したプロバイダによって実行され、法的な成人利用に対してコンテンツ拒否なしで回答するようにチューニングされています。OpenAI、Meta、Mistral、その他のベンダーの公式APIではなく、ベンダー間のルーターでもありません。1つの厳格な制限があります:未成年者との性的コンテンツを禁止します。プロンプトはトレーニングに使用されません。失敗または拒否されたリクエストは課金されません。

プライバシーの観点から、ローカルの Ollama はプロンプトをあなたのマシン上に保持するため、ホスト型サービスでは実現できません。データが絶対に外部に出ない必要がある場合は、ローカルで実行し、比較を停止してください。テキストをホスト型サービスに送信できる場合は、まずプロバイダーのプライバシーページをお読みください。当社のプライバシーページは /privacy/ にあります。

制限、同時実行数、機能

ローカルの制限は物理的なものです。1つのGPUは、各リクエストが遅くなる前に数回の同時リクエストを処理しますが、長いコンテキストウィンドウはメモリを急速に消費します。ホストの制限はポリシーによるものです。このエンドポイントでは、フルキーは8回の同時リクエストと1分あたり300リクエストを許可し、トライアルキーは2回の同時と1分あたり60リクエストを許可します。コンテキストウィンドウはプロンプトと完了を合わせて100,000トークンで、リクエストボディは最大8 MBまで可能です。

制限を超えると HTTP 429 が返されます。エラーコードは、1 分あたりのリクエスト数に対しては rate_limited、一度に多すぎるリクエストに対しては concurrency です。Retry-After: 5 ヘッダーを伴う 429 は一時的な過負荷を意味するため、5 秒待ってから再試行してください。ストリーミングリクエストはストリームが終了するまで同時実行数のスロットを保持するため、複数のストリームを並行して開く場合はこれが重要になります。

ホスト側の機能カバーはチャット中心です。SSEを介したストリーミング(末尾に使用量情報付き)、関数呼び出し、JSON モード、temperature、top_p、stop、seed、ペナルティの透過的転送が利用できます。画像、音声、動画の生成、埋め込み、ファインチューニングはありません。それらが必要な場合は、他のサービスで用意してください。当ドキュメントには正確なリクエストフィールドが記載されています。

レスポンスヘッダーには X-Request-Id と X-Balance-USD が含まれるため、リクエストをログに記録し、別の呼び出しなしで残高クレジットを確認できます。

選択方法

最も大きな制約に基づいて選択してください。

  • プロンプトはあなたのハードウェア上に留める必要があります。 Ollama をローカルで使用してください。
  • 高性能な GPU をすでに所有しており、実験したいと考えています。 Ollama をローカルで使用し、トラフィックがそれを上回る場合に後で移行してください。
  • 特定のベンダーの最先端モデルまたはそのエコシステムが必要です。 そのベンダーの API を使用してください。別のプロバイダーは特定のモデルの代わりにはなりません。
  • 法的な成人用途での拒否なしで、ハードウェアの手入れなしでオープンウェイトモデルへのホスト型・従量課金制アクセスを求めています。 当エンドポイントのようなホスト型 OpenAI 互換エンドポイントを使用してください。

多くのチームは2つを併用します:開発用にラップトップ上のOllama、サーバーや顧客のブラウザから到達可能である必要があるもの用にホストエンドポイント。どちらも同じリクエスト形式に対応しているため、切り替えは書き換えではなく設定値の変更で済みます。ホスト側を試したい場合は、新規ユーザーは登録後にAPIキーページでワンクリックで$0.50の試用クレジットを取得できます。カードは不要で、7日間有効です。有料のチャージは$20から開始し、カードまたは暗号資産で受け付けます。

質問と回答

Ollama API は OpenAI SDK と互換性がありますか?

Ollama は /v1 の下にチャット完了を処理する OpenAI 互換レイヤーを公開しているため、公式の OpenAI SDK はベース URL を変更することでそれに向けることができます。お使いのバージョンがサポートするフィールドについては Ollama のドキュメントを確認してください。

Ollama は OpenAI API より安価ですか?

ハードウェアと使用量によります。ローカルランタイムにはトークンごとの料金はありませんが、マシンとその保守のコストがかかります。軽度または不規則な使用の場合、トークンごとの課金は GPU を購入するよりも安価なことが多いです。

ローカルの Ollama の代わりにこのサイトのエンドポイントを使用できますか?

はい、ホスト型 OpenAI 互換エンドポイントが必要な場合です。ベース URL を https://api.ollamaapi.com/v1 に、モデルを uncensored に設定してください。これは Ollama ではなく、あなたのマシン上で実行されるものではありません。

ホスト型エンドポイントはツール呼び出しとストリーミングをサポートしていますか?

はい。SSE によるストリーミング、ツール呼び出し、JSON モードをサポートしており、100,000 トークンのコンテキストウィンドウを備えています。

キーはフォーム 1 つで手に入ります

アカウントを作成し、キーをコピーし、ベースURLを変更します。これでセットアップは完了です。

APIキーを取得ドキュメントを読む