Skip to content

Ollama は、既存のアプリケーションを Ollama に接続できるようにするため、OpenAI API の一部との互換性を提供します。

使用方法

シンプルな /v1/chat/completions の例

シンプルな /v1/responses の例

/v1/chat/completions の画像認識を用いた例

エンドポイント

/v1/chat/completions

サポートされている機能

  • [x] チャット補完
  • [x] ストリーミング
  • [x] JSONモード
  • [x] 再現可能な出力
  • [x] ビジョン
  • [x] ツール
  • [x] 推論/思考の制御(思考モデル向け)
  • [ ] ログプロット

サポートされているリクエストフィールド

  • [x] model
  • [x] messages
    • [x] テキスト content
    • [x] 画像 content
      • [x] Base64エンコードされた画像
      • [ ] 画像URL
    • [x] contentパーツの配列
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] response_format
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] tools
  • [x] reasoning_effort ("high", "medium", "low", "max", "none")
  • [x] reasoning
    • [x] effort ("high", "medium", "low", "max", "none")
  • [ ] tool_choice
  • [ ] logit_bias
  • [ ] user
  • [ ] n

/v1/completions

サポートされている機能

  • [x] 補完
  • [x] ストリーミング
  • [x] JSONモード
  • [x] 再現可能な出力
  • [ ] ログプロット

サポートされているリクエストフィールド

  • [x] model
  • [x] prompt
  • [x] frequency_penalty
  • [x] presence_penalty
  • [x] seed
  • [x] stop
  • [x] stream
  • [x] stream_options
    • [x] include_usage
  • [x] temperature
  • [x] top_p
  • [x] max_tokens
  • [x] suffix
  • [ ] best_of
  • [ ] echo
  • [ ] logit_bias
  • [ ] user
  • [ ] n

注意事項

  • promptは現在文字列のみを受け付けます

/v1/models

注意事項

  • createdはモデルが最後に変更された日時に対応します
  • owned_byはollamaのユーザー名に対応し、デフォルトは"library"です

/v1/models/{model}

注意事項

  • createdはモデルが最後に変更された日時に対応します
  • owned_byはollamaのユーザー名に対応し、デフォルトは"library"です

/v1/embeddings

サポートされているリクエストフィールド

  • [x] model
  • [x] input
    • [x] 文字列
    • [x] 文字列の配列
    • [ ] トークンの配列
    • [ ] トークン配列の配列
  • [x] encoding format
  • [x] dimensions
  • [ ] user

/v1/images/generations (実験的)

注意:このエンドポイントは実験的であり、将来のバージョンで変更または削除される可能性があります。

画像生成モデルを使用して画像を生成します。

サポートされているリクエストフィールド

  • [x] model
  • [x] prompt
  • [x] size (例: "1024x1024")
  • [x] response_format (b64_jsonのみサポート)
  • [ ] n
  • [ ] quality
  • [ ] style
  • [ ] user

/v1/responses

注意:Ollama v0.13.3で追加

OllamaはOpenAI Responses APIをサポートしています。ステートレスな形式のみがサポートされており(つまり、previous_response_idconversationのサポートはありません)。

サポートされている機能

  • [x] ストリーミング
  • [x] ツール(関数呼び出し)
  • [x] 推論の要約(思考モデル向け)
  • [ ] ステートフルなリクエスト

サポートされているリクエストフィールド

  • [x] model
  • [x] input
  • [x] instructions
  • [x] tools
  • [x] stream
  • [x] temperature
  • [x] top_p
  • [x] max_output_tokens
  • [ ] previous_response_id(ステートフルなv1/responsesはサポートされていません)
  • [ ] conversation(ステートフルなv1/responsesはサポートされていません)
  • [ ] truncation

モデル

モデルを使用する前に、ローカルにollama pullでプルしてください:

shell
ollama pull llama3.2

デフォルトのモデル名

gpt-3.5-turboなどのデフォルトのOpenAIモデル名に依存するツールの場合、ollama cpを使用して既存のモデル名を一時的な名前にコピーします:

shell
ollama cp llama3.2 gpt-3.5-turbo

その後、この新しいモデル名をmodelフィールドに指定できます:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "gpt-3.5-turbo",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'

コンテキストサイズの設定

OpenAI APIにはモデルのコンテキストサイズを設定する方法がありません。コンテキストサイズを変更する必要がある場合は、次のようなModelfileを作成します:

FROM <some model>
PARAMETER num_ctx <context size>

更新されたコンテキストサイズで新しいモデルを作成するには、ollama create mymodelコマンドを使用します。更新されたモデル名でAPIを呼び出します:

shell
curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "mymodel",
        "messages": [
            {
                "role": "user",
                "content": "Hello!"
            }
        ]
    }'