ollama/docs/ja/openai.md
2024-03-12 19:59:59 +08:00

3.6 KiB
Raw Blame History

OpenAI の互換性

注意: OpenAI の互換性は実験的であり、大規模な変更や互換性のない変更が加えられる可能性があります。Ollama API のすべての機能を使用するには、Ollama のPython ライブラリJavaScript ライブラリ、および REST API を参照してください。

Ollama は、既存のアプリケーションを Ollama に接続するのに役立つよう、OpenAI API の一部との実験的な互換性を提供します。

使用法

OpenAI Python ライブラリ

from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1/',

    # 必須ですが無視されます
    api_key='ollama',
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            'role': 'user',
            'content': 'これはテストですと言う',
        }
    ],
    model='llama2',
)

OpenAI JavaScript ライブラリ

import OpenAI from 'openai'

const openai = new OpenAI({
  baseURL: 'http://localhost:11434/v1/',

  // 必須ですが無視されます
  apiKey: 'ollama',
})

const chatCompletion = await openai.chat.completions.create({
  messages: [{ role: 'user', content: 'これはテストですと言う' }],
  model: 'llama2',
})

curl

curl http://localhost:11434/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "llama2",
        "messages": [
            {
                "role": "system",
                "content": "あなたは役に立つアシスタントです。"
            },
            {
                "role": "user",
                "content": "こんにちは!"
            }
        ]
    }'

エンドポイント

/v1/chat/completions

サポートされている機能

  • チャット補完
  • ストリーミング
  • JSON モード
  • 再現可能な出力
  • ビジョン
  • 関数の呼び出し
  • ログプロブ

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

  • model
  • messages
    • テキスト content
    • content の部分の配列
  • frequency_penalty
  • presence_penalty
  • response_format
  • seed
  • stop
  • stream
  • temperature
  • top_p
  • max_tokens
  • logit_bias
  • tools
  • tool_choice
  • user
  • n

注意事項

  • seed を設定すると、常に temperature0 に設定されます。
  • finish_reason は常に stop になります。
  • プロンプト評価がキャッシュされている補完では、usage.prompt_tokens0 になります。

モデル

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

ollama pull llama2

デフォルトのモデル名

gpt-3.5-turbo などのデフォルトの OpenAI モデル名を使用するツールについては、既存のモデル名を一時的な名前にコピーするには ollama cp を使用してください:

ollama cp llama2 gpt-3.5-turbo

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

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