Deepseek官網接口文檔

API

接口

  • 生成完成

  • 生成聊天完成

  • 創建模型

  • 列出本地模型

  • 顯示模型信息

  • 復制模型

  • 刪除模型

  • 拉取模型

  • 推送模型

  • 生成嵌入

  • 列出運行中的模型

  • 版本

約定

模型名稱

模型名稱遵循 model:tag 格式,其中 model 可以有一個可選的命名空間,例如 example/model。一些示例包括 orca-mini:3b-q4_1llama3:70b。標簽是可選的,如果未提供,則默認為 latest。標簽用于標識特定版本。

持續時間

所有持續時間均以納秒為單位返回。

流式響應

某些接口以 JSON 對象的形式流式傳輸響應。可以通過為這些接口提供 {"stream": false} 來禁用流式傳輸。

生成完成

POST /api/generate

使用提供的模型為給定提示生成響應。這是一個流式接口,因此會有一系列響應。最終的響應對象將包括統計信息和請求的其他數據。

參數

  • model: (必需)模型名稱

  • prompt: 要為其生成響應的提示

  • suffix: 模型響應后的文本

  • images: (可選)基礎64編碼的圖像列表(適用于多模態模型,如 llava

高級參數(可選):

  • format: 返回響應的格式。格式可以是 json 或 JSON 模式

  • options: 文檔中列出的 Modelfile 的其他模型參數,例如 temperature

  • system: 系統消息(覆蓋在 Modelfile 中定義的內容)

  • template: 要使用的提示模板(覆蓋在 Modelfile 中定義的內容)

  • stream: 如果為 false,則響應將作為單個響應對象返回,而不是一系列對象

  • raw: 如果為 true,則不會對提示應用任何格式化。如果您在 API 請求中指定了完整的模板化提示,則可以選擇使用 raw 參數

  • keep_alive: 控制模型在請求后保留在內存中的時間(默認值:5m

  • context(已棄用):從先前對 /generate 的請求返回的上下文參數,可用于保持簡短的對話記憶

結構化輸出

通過在 format 參數中提供 JSON 模式來支持結構化輸出。模型將生成符合該模式的響應。請參閱下面的 請求結構化輸出 示例。

JSON 模式

通過將 format 參數設置為 json 來啟用 JSON 模式。這將使響應成為一個有效的 JSON 對象。請參閱下面的 JSON 模式 [示例](#請求 JSON 模式)。

[!重要] 在 prompt 中指示模型使用 JSON 非常重要。否則,模型可能會生成大量空白。

示例
生成請求(流式)
請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llama3.2","prompt": "天空為什么是藍色的?"
}'
響應

返回一系列 JSON 對象:

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T08:52:19.385406455-07:00","response": "The","done": false
}

流中的最終響應還包含有關生成的其他數據:

  • total_duration: 生成響應所花費的時間

  • load_duration: 加載模型所花費的納秒時間

  • prompt_eval_count: 提示中的標記數量

  • prompt_eval_duration: 評估提示所花費的納秒時間

  • eval_count: 響應中的標記數量

  • eval_duration: 生成響應所花費的納秒時間

  • context: 用于此響應的對話編碼,可以在下一次請求中發送以保持對話記憶

  • response: 如果響應是流式的,則為空;如果不是流式的,則包含完整的響應

要計算響應生成的速度(以每秒標記數表示),請將 eval_count 除以 eval_duration * 10^9

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T19:22:45.499127Z","response": "","done": true,"context": [1, 2, 3],"total_duration": 10706818083,"load_duration": 6338219291,"prompt_eval_count": 26,"prompt_eval_duration": 130079000,"eval_count": 259,"eval_duration": 4232710000
}
請求(非流式)
請求

當關閉流式傳輸時,可以在一次回復中接收響應。

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llama3.2","prompt": "天空為什么是藍色的?","stream": false
}'
響應

如果將 stream 設置為 false,則響應將是一個單一的 JSON 對象:

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T19:22:45.499127Z","response": "天空是藍色的,因為它就是天空的顏色。","done": true,"context": [1, 2, 3],"total_duration": 5043500667,"load_duration": 5025959,"prompt_eval_count": 26,"prompt_eval_duration": 325953000,"eval_count": 290,"eval_duration": 4709213000
}
請求(帶后綴)
請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "codellama:code","prompt": "def compute_gcd(a, b):","suffix": "    return result","options": {"temperature": 0},"stream": false
}'
響應

JSON復制

{"model": "codellama:code","created_at": "2024-07-22T20:47:51.147561Z","response": "\n  if a == 0:\n    return b\n  else:\n    return compute_gcd(b % a, a)\n\ndef compute_lcm(a, b):\n  result = (a * b) / compute_gcd(a, b)\n","done": true,"done_reason": "stop","context": [...],"total_duration": 1162761250,"load_duration": 6683708,"prompt_eval_count": 17,"prompt_eval_duration": 201222000,"eval_count": 63,"eval_duration": 953997000
}
請求(結構化輸出)
請求

Shell復制

curl -X POST http://localhost:11434/api/generate -H "Content-Type: application/json" -d '{"model": "llama3.1:8b","prompt": "Ollama 22 歲,正忙著拯救世界。請以 JSON 格式回復","stream": false,"format": {"type": "object","properties": {"age": {"type": "integer"},"available": {"type": "boolean"}},"required": ["age","available"]}
}'
響應

JSON復制

{"model": "llama3.1:8b","created_at": "2024-12-06T00:48:09.983619Z","response": "{\n  \"age\": 22,\n  \"available\": true\n}","done": true,"done_reason": "stop","context": [1, 2, 3],"total_duration": 1075509083,"load_duration": 567678166,"prompt_eval_count": 28,"prompt_eval_duration": 236000000,"eval_count": 16,"eval_duration": 269000000
}
請求(JSON 模式)

[!重要] 當 format 設置為 json 時,輸出將始終是一個格式良好的 JSON 對象。同樣重要的是,還要指示模型以 JSON 格式回復。

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llama3.2","prompt": "一天中不同時間天空的顏色是什么?請以 JSON 格式回復","format": "json","stream": false
}'
響應

JSON復制

{"model": "llama3.2","created_at": "2023-11-09T21:07:55.186497Z","response": "{\n\"morning\": {\n\"color\": \"blue\"\n},\n\"noon\": {\n\"color\": \"blue-gray\"\n},\n\"afternoon\": {\n\"color\": \"warm gray\"\n},\n\"evening\": {\n\"color\": \"orange\"\n}\n}\n","done": true,"context": [1, 2, 3],"total_duration": 4648158584,"load_duration": 4071084,"prompt_eval_count": 36,"prompt_eval_duration": 439038000,"eval_count": 180,"eval_duration": 4196918000
}

response 的值將是一個包含類似以下 JSON 的字符串:

JSON復制

{"morning": {"color": "blue"},"noon": {"color": "blue-gray"},"afternoon": {"color": "warm gray"},"evening": {"color": "orange"}
}
請求(帶圖像)

要向多模態模型(如 llavabakllava)提交圖像,請提供基礎64編碼的 images 列表:

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llava","prompt":"圖片里有什么?","stream": false,"images": ["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"]
}'
響應

JSON復制

{"model": "llava","created_at": "2023-11-03T15:36:02.583064Z","response": "一個可愛的卡通角色,看起來既可愛又快樂。","done": true,"context": [1, 2, 3],"total_duration": 2938432250,"load_duration": 2559292,"prompt_eval_count": 1,"prompt_eval_duration": 2195557000,"eval_count": 44,"eval_duration": 736432000
}
請求(原始模式)

在某些情況下,您可能希望繞過模板系統并提供完整的提示。在這種情況下,您可以使用 raw 參數來禁用模板化。請注意,原始模式不會返回上下文。

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "mistral","prompt": "[INST] 為什么天空是藍色的? [/INST]","raw": true,"stream": false
}'
請求(可重復輸出)

為了獲得可重復的輸出,請將 seed 設置為一個數字:

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "mistral","prompt": "為什么天空是藍色的?","options": {"seed": 123}
}'
響應

JSON復制

{"model": "mistral","created_at": "2023-11-03T15:36:02.583064Z","response": "天空看起來是藍色的,這是由于一種稱為瑞利散射的現象。","done": true,"total_duration": 8493852375,"load_duration": 6589624375,"prompt_eval_count": 14,"prompt_eval_duration": 119039000,"eval_count": 110,"eval_duration": 1779061000
}
生成請求(帶選項)

如果您希望在運行時而不是在 Modelfile 中為模型設置自定義選項,可以使用 options 參數。此示例設置了所有可用選項,但您可以單獨設置其中任何一個,并省略您不想覆蓋的選項。

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llama3.2","prompt": "為什么天空是藍色的?","stream": false,"options": {"num_keep": 5,"seed": 42,"num_predict": 100,"top_k": 20,"top_p": 0.9,"min_p": 0.0,"typical_p": 0.7,"repeat_last_n": 33,"temperature": 0.8,"repeat_penalty": 1.2,"presence_penalty": 1.5,"frequency_penalty": 1.0,"mirostat": 1,"mirostat_tau": 0.8,"mirostat_eta": 0.6,"penalize_newline": true,"stop": ["\n", "user:"],"numa": false,"num_ctx": 1024,"num_batch": 2,"num_gpu": 1,"main_gpu": 0,"low_vram": false,"vocab_only": false,"use_mmap": true,"use_mlock": false,"num_thread": 8}
}'
響應

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T19:22:45.499127Z","response": "天空是藍色的,因為它就是天空的顏色。","done": true,"context": [1, 2, 3],"total_duration": 4935886791,"load_duration": 534986708,"prompt_eval_count": 26,"prompt_eval_duration": 107345000,"eval_count": 237,"eval_duration": 4289432000
}
加載模型

如果提供空提示,則模型將被加載到內存中。

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llama3.2"
}'
響應

返回一個單一的 JSON 對象:

JSON復制

{"model": "llama3.2","created_at": "2023-12-18T19:52:07.071755Z","response": "","done": true
}
卸載模型

如果提供空提示,并且 keep_alive 參數設置為 0,則模型將從內存中卸載。

請求

Shell復制

curl http://localhost:11434/api/generate -d '{"model": "llama3.2","keep_alive": 0
}'
響應

返回一個單一的 JSON 對象:

JSON復制

{"model": "llama3.2","created_at": "2024-09-12T03:54:03.516566Z","response": "","done": true,"done_reason": "unload"
}

生成聊天完成

POST /api/chat

使用提供的模型生成聊天中的下一條消息。這是一個流式接口,因此會有一系列響應。可以使用 "stream": false 禁用流式傳輸。最終的響應對象將包括統計信息和請求的其他數據。

參數

  • model: (必需)模型名稱

  • messages: 聊天的消息,可用于保持聊天記憶

  • tools: 如果模型支持,可以使用的工具列表

message 對象具有以下字段:

  • role: 消息的角色,可以是 systemuserassistanttool

  • content: 消息的內容

  • images(可選):要包含在消息中的圖像列表(適用于多模態模型,如 llava

  • tool_calls(可選):模型想要使用的工具列表

高級參數(可選):

  • format: 返回響應的格式。格式可以是 json 或 JSON 模式。

  • options: 文檔中列出的 Modelfile 的其他模型參數,例如 temperature

  • stream: 如果為 false,則響應將作為單個響應對象返回,而不是一系列對象

  • keep_alive: 控制模型在請求后保留在內存中的時間(默認值:5m

結構化輸出

通過在 format 參數中提供 JSON 模式來支持結構化輸出。模型將生成符合該模式的響應。請參閱下面的 聊天請求(結構化輸出) 示例。

示例
聊天請求(流式)
請求

發送帶有流式響應的聊天消息。

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "為什么天空是藍色的?"}]
}'
響應

返回一系列 JSON 對象:

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T08:52:19.385406455-07:00","message": {"role": "assistant","content": "The","images": null},"done": false
}

最終響應:

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T19:22:45.499127Z","done": true,"total_duration": 4883583458,"load_duration": 1334875,"prompt_eval_count": 26,"prompt_eval_duration": 342546000,"eval_count": 282,"eval_duration": 4535599000
}
聊天請求(非流式)
請求

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "為什么天空是藍色的?"}],"stream": false
}'
響應

JSON復制

{"model": "llama3.2","created_at": "2023-12-12T14:13:43.416799Z","message": {"role": "assistant","content": "你好!今天過得怎么樣?"},"done": true,"total_duration": 5191566416,"load_duration": 2154458,"prompt_eval_count": 26,"prompt_eval_duration": 383809000,"eval_count": 298,"eval_duration": 4799921000
}
聊天請求(結構化輸出)
請求

Shell復制

curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{"model": "llama3.1","messages": [{"role": "user", "content": "Ollama 22 歲,正忙著拯救世界。返回一個包含年齡和可用性的 JSON 對象"}],"stream": false,"format": {"type": "object","properties": {"age": {"type": "integer"},"available": {"type": "boolean"}},"required": ["age","available"]},"options": {"temperature": 0}
}'
響應

JSON復制

{"model": "llama3.1","created_at": "2024-12-06T00:46:58.265747Z","message": { "role": "assistant", "content": "{\"age\": 22, \"available\": false}" },"done_reason": "stop","done": true,"total_duration": 2254970291,"load_duration": 574751416,"prompt_eval_count": 34,"prompt_eval_duration": 1502000000,"eval_count": 12,"eval_duration": 175000000
}
聊天請求(帶歷史記錄)

發送帶有對話歷史記錄的聊天消息。您可以使用相同的方法使用多輪提示或鏈式思考提示來開始對話。

請求

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "為什么天空是藍色的?"},{"role": "assistant","content": "由于瑞利散射。"},{"role": "user","content": "這與米氏散射有什么不同?"}]
}'
響應

返回一系列 JSON 對象:

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T08:52:19.385406455-07:00","message": {"role": "assistant","content": "The"},"done": false
}

最終響應:

JSON復制

{"model": "llama3.2","created_at": "2023-08-04T19:22:45.499127Z","done": true,"total_duration": 8113331500,"load_duration": 6396458,"prompt_eval_count": 61,"prompt_eval_duration": 398801000,"eval_count": 468,"eval_duration": 7701267000
}
聊天請求(帶圖像)
請求

發送帶有圖像的聊天消息。圖像應作為數組提供,其中單個圖像以 Base64 編碼。

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llava","messages": [{"role": "user","content": "圖片里有什么?","images": ["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"] } ] }'

##### 響應```json
{"model": "llava","created_at": "2023-12-13T22:42:50.203334Z","message": {"role": "assistant","content": "圖片中是一個可愛的卡通小豬,表情憤怒。它穿著一件印有愛心的襯衫,正在空中揮舞。這個場景看起來像是一個繪畫或素描項目的一部分。","images": null},"done": true,"total_duration": 1668506709,"load_duration": 1986209,"prompt_eval_count": 26,"prompt_eval_duration": 359682000,"eval_count": 83,"eval_duration": 1303285000
}
聊天請求(可重復輸出)
請求

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "你好!"}],"options": {"seed": 101,"temperature": 0}
}'
響應

JSON復制

{"model": "llama3.2","created_at": "2023-12-12T14:13:43.416799Z","message": {"role": "assistant","content": "你好!今天過得怎么樣?"},"done": true,"total_duration": 5191566416,"load_duration": 2154458,"prompt_eval_count": 26,"prompt_eval_duration": 383809000,"eval_count": 298,"eval_duration": 4799921000
}
聊天請求(帶工具)
請求

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [{"role": "user","content": "今天巴黎的天氣如何?"}],"stream": false,"tools": [{"type": "function","function": {"name": "get_current_weather","description": "獲取某個位置的當前天氣","parameters": {"type": "object","properties": {"location": {"type": "string","description": "要獲取天氣的位置,例如舊金山,加利福尼亞州"},"format": {"type": "string","description": "返回天氣的格式,例如 '攝氏度' 或 '華氏度'","enum": ["攝氏度", "華氏度"]}},"required": ["location", "format"]}}}]
}'
響應

JSON復制

{"model": "llama3.2","created_at": "2024-07-22T20:33:28.123648Z","message": {"role": "assistant","content": "","tool_calls": [{"function": {"name": "get_current_weather","arguments": {"format": "攝氏度","location": "巴黎,法國"}}}]},"done_reason": "stop","done": true,"total_duration": 885095291,"load_duration": 3753500,"prompt_eval_count": 122,"prompt_eval_duration": 328493000,"eval_count": 33,"eval_duration": 552222000
}
加載模型

如果消息數組為空,則模型將被加載到內存中。

請求

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": []
}'
響應

JSON復制

{"model": "llama3.2","created_at":"2024-09-12T21:17:29.110811Z","message": {"role": "assistant","content": ""},"done_reason": "load","done": true
}
卸載模型

如果消息數組為空,并且 keep_alive 參數設置為 0,則模型將從內存中卸載。

請求

Shell復制

curl http://localhost:11434/api/chat -d '{"model": "llama3.2","messages": [],"keep_alive": 0
}'
響應

返回一個單一的 JSON 對象:

JSON復制

{"model": "llama3.2","created_at":"2024-09-12T21:33:17.547535Z","message": {"role": "assistant","content": ""},"done_reason": "unload","done": true
}

創建模型

POST /api/create

從以下內容創建模型:

  • 另一個模型;

  • 一個 safetensors 目錄;或

  • 一個 GGUF 文件。

如果您是從 safetensors 目錄或 GGUF 文件創建模型,則必須 [創建一個 blob](#創建一個 blob) 用于每個文件,然后在 files 字段中使用與每個 blob 相關聯的文件名和 SHA256 摘要。

參數

  • model: 要創建的模型名稱

  • from: (可選)要從中創建新模型的現有模型名稱

  • files: (可選)一個字典,包含文件名到 blob 摘要的 SHA256 摘要,用于創建模型

  • adapters: (可選)一個字典,包含文件名到 blob 摘要的 SHA256 摘要,用于 LORA 適配器

  • template: (可選)模型的提示模板

  • license: (可選)包含模型許可證或許可證列表的字符串

  • system: (可選)模型的系統提示字符串

  • parameters: (可選)模型的參數字典(請參閱 Modelfile 以獲取參數列表)

  • messages: (可選)用于創建對話的消息對象列表

  • stream: (可選)如果為 false,則響應將作為單個響應對象返回,而不是一系列對象

  • quantize(可選):量化一個非量化(例如 float16)模型

量化類型
類型推薦
q2_K
q3_K_L
q3_K_M
q3_K_S
q4_0
q4_1
q4_K_M*
q4_K_S
q5_0
q5_1
q5_K_M
q5_K_S
q6_K
q8_0*
示例
創建新模型

從現有模型創建一個新模型。

請求

Shell復制

curl http://localhost:11434/api/create -d '{"model": "mario","from": "llama3.2","system": "你是超級馬里奧中的馬里奧。"
}'
響應

返回一系列 JSON 對象:

JSON復制

{"status":"reading model metadata"}
{"status":"creating system layer"}
{"status":"using already created layer sha256:22f7f8ef5f4c791c1b03d7eb414399294764d7cc82c7e94aa81a1feb80a983a2"}
{"status":"using already created layer sha256:8c17c2ebb0ea011be9981cc3922db8ca8fa61e828c5d3f44cb6ae342bf80460b"}
{"status":"using already created layer sha256:7c23fb36d80141c4ab8cdbb61ee4790102ebd2bf7aeff414453177d4f2110e5d"}
{"status":"using already created layer sha256:2e0493f67d0c8c9c68a8aeacdf6a38a2151cb3c4c1d42accf296e19810527988"}
{"status":"using already created layer sha256:2759286baa875dc22de5394b4a925701b1896a7e3f8e53275c36f75a877a82c9"}
{"status":"writing layer sha256:df30045fe90f0d750db82a058109cecd6d4de9c90a3d75b19c09e5f64580bb42"}
{"status":"writing layer sha256:f18a68eb09bf925bb1b669490407c1b1251c5db98dc4d3d81f3088498ea55690"}
{"status":"writing manifest"}
{"status":"success"}
量化模型

量化一個非量化模型。

請求

Shell復制

curl http://localhost:11434/api/create -d '{"model": "llama3.1:quantized","from": "llama3.1:8b-instruct-fp16","quantize": "q4_K_M"
}'
響應

返回一系列 JSON 對象:

JSON復制

{"status":"quantizing F16 model to Q4_K_M"}
{"status":"creating new layer sha256:667b0c1932bc6ffc593ed1d03f895bf2dc8dc6df21db3042284a6f4416b06a29"}
{"status":"using existing layer sha256:11ce4ee3e170f6adebac9a991c22e22ab3f8530e154ee669954c4bc73061c258"}
{"status":"using existing layer sha256:0ba8f0e314b4264dfd19df045cde9d4c394a52474bf92ed6a3de22a4ca31a177"}
{"status":"using existing layer sha256:56bb8bd477a519ffa694fc449c2413c6f0e1d3b1c88fa7e3c9d88d3ae49d4dcb"}
{"status":"creating new layer sha256:455f34728c9b5dd3376378bfb809ee166c145b0b4c1f1a6feca069055066ef9a"}
{"status":"writing manifest"}
{"status":"success"}
從 GGUF 創建模型

從 GGUF 文件創建模型。files 參數應填寫您希望使用的 GGUF 文件的文件名和 SHA256 摘要。在調用此 API 之前,請使用 [/api/blobs/:digest](#推送一個 blob) 將 GGUF 文件推送到服務器。

請求

Shell復制

curl http://localhost:11434/api/create -d '{"model": "my-gguf-model","files": {"test.gguf": "sha256:432f310a77f4650a88d0fd59ecdd7cebed8d684bafea53cbff0473542964f0c3"}
}'
響應

返回一系列 JSON 對象:

JSON復制

{"status":"parsing GGUF"}
{"status":"using existing layer sha256:432f310a77f4650a88d0fd59ecdd7cebed8d684bafea53cbff0473542964f0c3"}
{"status":"writing manifest"}
{"status":"success"}
從 Safetensors 目錄創建模型

files 參數應包含一個字典,其中包含 safetensors 模型的文件,包括文件名和每個文件的 SHA256 摘要。在調用此 API 之前,請使用 [/api/blobs/:digest](#推送一個 blob) 將每個文件推送到服務器。文件將保留在緩存中,直到 Ollama 服務器重新啟動。

請求

Shell復制

curl http://localhost:11434/api/create -d '{"model": "fred","files": {"config.json": "sha256:dd3443e529fb2290423a0c65c2d633e67b419d273f170259e27297219828e389","generation_config.json": "sha256:88effbb63300dbbc7390143fbbdd9d9fa50587b37e8bfd16c8c90d4970a74a36","special_tokens_map.json": "sha256:b7455f0e8f00539108837bfa586c4fbf424e31f8717819a6798be74bef813d05","tokenizer.json": "sha256:bbc1904d35169c542dffbe1f7589a5994ec7426d9e5b609d07bab876f32e97ab","tokenizer_config.json": "sha256:24e8a6dc2547164b7002e3125f10b415105644fcf02bf9ad8b674c87b1eaaed6","model.safetensors": "sha256:1ff795ff6a07e6a68085d206fb84417da2f083f68391c2843cd2b8ac6df8538f"}
}'
響應

返回一系列 JSON 對象:

Shell復制

{"status":"converting model"}
{"status":"creating new layer sha256:05ca5b813af4a53d2c2922933936e398958855c44ee534858fcfd830940618b6"}
{"status":"using autodetected template llama3-instruct"}
{"status":"using existing layer sha256:56bb8bd477a519ffa694fc449c2413c6f0e1d3b1c88fa7e3c9d88d3ae49d4dcb"}
{"status":"writing manifest"}
{"status":"success"}

檢查 Blob 是否存在

Shell復制

HEAD /api/blobs/:digest

確保用于創建模型的文件 blob(二進制大對象)存在于服務器上。這會檢查您的 Ollama 服務器,而不是 ollama.com。

查詢參數

  • digest: blob 的 SHA256 摘要

示例
請求

Shell復制

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

如果 blob 存在,則返回 200 OK;如果不存在,則返回 404 Not Found。

推送一個 Blob

POST /api/blobs/:digest

將文件推送到 Ollama 服務器以創建一個 "blob"(二進制大對象)。

查詢參數

  • digest: 文件的預期 SHA256 摘要

示例
請求

Shell復制

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

如果 blob 成功創建,則返回 201 Created;如果使用的摘要不正確,則返回 400 Bad Request。

列出本地模型

GET /api/tags

列出本地可用的模型。

示例
請求

Shell復制

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

返回一個單一的 JSON 對象。

JSON復制

{"models": [{"name": "codellama:13b","modified_at": "2023-11-04T14:56:49.277302595-07:00","size": 7365960935,"digest": "9f438cb9cd581fc025612d27f7c1a6669ff83a8bb0ed86c94fcf4c5440555697","details": {"format": "gguf","family": "llama","families": null,"parameter_size": "13B","quantization_level": "Q4_0"}},{"name": "llama3:latest","modified_at": "2023-12-07T09:32:18.757212583-08:00","size": 3825819519,"digest": "fe938a131f40e6f6d40083c9f0f430a515233eb2edaa6d72eb85c50d64f2300e","details": {"format": "gguf","family": "llama","families": null,"parameter_size": "7B","quantization_level": "Q4_0"}}]
}

顯示模型信息

POST /api/show

顯示模型的信息,包括詳細信息、modelfile、模板、參數、許可證、系統提示等。

參數

  • model: 要顯示的模型名稱

  • verbose: (可選)如果設置為 true,則返回詳細的響應字段數據

示例
請求

Shell復制

curl http://localhost:11434/api/show -d '{"model": "llama3.2"
}'
響應

JSON復制

{"modelfile": "# Modelfile generated by \"ollama show\"\n# To build a new Modelfile based on this one, replace the FROM line with:\n# FROM llava:latest\n\nFROM /Users/matt/.ollama/models/blobs/sha256:200765e1283640ffbd013184bf496e261032fa75b99498a9613be4e94d63ad52\nTEMPLATE \"\"\"{{ .System }}\nUSER: {{ .Prompt }}\nASSISTANT: \"\"\"\nPARAMETER num_ctx 4096\nPARAMETER stop \"\u003c/s\u003e\"\nPARAMETER stop \"USER:\"\nPARAMETER stop \"ASSISTANT:\"","parameters": "num_keep                       24\nstop                           \"<|start_header_id|>\"\nstop                           \"<|end_header_id|>\"\nstop                           \"<|eot_id|>\"","template": "{{ if .System }}<|start_header_id|>system<|end_header_id|>\n\n{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>\n\n{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>\n\n{{ .Response }}<|eot_id|>","details": {"parent_model": "","format": "gguf","family": "llama","families": ["llama"],"parameter_size": "8.0B","quantization_level": "Q4_0"},"model_info": {"general.architecture": "llama","general.file_type": 2,"general.parameter_count": 8030261248,"general.quantization_version": 2,"llama.attention.head_count": 32,"llama.attention.head_count_kv": 8,"llama.attention.layer_norm_rms_epsilon": 0.00001,"llama.block_count": 32,"llama.context_length": 8192,"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": [],            // 如果 `verbose=true`,則填充"tokenizer.ggml.model": "gpt2","tokenizer.ggml.pre": "llama-bpe","tokenizer.ggml.token_type": [],        // 如果 `verbose=true`,則填充"tokenizer.ggml.tokens": []             // 如果 `verbose=true`,則填充}
}

復制模型

POST /api/copy

復制模型。從現有模型創建一個具有另一個名稱的模型。

示例
請求

Shell復制

curl http://localhost:11434/api/copy -d '{"source": "llama3.2","destination": "llama3-backup"
}'
響應

如果成功,則返回 200 OK;如果源模型不存在,則返回 404 Not Found。

刪除模型

DELETE /api/delete

刪除模型及其數據。

參數

  • model: 要刪除的模型名稱

示例
請求

Shell復制

curl -X DELETE http://localhost:11434/api/delete -d '{"model": "llama3:13b"
}'
響應

如果成功,則返回 200 OK;如果要刪除的模型不存在,則返回 404 Not Found。

拉取模型

POST /api/pull

從 ollama 庫下載模型。取消的拉取操作將從上次中斷的地方繼續,多次調用將共享相同的下載進度。

參數

  • model: 要拉取的模型名稱

  • insecure: (可選)允許與庫的不安全連接。僅在開發期間從您自己的庫拉取時使用此選項。

  • stream: (可選)如果為 false,則響應將作為單個響應對象返回,而不是一系列對象

示例
請求

Shell復制

curl http://localhost:11434/api/pull -d '{"model": "llama3.2"
}'
響應

如果未指定 stream,或者設置為 true,則返回一系列 JSON 對象:

第一個對象是清單:

JSON復制

{"status": "pulling manifest"
}

然后是一系列下載響應。在任何下載完成之前,completed 鍵可能不會包含。要下載的文件數量取決于清單中指定的層數。

JSON復制

{"status": "downloading digestname","digest": "digestname","total": 2142590208,"completed": 241970
}

所有文件下載完成后,最終響應為:

JSON復制

{"status": "verifying sha256 digest"
}
{"status": "writing manifest"
}
{"status": "removing any unused layers"
}
{"status": "success"
}

如果 stream 設置為 false,則響應是一個單一的 JSON 對象:

JSON復制

{"status": "success"
}

推送模型

POST /api/push

將模型上傳到模型庫。需要在 ollama.ai 上注冊并添加公鑰。

參數

  • model: 要推送的模型名稱,格式為 <namespace>/<model>:<tag>

  • insecure: (可選)允許與庫的不安全連接。僅在開發期間向您的庫推送時使用此選項。

  • stream: (可選)如果為 false,則響應將作為單個響應對象返回,而不是一系列對象

示例
請求

Shell復制

curl http://localhost:11434/api/push -d '{"model": "mattw/pygmalion:latest"
}'
響應

如果未指定 stream,或者設置為 true,則返回一系列 JSON 對象:

JSON復制

{ "status": "retrieving manifest" }

然后是:

JSON復制

{"status": "starting upload","digest": "sha256:bc07c81de745696fdf5afca05e065818a8149fb0c77266fb584d9b2cba3711ab","total": 1928429856
}

然后是一系列上傳響應:

JSON復制

{"status": "starting upload","digest": "sha256:bc07c81de745696fdf5afca05e065818a8149fb0c77266fb584d9b2cba3711ab","total": 1928429856
}

最后,當上傳完成時:

JSON復制

{"status":"pushing manifest"}
{"status":"success"}

如果 stream 設置為 false,則響應是一個單一的 JSON 對象:

JSON復制

{ "status": "success" }

生成嵌入

POST /api/embed

從模型生成嵌入。

參數

  • model: 用于生成嵌入的模型名稱

  • input: 要生成嵌入的文本或文本列表

高級參數:

  • truncate: 將每個輸入的末尾截斷以適應上下文長度。如果設置為 false 并且上下文長度超出,則返回錯誤。默認值為 true

  • options: 文檔中列出的 Modelfile 的其他模型參數,例如 temperature

  • keep_alive: 控制模型在請求后保留在內存中的時間(默認值:5m

示例
請求

Shell復制

curl http://localhost:11434/api/embed -d '{"model": "all-minilm","input": "天空為什么是藍色的?"
}'
響應

JSON復制

{"model": "all-minilm","embeddings": [[0.010071029, -0.0017594862, 0.05007221, 0.04692972, 0.054916814,0.008599704, 0.105441414, -0.025878139, 0.12958129, 0.031952348]],"total_duration": 14143917,"load_duration": 1019500,"prompt_eval_count": 8
}
請求(多個輸入)

Shell復制

curl http://localhost:11434/api/embed -d '{"model": "all-minilm","input": ["天空為什么是藍色的?", "草地為什么是綠色的?"]
}'
響應

JSON復制

{"model": "all-minilm","embeddings": [[0.010071029, -0.0017594862, 0.05007221, 0.04692972, 0.054916814,0.008599704, 0.105441414, -0.025878139, 0.12958129, 0.031952348],[-0.0098027075, 0.06042469, 0.025257962, -0.006364387, 0.07272725,0.017194884, 0.09032035, -0.051705178, 0.09951512, 0.09072481]]
}

列出運行中的模型

GET /api/ps

列出當前加載到內存中的模型。

示例
請求

Shell復制

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

返回一個單一的 JSON 對象。

JSON復制

{"models": [{"name": "mistral:latest","model": "mistral:latest","size": 5137025024,"digest": "2ae6f6dd7a3dd734790bbbf58b8909a606e0e7e97e94b7604e0aa7ae4490e6d8","details": {"parent_model": "","format": "gguf","family": "llama","families": ["llama"],"parameter_size": "7.2B","quantization_level": "Q4_0"},"expires_at": "2024-06-04T14:38:31.83753-07:00","size_vram": 5137025024}]
}

生成嵌入

注意:此接口已被 /api/embed 替代

POST /api/embeddings

從模型生成嵌入。

參數

  • model: 用于生成嵌入的模型名稱

  • prompt: 要生成嵌入的文本

高級參數:

  • options: 文檔中列出的 Modelfile 的其他模型參數,例如 temperature

  • keep_alive: 控制模型在請求后保留在內存中的時間(默認值:5m

示例
請求

Shell復制

curl http://localhost:11434/api/embeddings -d '{"model": "all-minilm","prompt": "這是一篇關于駱駝的文章……"
}'
響應

JSON復制

{"embedding": [0.5670403838157654, 0.009260174818336964, 0.23178744316101074, -0.2916173040866852, -0.8924556970596313,0.8785552978515625, -0.34576427936553955, 0.5742510557174683, -0.04222835972905159, -0.137906014919281]
}

版本

GET /api/version

檢索 Ollama 版本

示例
請求

Shell復制

curl http://localhost:11434/api/version
響應

JSON復制

{"version": "0.5.1"
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/895780.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895780.shtml
英文地址,請注明出處:http://en.pswp.cn/news/895780.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

容器運行常見數據庫

一.涉及鏡像壓縮包 均為amd架構版本&#xff1a;mysql:5.7.42、postgres:13.16、dm8:20250206_rev257733_x86_rh6_64、oceanbase-ce:v4.0、opengauss:5.0.2 通過網盤分享的文件&#xff1a;db.tgz 鏈接: https://pan.baidu.com/s/1EBbFPZj1FxCA4_GxjVunWg?pwd563s 提取碼: 5…

python爬蟲系列課程2:如何下載Xpath Helper

python爬蟲系列課程2:如何下載Xpath Helper 一、訪問極簡插件官網二、點擊搜索按鈕三、輸入xpath并點擊搜索四、點擊推薦下載五、將下載下來的文件解壓縮六、打開擴展程序界面七、將xpath.crx文件拖入擴展程序界面一、訪問極簡插件官網 極簡插件官網地址:https://chrome.zzz…

PHP支付寶--轉賬到支付寶賬戶

官方參考文檔&#xff1a; ?https://opendocs.alipay.com/open/62987723_alipay.fund.trans.uni.transfer?sceneca56bca529e64125a2786703c6192d41&pathHash66064890? 可以使用默認應用&#xff0c;也可以自建新應用&#xff0c;此處以默認應用來講解【默認應用默認支持…

前端開發崗模擬面試題套卷A答案及解析(一)技術面部分

前端開發崗模擬面試題套卷A答案及解析(一)技術面部分 (一)技術面 一、JavaScript核心技術(ES6+) 1-1、實現防抖函數 function debounce(fn, delay) {let timer = null;return function(...args) {clearTimeout(timer); // 清除已有定時器timer = setTimeout(() =>…

對稱加密算法——IDEA加密算法

Java IDEA算法詳解 1. 理論背景 IDEA&#xff08;International Data Encryption Algorithm&#xff09;是一種對稱密鑰加密算法&#xff0c;由Xuejia Lai和James Massey于1991年提出。它被設計用于替代DES&#xff08;Data Encryption Standard&#xff09;算法&#xff0c;…

單例模式、構造函數、左值右值

拷貝構造函數 簡單的說就是——用一個對象構造另外一個對象 class Myclass {public:int d0;Myclass(int d_){d d_}; //常用的構造函數Myclass(Myclass c) //拷貝構造函數{d c.d;} }; //對比 class Myclass {public:int d0;Myclass(int d_){d d_}; //常用的構造函數Myclass…

rustdesk遠程桌面自建服務器

首先&#xff0c;我這里用到的是阿里云服務器 centos7版本&#xff0c;win版客戶端。 準備工作 centos7 服務器端文件&#xff1a; https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip win版客戶端安裝包&#xff1…

【深度學習】Transformer入門:通俗易懂的介紹

【深度學習】Transformer入門&#xff1a;通俗易懂的介紹 一、引言二、從前的“讀句子”方式三、Transformer的“超級閱讀能力”四、Transformer是怎么做到的&#xff1f;五、Transformer的“多視角”能力六、Transformer的“位置記憶”七、Transformer的“翻譯流程”八、Trans…

用deepseek學大模型03-數學基礎 概率論 最大似然估計(MLE)最大后驗估計(MAP)

https://metaso.cn/s/r4kq4Ni 什么是最大似然估計&#xff08;MLE&#xff09;最大后驗估計&#xff08;MAP&#xff09;&#xff1f;深度學習中如何應用&#xff0c;舉例說明。 好的&#xff0c;我現在需要回答關于最大似然估計&#xff08;MLE&#xff09;和最大后驗估計&…

Socket通訊協議理解及客戶端服務器程序流程

Socket通訊我們可以從以下幾個方面簡單理解 1.Socket是網絡通信中的一項重要技術&#xff0c;它提供了在網絡上進行數據交換的接口。用C#、Java、C等開發語言&#xff0c;都可以開發Socket網絡通信程序。 2.Socket(套接字)是計算機網絡編程中的一種抽象&#xff0c;它允許不同…

《Stable Diffusion繪畫完全指南:從入門到精通的Prompt設計藝術》-配套代碼示例

第一章&#xff1a;模型加載與基礎生成 1.1 基礎模型加載 from diffusers import StableDiffusionPipeline import torch# 加載SD 1.5基礎模型&#xff08;FP32精度&#xff09; pipe StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5",…

【DL】淺談深度學習中的知識蒸餾 | 輸出層知識蒸餾

目錄 一 核心概念與背景 二 輸出層知識蒸餾 1 教師模型訓練 2 軟標簽生成&#xff08;Soft Targets&#xff09; 3 學生模型訓練 三 擴展 1 有效性分析 2 關鍵影響因素 3 變體 一 核心概念與背景 知識蒸餾&#xff08;Knowledge Distillation, KD&#xff09;是一種模…

嵌入式學習第十六天--stdio(二)

文件打開 open函數 #include <fcntl.h> int open(const char *pathname&#xff0c;int flags); int open(const char *pathname&#xff0c;int flags&#xff0c;mode_t mode); 功能: 打開或創建文件 參數: pathname //打開的文件名 flags //操作…

對話智面創始人陶然:一是初心和心態,二是堅持和心力

隨著經濟全球化的加深和市場競爭的日益激烈&#xff0c;企業迅速發展成為了每一個企業家的夢想。然而&#xff0c;要實現企業的快速發展并保持競爭力&#xff0c;企業戰略的人力資源管理起著至關重要的作用。 企業的核心競爭力是“人才”的競爭&#xff0c;無論是研發、銷售、…

mybatis使用typeHandler實現類型轉換

使用mybatis作為操作數據庫的orm框架&#xff0c;操作基本數據類型時可以通過內置的類型處理器完成java數據類型和數據庫類型的轉換&#xff0c;但是對于擴展的數據類型要實現與數據庫類型的轉換就需要自定義類型轉換器完成&#xff0c;比如某個實體類型存儲到數據庫&#xff0…

Qt開發①Qt的概念+發展+優點+應用+使用

目錄 1. Qt的概念和發展 1.1 Qt的概念 1.2 Qt 的發展史&#xff1a; 1.3 Qt 的版本 2. Qt 的優點和應用 2.1 Qt 的優點&#xff1a; 2.2 Qt 的應用場景 2.3 Qt 的應用案例 3. 搭建 Qt 開發環境 3.1 Qt 的開發工具 3.2 Qt SDK 的下載和安裝 3.3 Qt 環境變量配置和使…

mac安裝Pyspark并連接Mysql

安裝Scala, apache-spark, Hadoop brew install scala brew install apache-spark brew install hadoop pip install pyspark注意不要自己另外安裝jdk, 會造成版本對不上報錯。因為安裝apache-spark的過程中會自動安裝openjdk。 配置環境變量 JAVA_HOME/opt/homebrew/Cellar…

【Go語言快速上手】第二部分:Go語言進階之網絡編程

文章目錄 前言&#xff1a;網絡編程一、TCP/UDP 編程&#xff1a;net 包的使用1. TCP 編程1.1 TCP 服務器1.2 TCP 客戶端 2. UDP 編程2.1 UDP 服務器2.2 UDP 客戶端 二、HTTP 編程&#xff1a;net/http 包的使用&#xff0c;編寫 HTTP 服務器和客戶端2.1 HTTP 服務器2.2 HTTP 客…

王炸 用AI+飛書 分解 一鍵生成 項目計劃表模版

效果圖&#xff1a; 各字段設置&#xff1a; 以下是一個使用 AI&#xff08;DeepSeeker&#xff09; 飛書多維表格分解項目待辦模板的示例&#xff0c;你可以根據實際情況進行調整和優化&#xff1a; 列表中需要選擇對象&#xff0c;且選擇輸出結果&#xff08;記得控制字符長度…

從月牙定理看古希臘數學的奇妙突破

文章目錄 每日一句正能量前言古希臘人的 “化圓為方” 之夢&#xff08;一&#xff09;幾何作圖的基本規則&#xff08;二&#xff09;化圓為方問題的起源與發展&#xff08;三&#xff09;化圓為方的意義 月牙面積定理的誕生&#xff08;一&#xff09;希波克拉底的生平與成就…