AIパーソナル・ラーニング
と実践的なガイダンス
アリが描いたカエル

Ollama API ユーザーガイド

簡単

オーラマ 開発者が大規模な言語モデルと簡単にやりとりできるように、強力なREST APIが提供されている。Ollama APIを通じて、ユーザは自然言語処理、テキスト生成などのタスクに適用されたモデルによって生成されたリクエストを送信し、レスポンスを受け取ることができる。本稿では、補語生成や対話生成の基本操作について詳しく説明し、モデルの作成、モデルのコピー、モデルの削除といった一般的な操作についても解説する。

 

ふりだし

回答完了 ¦対話完了 ¦モデル作成 ¦モデルコピー ¦モデル削除 ¦実行モデル一覧 ¦ローカルモデル一覧 ¦モデル情報表示 ¦モデルPull ¦モデルPush ¦埋込み生成


 

I. 回答完了

POST /api/generate

指定されたモデルを使用して、指定されたプロンプトに対する応答を生成します。これはストリーミングエンドポイントなので、一連のレスポンスがあります。最終的なレスポンスオブジェクトには、リクエストからの統計情報やその他のデータが含まれます。

パラメトリック

  • モデルモデル名
  • 迅速レスポンスを生み出すヒント
  • 接尾辞モデル回答後のテキスト
  • イメージ(オプション) base64 エンコードされた画像のリスト (以下のようなマルチモーダルモデルの場合) リャバ )

高度なパラメータ(オプション):

  • フォーマットレスポンスのフォーマットを返します。現在利用可能な値は json
  • オプションその他のモデル・パラメーターは以下の通りである。 温度そしてシード 他
  • システムシステムメッセージ
  • テンプレート使用するプロンプトテンプレート
  • コンテキスト前評判より /生成する リクエストで返されるコンテキスト・パラメータは、以下のような短いダイアログ・メモリーを保持するために使用できる。
  • ストリームに設定されている場合 擬似 レスポンスは、オブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返される。
  • に設定されている場合 真の の場合、プロンプトの書式設定は行われない。APIリクエスト時に完全なテンプレート・プロンプトを指定する場合、オプションで  パラメトリック
  • キープアライブリクエスト後にモデルがメモリに残っている時間をコントロールする(デフォルト:5m)

リクエスト例(ストリーミング)

curl http://localhost:11434/api/generate -d '{'
"model": "llama3.1", "prompt".
"prompt": "なぜ草は緑色なのですか?"
}'

チップ

を使用する場合 カール コマンドをダウンロードしてください。 Windows用カール環境変数を追加するには、ファイルを解凍し、ファイルがあるディレクトリでbinサブファイルを見つけ、環境変数を追加するファイルのアドレスをコピーする。

コマンドラインウィンドウ(PowerShellではない)で以下のコマンドを使用し、正常に追加されたかどうかを確認する。

curl --help

追加に成功すると、次のように表示される。

Ollama API ユーザーズガイド-1

チップ

Windowsのコマンドラインウィンドウで カール コマンドを要求する際は、エスケープされた二重引用符の使用に注意すること。コマンドの例を以下に示す。

curl http://localhost:11434/api/generate -d "{"model": ˶="llama3.1", ˶="prompt": ˶="Why grass is green" }"

以下の表示は、リクエストが成功したことを示す。

Ollama API ユーザーズガイド-2

回答例

JSONオブジェクトのストリームを返します:

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T02:54:08.184732629Z",
「response": "plant",.
"done":false。
}

ストリームの最終レスポンスには、世代に関する追加データも含まれる:

  • context:このレスポンスに使用されたダイアログコード。ダイアログをメモリに保持するために、次のリクエストで送信することができる。
  • total_duration: レスポンスの生成にかかった時間 (ナノ秒単位)
  • load_duration: モデルのロードにかかる時間 (ナノ秒単位)
  • prompt_eval_count: プロンプト内のトークン数
  • prompt_eval_duration: プロンプトの評価にかかる時間 (ナノ秒)
  • eval_count: レスポンス内のトークン数
  • eval_duration: 応答の生成にかかる時間 (ナノ秒)
  • response: レスポンスがストリーミングの場合はnull、ストリーミングでない場合は完全なレスポンスが含まれる レスポンス生成率(1秒間に生成されるトークン数、tokens/s)を計算するには、以下のようになる。eval_count / eval_duration * 10^9.

最終的な回答

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T02:54:10.819603411Z",
「response":"、
「done":true, "done_reason".
「done_reason": "stop", "context":[1,2
"context":[1,2,3], "total_duration":86,3
"total_duration":8655401792,

"prompt_eval_count":17, "prompt_eval_duration":8655401792, "load_duration":5924129727,
"prompt_eval_duration":29196000,

"eval_duration":2656329000
}

高度なプレー

ノン・ストリーミング出力

そうしれいかん ストリーム に設定する。 擬似すべての回答を一度に受け取ることができます。

リクエスト例

curl http://localhost:11434/api/generate -d '{'
"model": "llama3.1", "prompt".
"プロンプト": "なぜ草は緑色ですか?",
"stream": false
}'

回答例

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T07:13:34.418567351Z",
"response": "答え:葉にはクロロフィルがたくさん含まれています。",
"done":true,。
"done_reason": "stop"、
"context":[1,2,3]、
"total_duration":2902435095,
"load_duration":2605831520, "prompt_eval_count
"prompt_eval_count":17, "prompt_eval_duration":2902435095, "load_duration":2605831520,
"prompt_eval_duration":29322000, "prompt_eval_count":13
"eval_count":13, "prompt_eval_duration":29322000, "prompt_eval_duration":29322000
"eval_duration":266499000
}

JSONモード

(落とす フォーマット に設定する。 json 出力はJSON形式となる。ただし 迅速 モデルはJSONフォーマットで応答するように指示される。そうしないと、モデルは大量のスペースを生成する可能性がある。

リクエスト例

curl http://localhost:11434/api/generate -d '{'
"model": "llama3.1", "prompt": "草はなぜ緑色ですか?
「prompt": "なぜ草は緑なのですか?答えをJSON形式で出力"、
"format": "json"、
「stream": false
}'

回答例

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T07:21:24.950883454Z", "response":"{\n
「response": "{n 〙"Reason for color": 〙"Leaves contain chlorophyll", 〙"Action": 〙"Photosynthesis absorbs solar energy",", "done".
"done":true、"done_reason".
"done_reason": "stop"、
"context":[1,2,3], "total_duration":3
"total_duration":3492279981, "total_duration":266


"prompt_eval_duration":28804000,
"eval_count":40, "prompt_eval_duration":8500000, "prompt_eval_duration":28804000, "prompt_eval_duration":28804000
"eval_duration":851206000
}

応答 の値は、以下のようなJSONを含む文字列になる:

{
"色の理由": "葉には光合成に必要なクロロフィルが含まれている"
"機能": "太陽エネルギーを吸収するために光合成を行う"
}

入力には画像が含まれる

マルチモーダルモデルに新しいモデルを追加するには(例えば リャバ もしかしたら バクラヴァ画像を投稿するには、Base64でエンコードされた イメージ リスト

リクエスト例

curl http://localhost:11434/api/generate -d '{」。
"model": "llava", "prompt".
"prompt": "この画像を記述してください"、
"stream": false、
"images": ["iVBORw0KGgoAAAANSUhEUgAAAG0AAABmCAYAAADBPx+VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA3VSURBVHgB7Z27r0zdG8fX743i1bi1ikMoFMQloXRpKFFIqI7LH4BEQ+NWIkjQuSWCRIEoULk0gsK1kCBI0IhrQVT7tz/7zZo888yz1r7MnDl7z5xvsjkzs2fP3uu71nNfa7lkAsm7d++Sffv2JbNmzUqcc8m0adOSzZs3Z+/XES4ZckAWJEGWPiCxjsQNLWmQsWjRIpMseaxcuTKpG/7HP27I8P79e7dq1ars/yL4/v27S0ejqwv+cUOGEGGpKHR37tzJCEpHV9tnT58+dXXCJDdECBE2Ojrqjh071hpNECjx4cMHVycM1Uhbv359B2F79+51586daxN/+pyRkRFXKyRDAqxEp4yMlDDzXG1NPnnyJKkThoK0VFd1ELZu3TrzXKxKfW7dMBQ6bcuWLW2v0VlHjx41z717927ba22U9APcw7Nnz1oGEPeL3m3p2mTAYnFmMOMXybPPXv2bNIPpFZr1NHn4HMw0KRBjg9NuRw95s8PEcz/6DZELQd/09C9QGq5RsmSRybqkwHGjh07OsJSsYYm3ijPpyHzoiacg35MLdDSIS/O1yM778jOTwYUkKNHWUzUWaOsylE00MyI0fcnOwIdjvtNdW/HZwNLGg+。sR1kMepSNJXmIwxBZiG8tDTpEZzKg0GItNsosY8USkxDhD0Rinuiko2gfL/RbiD2LZAjU9zKQJj8RDR0vJBR1/Phx9+PHj9Z7REF4nTZkxzX4LCXHrV271qXkBAPGfP/atWvu/PnzHe4C97F48eIsRLZ9+3a3f/9+87dwP1JxaF7/3r17ba+5l4EcaVo0lj3SBq5kGTJSQmLWMjgYNei2GPT1MuMqGTDEFHzeQSP2wi/jGnkmPJ/nhccs44jvDAxpVcxnq0F6eT8h4ni/iIWpR5lPyA6ETkNXoSukvpJAD3AsXLiwpZs49+fPn5ke4j10TqYvegSfn0OnafC+Tv9ooA/JPkgQysqQNBzagXY55nO/oa1F7qvIPWkRL12WRpMWUvpVDYmxAPehxWSe8ZEXL20sadYIozfmNch4QJPAfeJgW3rNsnzphBKNJM2KKODo1rVOMRYik5ETy3ix4qWNI81qAAirizgMIc+。yhTytx0JWZuNI03qsrgWlGtwjoS9XwgUhWGyhUaRZZQNNIEwCiXD16tXcAHUs79co0vSD8rrJCIW98pzvxpAWyyo3HYwqS0+のH0BjStClcZJT5coMm6D2LOF8TolGJtK9fvyZpyiC5ePFi9nc/oJU4eiEP0jVoAnHa9wyJycITMP78+eMeP37sXrx44d6+fdt6f82aNdkx1pg9e3Zb5W+RSRE+n+。VjksQWifvVaTKFhn5O8my63K8Qabdv33b379/PiAP//vuvW7BggZszZ072/+TJk91YgkafPn166zXB1rQHFvouAWHq9z3SEevSUerqCn2/dDCeta2jxYbr69evk4MHDyY7d+7MjhMnTiTPnz9Pfv/+nfQT2ggpO2dMF8cghuoM7Ygj5iWCqRlGFml0QC/ftGmTmzt3rmsaKDsgBSPh0/8yPeLLBihLkOKJc0jp8H8vUzcxIA1k6QJ/c78tWEyj5P3o4u9+jywNPdJi5rAH9x0KHcl4Hg570eQp3+vHXGyrmEeigzQsQsjavXt38ujRo44LQuDDhw+。TW7duRS1HGgMxhNXHgflaNTOsHyKvHK5Ijo2jbFjJBQK9YwFd6RVMzfgRBmEfP37suBBm/p49e1qjEP2mwTViNRo0VJWH1deMXcNK08uUjVU7s/zRaL+oLNxz1bpANco4npUgX4G2eFbpDFyQoQxojBCpEGSytmOH8qrH5Q9vuzD6ofQylkCUmh8DBAr+。q8JCyVNtWQIidKQE9wNtLSQnS4jDSsxNHogzFuQBw4cyM61UKVsjfr3ooBkPSqqQHesUPWVtzi9/vQi1T+rJj7WiTz4Pt/l3LxUkr5P2VYZaZ4URpsE+st/dujQoaBBYokbrz/8TJNQYLSonrPS9kUaSkPeZyj1AWSj+d+VBoy1pIWVNed8P0Ll/ee5HdGRhrHhR5GGN0r4LGZBaj8oFDJitBTJzIZgFcmU0Y8ytWMZMzJOaXUSrUs5RxKnrxmbb5YXO9VGUhtpXldhEUogFr3IzIsvlpmdosVcGVGXFWp2oU9kLFL3dEkSz6NHEY1sjSRdIuDFWEhd8KxFqsRi1uM/nz9/zpxnwlESONdg6dKlbsaMGS4EHFHtjFIDHwKOo46l4TxSuxgDzi+rE2jg+BaFruOX4HXa0Nnf1lwAPufZeF8/r6zD97WK2qFnGjBxTw5qNGPxT+5T/r7/o7RawFC3j4vTp09koCxkeHjqbHJqArmH5UrFKKksnxrK7FuRIs8STfBZv+luugXZ2pR/pP9Ois4z+。TiMzUUkUjD0iEi1fzX8GmXyuxUBRcaUfykV0YZnlJGKQpOiGB76x5GeWkWJc3mOrK6S7xdND+W5N6XyaRgtWJFe13GkaZnKOsYqGdOVVbGupsyA/l7emTLHi7vwTdirNEt0qxnzAvBFcnQF16xh/TMpUuXHDowhlA9vQVrahQkudRdzOnK+04ZSP3DUhVSP61YsaLtd/ks7ZgtPcXqPqEafHkdqa84X6aCeL7YWlv6edGFHb+。ZFICPlljHhg0bKuk0CSvVznWsotRu433alNdFrqG45ejoaPCaUkWERpLXjzFL2Rpllp7PJU2a/v7Ab8N05/。9t27Z16KUqoFGsxnI9EosS2niSYg9SpU6B4JgTrvVW1flt1sT+0ADIJU2maXzcUTraGCRaL1Wp9rUMk16PMom8QhruxzvZIegJjFU7LLCePfS8uaQdPny4jTTL0dbee5mYokQsXTIWNY46kuMbnt8Kmec+。LGWtOVIl9cT1rCB0V8WqkjAsRwta93TbwNYoGKsUSChN44lgBNCoHLHzquYKrU6qZ8lolCIN0Rh6cP0Q3U6I6IXILYOQI513hJaSKAorFpuHXJNfVlpRtmYBk1Su1obZr5dnKAO+L10Hrj3WZW+E3qh6IszE37F6EB+68mGpvKm4eb9bFrlzrok7fvr0Kfv727dvWRmdVTJHw0qiiCUSZ6wCK+7XL/AcsgNyL74DQQ730sv78Su7+t/A36MdY0sW5o40ahslXr58aZ5HtZB8GH64m9EmMZ7FpYw4T6QnrZfgenrhFxaSiSGXtPnz57e9TkNZLvTjeqhr734CNtrK41L40sUQckmj1lGKQ0rC37x544r8eNXRpnVE3ZZY7zXo8NomiO0ZUCj2uHz58rbXoZ6gc0uA+F6ZeKS/jhRDUq8MKrTho9fEkihMmhxtBI1DxKFY9XLpVcSkfoi8JGnToZO5sU5aiDQIW716ddt7ZLYtMQlhECdBGXZMWldY5BHm5xgAroWj4C0hbYkSc/jBmggIrXJWlZM6pSETsEPGqZOndr2uuuR5rF169a2HoHPdurUKZM4CO1WTPqaDaAd+GFGKdIQkxAn9RuEWcTRyN2KSUgiSgF5aWzPTeA/lN5rZubMmR2bE4SIC4nJoltgAV/dVefZm72AtctUCJU2CMJ327hxY9t7EHbkyJFseq+EJSY16RPo3Dkq1kkr7+.q0bNmyDuLQcZBEPYmHVdOBiJyIlrRDq41YPWfXOxUysi5fvtyaj+2BpcnsUV/oSoEMOk2CQGlr4ckhBwaetBhjCwH0ZHtJROPJkyc7UjcYLDjmrH7ADTEBXFfOYmB0k9oYBOjJ8b4aOYSe7QkKcYhFlq3QYLQhSidNmtS2RATwy8YOM3EQJsUjKiaWZ+.vZToUQgzhkHXudb/PW5YMHD9yZM2faPsMwoc7RciYJXbGuBqJ1UIGKKLv915jsvgtJxCZDubdXr165mzdvtr1Hz5LONA8jrUwKPqsmVesKa49S3Q4WxmRPUEYdTjgiUcfUwLx589ySJUva3oMkP6IYddq6HMS4o55xBJBUeRjzfa4Zdeg56QZ43LhxoyPo7Lf1kNt7oO8wWAbNwaYjIv5lhyS7kRf96dvm5Jah8vfvX3flyhX35cuX6HfzFHOToS1H4BenCaHvO8pr8iDuwoUL7tevX+b5ZdbBair0xkFIlFDlW4ZknEClsp/TzXyAKVOmmHWFVSbDNw1l1+4f90U6IY/q4V27dpnE9bJ+v87QEydjqx/UamVVPRG+mwkNTYN+9tjkwzEx+atCm/X9WvWtDtAb68Wy9LXa1UmvCDDIpPkyOQ5ZwSzJ4jMrvFcr0rSjOUh+GcT4LSg5ugkW1Io0/SCDQBojh0hPlaJdah+tkVYrnTZowP8iq1F1TgMBBauufyB33x1v+。NWFYmT5KmppgHC+NkAgbmRkpD3yn9QIseXymoTQFGQmIOKTxiZIWpvAatenVqRVXf2nTrAWMsPnKrMZHz6bJq5jvce6QK8J1cQNgKxlJapMPdZSR64/UivS9NztpkVEdKcrs5alhhWP9NeqlfWopzhZScI6QxseegZRGeg5a8C3Re1Mfl1ScP36ddcUaMuv24iOJtz7sbUjTS4qBvKmstYJoUauiuD3k5qhyr7QdUHMeCgLa1Ear9NquemdXgmum4fvJ6w1lqsuDhNrg1qSpleJK7K3TF0Q2jSd94uSZ60k1e3qyVpQK6PVWXp2/FC3mp6jBhKOiY2h3gtUV64TWM6wDETRPLDfSakXmH3w8g9Jlug8ZtT4kVF0kLUYYmCCtD/DrQ5YhMGbA9L3ucdjh0y8kOHW5gU/VEEmJTcL4Pz/。f7mgoAbYkAAAAAElFTkSuQmCC"
]
}'

回答例

{
"model": "llava",.
"created_at": "2024-08-08T07:33:55.481713465Z", "response":" 画像は、大きな目と笑った顔がかわいいブタに似ているアニメキャラクターの漫画です。
"response": "画像は、大きな目と笑った顔がかわいいブタに似ているアニメキャラクターの漫画です。大きな瞳と笑顔のかわいいブタのようなキャラクターのアニメです。 腕やしっぽから伸びる線で動いているように見え、まるで手を振っているような、踊っているような躍動感があります。ラインアートやステッカーによく見られる、遊び心のあるシンプルなスタイルで、大きな耳や微笑んだ表情など、誇張されたデザインがキャラクターの魅力を引き立てている。このキャラクターのデザインは、大きな耳や微笑んだ表情など、誇張された特徴でスタイル化されており、それが魅力に拍車をかけている。
"done":true、"done_reason": "done_reason":true
"done_reason": "stop", "context":[1,2,4
"context":[1,2,3], "total_duration":2,3
"total_duration":2960501550, "load_duration":4550, "load_duration":4500


"prompt_eval_duration":758437000, "prompt_eval_count":108, "prompt_eval_count":1,
"eval_count":108, "prompt_eval_duration":21550012, "prompt_eval_count":1, "prompt_eval_duration":758437000,
"eval_duration":2148818000
}

再現性のある出力

そうしれいかん シード 再現性のある出力を得るために固定値に設定する:

リクエスト例

curl http://localhost:11434/api/generate -d '{'
"model": "llama3.1", "prompt".
"プロンプト": "なぜ草は緑色ですか?",
"stream": false, "options": {
「オプション": {
"seed": 1001
}
}'

回答例

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T07:42:28.397780058Z",
"回答": "回答:葉には塩化物イオンが多く含まれているからです。",
"done":true,。
"done_reason": "stop"、
"context":[1,2,3]、
"total_duration":404791556, "load_duration":184791556, "load_duration":184791556

"prompt_eval_count":17、"prompt_eval_count":17、"prompt_eval_count":17
"prompt_eval_duration":22453000, "eval_count":16453000, "prompt_eval_count":17, "prompt_eval_count":17
"eval_count":16, "prompt_eval_duration":18317351, "prompt_eval_count":17, "prompt_eval_duration":22453000, "eval_count":16,
"eval_duration":321267000}

 

II.対話の完成

POST /api/chat

指定されたモデルを使用して、チャットの次のメッセージを生成します。これはストリーミングエンドポイントでもあるので、一連のレスポンスがあります。もし "ストリーム" に設定する。 擬似の場合、ストリーミングを無効にすることができる。最終的なレスポンスオブジェクトには、要求された統計情報と追加データが含まれる。

パラメトリック

  • モデルモデル名
  • メッセージ: チャットメッセージ。
  • 用具このモデルはツールの使用をサポートしている。そのためには ストリーム に設定する。 擬似

メッセージ このオブジェクトには以下のフィールドがある:

  • 役割メッセージの役割。 システムそしてユーザーそしてアシスタント もしかしたら 工具
  • 内容メッセージの内容
  • イメージ(オプション): メッセージに含める画像のリスト。 リャバ (このようなマルチモーダルモデル)
  • ツールコール(オプション):モデルが使用したいツールのリスト

高度なパラメータ(オプション):

  • フォーマットレスポンスのフォーマットを返します。現在利用可能な値は json
  • オプションなどの他のモデル・パラメーター 温度そしてシード 他
  • ストリームもし 擬似レスポンスは、オブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返される。
  • キープアライブ: リクエスト後にモデルがメモリにロードされたままになる時間を制御する(デフォルト:5m)

リクエスト例(ストリーミング)

curl http://localhost:11434/api/chat -d '{」。
"model": "llama3.1"、
「メッセージ": [
{
"role": "user", "content": "なぜ草は緑なのですか?
"content": "なぜ草は緑なのですか?"
}
]
}'

回答例

JSONオブジェクトのストリームを返します:

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T03:54:36.933701041Z",
"メッセージ":{
"role": "assistant", "content":{
"内容": "なぜなら"
},
"完了":false
}

最終的な回答

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T03:54:37.187621765Z",
"メッセージ":{
"role": "assistant", "content": {
"内容":"
},
"done_reason": "stop", "done":true, "content":" }, "done":true


"load_duration":5370535786, "prompt_eval_count":1717
"prompt_eval_count":17, "prompt_eval_duration":5730533217,
"prompt_eval_duration":29621000,
「eval_count":13、
"eval_duration":273810000
}

高度なプレー

ノン・ストリーミング出力、JSONモード、マルチモーダル入力、再現可能な出力、および アンサーAPI 一貫性の

歴史とともに

対話履歴付きチャットメッセージを送信。同じ方法で複数の対話または思考連鎖プロンプトを開始できます。

リクエスト例

curl http://localhost:11434/api/chat -d '{」。
"model": "llama3.1"、
「メッセージ": [
{
"role": "user", "content": "草はなぜ緑なのですか?
"content": "なぜ草は緑なのか?"
},
{
"role": "assistant", "content": "草には葉緑素が含まれているからです。
"content": "草には葉緑素が含まれているからです。"
},
{
"role": "user", "content": "なぜ葉緑素は草を緑色に見せるのか?" }, {
"content": "なぜ葉緑素は草を緑色に見せるのですか?"
}
], {
"stream": false
}'

回答例

{
"model": "llama3.1", "created_at".
"created_at": "2024-08-08T07:53:28.849517802Z",
"メッセージ":{
"role": "assistant", "content":{
"content": "もっと複雑な問題です!\クロロフィルはキサントフィルと呼ばれる色素で、これが光エネルギーを吸収する。昼間、緑の草の葉に含まれるクロロフィルは、青と赤の光を吸収し、黄色と緑の光を反射するから、草が緑に見えるんだ。\簡単に言うと、葉緑素が草を緑色に見せるのは、私たちの目に見える他の色を反射せずに、目に見える緑色の光を反射するからである。"
},.
"done_reason": "stop".
「done":true,。
"total_duration":5065572138,
"load_duration":2613559070, "prompt_eval_count":5065572138,
"prompt_eval_count":48, "prompt_eval_duration":5065572138, "load_duration":2613559070,
"prompt_eval_duration":37825000, "prompt_eval_count":1065572138,
"eval_count":106, "prompt_eval_duration":2213559070, "prompt_eval_count":48, "prompt_eval_duration":37825000,
"eval_duration":2266694000}

III.モデルの作成

POST /api/create

一般推奨 モデルファイル をセットするのではなく、モデルファイルの内容をセットする。 パスリモートモデルの作成。リモートモデルの作成は、すべてのファイルブロブ、フィールド(たとえば フロム 歌で応える アダプターを参照)、その値をレスポンスで示されたパスに設定する。

パラメトリック

  • 名称作成するモデルの名前
  • モデルファイル(オプション): モデルファイルの内容
  • ストリーム(オプション): もし 擬似レスポンスは、オブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返される。
  • パス(オプション): モデルファイルへのパス。

リクエスト例

curl http://localhost:11434/api/create -d '{
"name": "mario", "modelfile": "FROM llama3nSYSTEM
"modelfile": "FROM llama3xxnSYSTEM あなたはスーパーマリオブラザーズのマリオです。"
}'

回答例

JSONオブジェクトの文字列。最後のJSONオブジェクトは "ステータス": "成功"作成に成功しました。

{"status": "モデルメタデータの読み込み"} {"status": "システムレイヤーの作成
{"status": "システムレイヤーを作成中"} {"status": "作成済みのレイヤーを使用中
{"status": "既に作成されたレイヤーを使用 sha256:22f7f8ef5f4c791c1b03d7eb414399294764d7cc82c7e94aa81a1feb80a983a2"}} {"status": "既に作成されたレイヤーを使用 sha256:8c17c2ebb0ea011011a2
{"status": "既に作成されたレイヤーを使用 sha256:8c17c2ebb0ea011be9981cc3922db8ca8fa61e828c5d3f44cb6ae342bf80460b"}.
{"status": "既に作成されたレイヤーを使用 sha256:7c23fb36d80141c4ab8cdbb61ee4790102ebd2bf7aeff414453177d4f2110e5d"}.
{"status": "既に作成されたレイヤーを使用 sha256:2e0493f67d0c8c9c68a8aeacdf6a38a2151cb3c4c1d42accf296e19810527988"}.
{"status": "既に作成されたレイヤーを使用する sha256:2759286baa875dc22de5394b4a925701b1896a7e3f8e53275c36f75a877a82c9"}.
{"status": "writing layer sha256:df30045fe90f0d750db82a058109cecd6d4de9c90a3d75b19c09e5f64580bb42"}
{"status": "writing layer sha256:f18a68eb09bf925bb1b669490407c1b1251c5db98dc4d3d81f3088498ea55690"}
{"status": "マニフェストの書き込み"}。
{"status": "成功"} {"status": "成功"} {"status": "成功

Blobが存在するかチェックする

HEAD /api/blobs/:digest

FROM または ADAPTER フィールドのファイル blob がサーバーに存在することを確認してください。これはOllama.aiではなく、あなたのOllamaサーバーをチェックしています。

お問い合わせパラメーター

  • ダイジェストブロブのSHA256ダイジェスト

リクエスト例

curl -I http://localhost:11434/api/blobs/sha256:29fdb92e57cf0827ded04ae6461b5931d01fa595843f55d36f5b275a52087dd2

回答例

blobが存在する場合は "200 OK"、存在しない場合は "404 Not Found "を返す。

ブロブの作成

POST /api/blobs/:digest

サーバー上のファイルからブロブを作成します。

お問い合わせパラメーター

  • ダイジェスト期待されるSHA256文書の要約

リクエスト例

curl -T model.bin -X POST http://localhost:11434/api/blobs/sha256:29fdb92e57cf0827ded04ae6461b5931d01fa595843f55d36f5b275a52087dd2

回答例

blobが正常に作成された場合は201 Createdを、使用されたダイジェストが期待通りでなかった場合は400 Bad Requestを返す。

 

IV.複製モデル

POST /api/copy

モデルを複製し、別の名前を使って既存のモデルを複製する。

リクエスト例

curl http://localhost:11434/api/copy -d '{」とする。
"source": "llama3.1", "destination": "llama3-backup
"宛先": "llama3-backup"
}'

回答例

成功した場合は "200 OK "を、ソースモデルが存在しない場合は "404 Not Found "を返します。

 

V. モデルの削除

DELETE /api/delete

モデルとそのデータを削除する。

パラメトリック

  • 名称削除するモデル名

リクエスト例

[](https://github.com/datawhalechina/handy-ollama/blob/main/docs/C4/1.OllamaAPI.md#-4)

curl -X DELETE http://localhost:11434/api/delete -d '{".
"name": "llama3.1"
}'

回答例

削除に成功した場合は "200 OK "を、削除対象のモデルが存在しない場合は "404 Not Found "を返します。

 

VI. 運用モデルのリスト

GET /api/ps

現在メモリにロードされているモデルを一覧表示します。

リクエスト例

curl http://localhost:11434/api/ps

回答例

{
"models":[
{
"name": "llama3.1:latest"、
"model": "llama3.1:latest"、
"size": 6654289920, "digest": "7538208d99dfaa6".
"digest": "75382d0899dfaaa6ce331cf680b72bd6812c7f05e5158c5f2f43c6383e21d734",
"details":{
"parent_model":",.
"format": "gguf".
「family": "llama".
「family":["llama"], "parameter_size".
「parameter_size": "8.0B", "quantisation_level".
「quantisation_level": "Q4_0".
},
"expires_at": "2024-08-08T14:06:52.883023476+08:00",
"size_vram":6654289920
}
]
}

 

VII.ローカルモデルのリスト

GET /api/tags

現地で入手可能なモデルをリストアップ。

リクエスト例

curl http://localhost:11434/api/tags

回答例

{
"models":[
{
"name": "llama3.1:latest"、
"model": "llama3.1:latest"、
"modified_at": "2024-08-07T17:54:22.533937636+08:00",
"size":4661230977、
"digest": "75382d0899dfaaa6ce331cf680b72bd6812c7f05e5158c5f2f43c6383e21d734",
"details":{
"parent_model":",.
"format": "gguf".
「family": "llama".
「family":["llama"], "parameter_size".
「parameter_size": "8.0B", "quantisation_level".
「quantisation_level": "Q4_0".
}
}
]
}

 

モデル情報の表示

POST /api/show

詳細、モデルファイル、テンプレート、パラメータ、ライセンス、システムヒントを含むモデルに関する情報を表示します。

パラメトリック

  • 名称表示するモデル名
  • 冗長(オプション) 真のその後、詳細レスポンス・フィールドの全データを返す

リクエスト例

curl http://localhost:11434/api/show -d '{'
"name": "llama3.1"
}'

回答例

{
"ライセンス":"...",
"modelfile":"..."パラメータ":"..." , "モデルファイル":"...
「パラメータ":"..."テンプレート":"..." , "パラメーター":"...
「テンプレート":"...",
"details":{
"parent_model":", "", "format": "gguf", {
"format": "gguf", "family".
「family": "llama".
「family":["llama"], "parameter_size".
「parameter_size": "8.0B", "quantisation_level".
「quantisation_level": "Q4_0".
},.
"model_info":{
"general.architecture": "llama", "general.architecture": "llama", "general.basename".
"general.basename": "Meta-Llama-3.1"、
"general.file_type":2、"general.

"general.languages":["en", "de", "fr", "it", "pt", "hi", "es", "th"], "general.
"general.licence": "llama3.1", "general.parameter_count".
"general.parameter_count":8030261312, "general.
"general.quantisation_version":2、"general.size_label".

"general.tags":["facebook", "meta", "pytorch", "llama", "llama-3", "text-generation"], "general.
"general.type": "model".
"llama.attention.head_count":32、"llama.attention.head_count".
"llama.attention.head_count_kv":8、
"llama.attention.layer_norm_rms_epsilon":0.00001、
"llama.block_count":32、
"llama.context_length":131072,
"llama.embedding_length":4096、
"llama.feed_forward_length":14336、
"llama.rope.dimension_count":128、
"llama.rope.freq_base":500000,
"llama.vocab_size":128256,
"tokenizer.ggml.bos_token_id":128000、
"tokenizer.ggml.eos_token_id":128009、
"tokenizer.ggml.merges":null、
"tokenizer.ggml.model": "gpt2"、
"tokenizer.ggml.pre": "llama-bpe"、
"tokenizer.ggml.token_type":null、"tokeniser.ggml.pre": "llama-bpe"、"tokenizer.ggml.token_type":null、"tokeniser.ggml.pre": null
"tokenizer.ggml.tokens":null
}, "modified_at":null
"modified_at": "2024-08-07T17:54:22.533937636+08:00"
}

 

プルモデル

POST /api/pull

をとおして オラマ ライブラリー・ダウンロード・モデル。中断されたプル操作はブレークポイントからダウンロードを継続し、複数の呼び出しが同じダウンロード進捗を共有する。

パラメトリック

  • 名称引っ張るモデル名
  • 危うい(オプション):ライブラリへの安全でない接続を許可する。このオプションは、開発中に独自のライブラリから取得する場合にのみ使用することをお勧めします。
  • ストリーム(オプション): もし 擬似レスポンスは、オブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返される。

リクエスト例

curl http://localhost:11434/api/pull -d '{'
"name": "llama3.1"
}'

回答例

万が一 ストリーム 指定なし、または 真のそして、JSONオブジェクトの文字列が返される:

最初のオブジェクトはリストである:

{
"ステータス": "マニフェストを引っ張っている"
}

その後、一連のダウンロード応答がある。ダウンロードが完了するまでは、以下のものが含まれていない可能性がある。 完成 キーを押します。ダウンロードされるファイルの数は、リストで指定されたレイヤーの数に依存します。

{
"status": "downloading digestname", "digest".
"digest": "digestname", "total".
"total": 2142590208, "completed": 241970
「完了": 241970
}

すべてのファイルがダウンロードされた後の最終的な応答は次のようになる:

{ "status": "sha256ダイジェストを検証中".
"status": "sha256 ダイジェストの検証中"
}
{
"status": "マニフェストの書き込み"
}

"status": "未使用レイヤーの削除"
}
{
"status": "成功"
}

万が一 ストリーム をfalseに設定すると、レスポンスは単一のJSONオブジェクトになる:

{
"status": "success"
}

 

X. プッシュモデル

POST /api/push

モデルをモデルリポジトリにアップロードします。最初にollama.aiを登録し、公開鍵を追加する必要があります。

パラメトリック

  • 名称プッシュされるモデルの名前。 /:<タグ
  • 危うい(オプション): ライブラリへの安全でない接続を許可する。このオプションは、開発中に独自のライブラリにプッシュする場合にのみ使用してください。
  • ストリーム(オプション): もし 擬似レスポンスは、オブジェクトのストリームではなく、単一のレスポンスオブジェクトとして返される。

リクエスト例

curl http://localhost:11434/api/push -d '{'
"名前": "mattw/pygmalion:latest"
}'

回答例

万が一 ストリーム 指定なし、または 真のそして、JSONオブジェクトの文字列が返される:

{ "status": "retrieving manifest" }.

その後、アップロードの反応が続いた:

{
"status": "アップロード開始", "digest".
"digest": "sha256:bc07c81de745696fdf5afca05e065818a8149fb0c77266fb584d9b2cba3711ab",
「合計": 1928429856
}

最後に、アップロードが完了したら

{"status": "マニフェストを押しています"} {"status": "成功"} {"status": "成功"} {"status": "マニフェストを押しています"} {"status": "成功
{"status": "成功"}。

万が一 ストリーム に設定する。 擬似レスポンスが単一のJSONオブジェクトの場合、レスポンスは単一のJSONオブジェクトである:

{ "status": "success" }.

 

XI.エンベッドの生成

POST /api/embed

モデルから埋め込みを生成する

パラメトリック

  • モデル埋め込みを生成するモデルの名前。
  • 入力埋め込みテキストまたはテキストのリストを生成するには

高度なパラメータ:

  • 切り捨てる: コンテキストの長さに合わせて各入力の最後を切り捨てる。の場合は問題ない。 擬似 でコンテキストの長さを超えるとエラーが返されます。デフォルト値は 真の
  • オプションなどの他のモデル・パラメーター 温度そしてシード 他
  • キープアライブ: リクエスト後にモデルがメモリにロードされたままになる時間を制御する(デフォルト:5m)

リクエスト例

curl http://localhost:11434/api/embed -d '{」。
"model": "llama3.1", "input".
"input": "なぜ草は緑なのか?"
}'

回答例

{
"model": "llama3.1"、
"embeddings":[
-0.008059342,-0.013182715,0.019781841,0.012018124,-0.024847334.
-0.0031902494,-0.02714767,0.015282277,0.060032737,...
]]
"total_duration":3041671009, "load_duration":284

「プロンプト_eval_count":7}。

リクエスト例(複数入力)

curl http://localhost:11434/api/embed -d '{
"model": "llama3.1", "input": ["なぜ草は緑なのか?
"input": ["なぜ草は緑なのか?なぜ空は青いの?]
}'

回答例

{
"model": "llama3.1"、
"embeddings":[
-0.008471201,-0.013031566,0.019300476,0.011618419,-0.025197424.
-0.0024164673,-0.02669075,0.015766116,0.059984162,...
],[
-0.012765694,-0.012822924,0.015915949,0.006415892,-0.02327763,...
0.004859615,-0.017922137,0.019488193,0.05638235,...
]]
"total_duration":195481419, "load_duration":136
"load_duration":1318886, "prompt_eval_count":0.017922137,0.019488193,0.05638235.
「prompt_eval_count":14
}

 

エラー処理

エラーが発生した場合、Ollama API は適切なエラーコードとメッセージを返します。よくあるエラーは以下の通りです:

  • 400 Bad Request: リクエスト・フォーマット・エラー。
  • 404 Not Found: 要求されたリソースは存在しません。
  • 500 Internal Server Error: 内部サーバーエラー。
シーディーエヌワン
無断転載を禁じます:チーフAIシェアリングサークル " Ollama API ユーザーガイド

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語