3.6 KiB
3.6 KiB
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
を設定すると、常にtemperature
が0
に設定されます。finish_reason
は常にstop
になります。- プロンプト評価がキャッシュされている補完では、
usage.prompt_tokens
は0
になります。
モデル
モデルを使用する前に、ローカルにプルしてください 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": "こんにちは!"
}
]
}'