Ollama API とは?

Ollama は、大規模言語モデル(LLM)をローカルマシン上で実行するためのオープンソースツールです。HTTP リクエストを受け付ける REST API を提供しており、Llama 3、Mistral、Gemma などのモデルをターミナルやアプリケーションコードから直接操作できます。この API はシンプルな JSON ベースのリクエスト/レスポンス形式に従っており、テキスト生成、マルチターンのチャット会話、テキスト埋め込みをサポートしています。

Ollama API のテストや操作には、cURL が最も一般的な方法です。しかし、適切なパラメーター、ヘッダー、JSON ボディのフォーマットを含む正確な cURL コマンドを手動で構築するのは、特に temperature や top-k サンプリングなどのモデルオプションを調整する際に、手間がかかりエラーが発生しやすくなります。

ツールの説明

このツールは、Ollama API エンドポイント向けのすぐに使える cURL コマンドを生成します。エンドポイントを選択し、モデルとパラメーターを設定するだけで、適切にフォーマットされた cURL コマンドを即座に取得できます。生成されたコマンドには、必要なすべてのヘッダー、JSON ボディ構造、モデルオプションが含まれており、そのままターミナルに貼り付けて使用できます。

使用例

基本的なテキスト生成:

curl -X POST "http://localhost:11434/api/generate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "Explain quantum computing in simple terms",
  "stream": true
}'

システムプロンプトとカスタム temperature を使用したチャット:

curl -X POST "http://localhost:11434/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "messages": [
    { "role": "system", "content": "You are a helpful coding assistant." },
    { "role": "user", "content": "Write a Python function to reverse a string" }
  ],
  "stream": false,
  "options": {
    "temperature": 0.3
  }
}'

埋め込みの生成:

curl -X POST "http://localhost:11434/api/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "The quick brown fox jumps over the lazy dog",
  "stream": false
}'

機能

  • Ollama の主要な 3 つのエンドポイントをすべてサポート:/api/generate/api/chat/api/embeddings
  • 設定可能なモデルオプション:temperature、top-p、top-k、最大トークン数、繰り返しペナルティ、seed
  • generate および chat エンドポイント向けのシステムプロンプトサポート
  • 構造化された出力のための JSON レスポンス形式オプション
  • 生成されたコマンドを .sh ファイルとしてダウンロード可能

オプションの説明

オプション 説明 デフォルト 範囲
Temperature 出力のランダム性を制御します。低い値ほど焦点を絞ったテキストを生成し、高い値ほど創造性が増します。 0.7 0〜2
Top P Nucleus サンプリングのしきい値。累積確率がこの値に達するトークンをモデルが考慮します。 0.9 0〜1
Top K 各ステップで最も可能性の高い K 個の候補にトークンの選択を制限します。 40 1〜100
最大トークン数 レスポンスで生成するトークンの最大数。無制限にするには -1 を設定します。 128 -1〜4096
繰り返しペナルティ 繰り返されるトークンにペナルティを与えます。1.0 を超える値で繰り返しを抑制します。 1.1 0〜2
Seed 再現性のある出力のための固定 seed。ランダムな結果を得るには空欄のままにします。 任意の整数
レスポンス形式 JSON に設定すると、モデルが有効な JSON 出力を返すよう強制します。 なし なし / JSON
ストリーム 有効にすると、レスポンスがトークンごとにストリーミングされます。無効にすると完全なレスポンスを一度に受信します。 オン オン / オフ

ユースケース

  • JSON を手動で記述せずに、ターミナルから Ollama API 呼び出しを素早くプロトタイピング・テストする
  • チームメンバーと共有したり、ドキュメントに含めたりするための cURL コマンドを生成する
  • さまざまなモデルパラメーターを試して、ユースケースに最適な設定を見つける