API
नोट: Ollama की API दस्तावेज़ीकरण https://docs.ollama.com/api पर स्थानांतरित हो रही है।
एंडपॉइंट
- एक पूर्णता उत्पन्न करें
- एक चैट पूर्णता उत्पन्न करें
- एक मॉडल बनाएं
- स्थानीय मॉडलों की सूची बनाएं
- मॉडल की जानकारी दिखाएं
- एक मॉडल की कॉपी बनाएं
- एक मॉडल हटाएं
- एक मॉडल पुल करें
- एक मॉडल पुश करें
- एम्बेडिंग्स उत्पन्न करें
- चल रहे मॉडलों की सूची बनाएं
- संस्करण
- प्रायोगिक: चित्र निर्माण
परंपराएँ
मॉडल नाम
मॉडल नाम model:tag प्रारूप का पालन करते हैं, जहाँ model में वैकल्पिक नेमस्पेस हो सकता है जैसे example/model। कुछ उदाहरण हैं orca-mini:3b-q8_0 और llama3:70b। टैग वैकल्पिक है, और यदि प्रदान नहीं किया जाता है, तो इसका डिफॉल्ट मान latest हो जाता है। टैग का उपयोग किसी विशेष संस्करण की पहचान करने के लिए किया जाता है।
अवधि
सभी अवधियाँ नैनोसेकंड में वापसी की जाती हैं।
स्ट्रीमिंग प्रतिक्रियाएँ
कुछ एंडपॉइंट JSON ऑब्जेक्ट के रूप में प्रतिक्रियाएँ स्ट्रीम करते हैं। इन एंडपॉइंट के लिए {"stream": false} प्रदान करके स्ट्रीमिंग को अक्षम किया जा सकता है।
एक पूर्णता उत्पन्न करें
POST /api/generateदिए गए प्रॉम्प्ट के लिए प्रदान किए गए मॉडल के साथ एक प्रतिक्रिया उत्पन्न करें। यह एक स्ट्रीमिंग एंडपॉइंट है, इसलिए यहां प्रतिक्रियाओं की एक श्रृंखला होगी। अंतिम प्रतिक्रिया ऑब्जेक्ट में अनुरोध से संबंधित आंकड़े और अतिरिक्त डेटा शामिल होंगे।
पैरामीटर
model: (आवश्यक) मॉडल नामprompt: जिसके लिए प्रतिक्रिया उत्पन्न करने वाला प्रॉम्प्टsuffix: मॉडल प्रतिक्रिया के बाद का टेक्स्टimages: (वैकल्पिक) base64-एन्कोडेड छवियों की सूची (llavaजैसे मल्टीमोडल मॉडल के लिए)think: (थिंकिंग मॉडल के लिए) क्या मॉडल को प्रतिक्रिया देने से पहले सोचना चाहिए? यह बूलियन या थिंकिंग लेवल ("low","medium","high", या"max") हो सकता है।
उन्नत पैरामीटर (वैकल्पिक):
format: प्रतिक्रिया वापस करने का प्रारूप। प्रारूपjsonया JSON स्कीमा हो सकता हैoptions: Modelfile के दस्तावेज में सूचीबद्ध अतिरिक्त मॉडल पैरामीटर जैसेtemperaturesystem: सिस्टम संदेश (Modelfileमें परिभाषित किए गए को ओवरराइड करता है)template: उपयोग करने के लिए प्रॉम्प्ट टेम्पलेट (Modelfileमें परिभाषित किए गए को ओवरराइड करता है)stream: यदिfalseहै तो प्रतिक्रिया ऑब्जेक्ट की श्रृंखला के बजाय एक ही प्रतिक्रिया ऑब्जेक्ट के रूप में वापस की जाएगीraw: यदिtrueहै तो प्रॉम्प्ट पर कोई फॉर्मेटिंग लागू नहीं की जाएगी। यदि आप API के अनुरोध में एक पूर्ण टेम्पलेटेड प्रॉम्प्ट निर्दिष्ट कर रहे हैं तो आपrawपैरामीटर का उपयोग करना चुन सकते हैंkeep_alive: नियंत्रित करता है कि अनुरोध के बाद मॉडल मेमोरी में लोड कितनी देर तक रहेगा (डिफॉल्ट:5m)context(अप्रचलित):/generateके पिछले अनुरोध से वापस किए गए कॉन्टेक्स्ट पैरामीटर, इसका उपयोग संक्षिप्त वार्तालाप स्मृति बनाए रखने के लिए किया जा सकता है
प्रयोगात्मक छवि निर्माण पैरामीटर (केवल छवि निर्माण मॉडल के लिए):
WARNING
ये पैरामीटर प्रयोगात्मक हैं और भविष्य के संस्करणों में बदल सकते हैं।
width: उत्पन्न छवि की चौड़ाई पिक्सेल मेंheight: उत्पन्न छवि की ऊंचाई पिक्सेल मेंsteps: डिफ्यूजन स्टेप्स की संख्या
संरचित आउटपुट
संरचित आउटपुट का समर्थन format पैरामीटर में JSON स्कीमा प्रदान करके किया जाता है। मॉडल स्कीमा से मेल खाती एक प्रतिक्रिया उत्पन्न करेगा। नीचे दिए गए संरचित आउटपुट उदाहरण देखें।
JSON मोड
format पैरामीटर को json पर सेट करके JSON मोड को सक्षम करें। यह प्रतिक्रिया को एक वैध JSON ऑब्जेक्ट के रूप में संरचित करेगा। नीचे दिए गए JSON मोड उदाहरण देखें।
IMPORTANT
मॉडल को prompt में JSON का उपयोग करने के लिए निर्देशित करना महत्वपूर्ण है। अन्यथा, मॉडल बड़ी मात्रा में व्हाइटस्पेस उत्पन्न कर सकता है।
उदाहरण
जनरेशन अनुरोध (स्ट्रीमिंग)
अनुरोध
shell
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Why is the sky blue?"
}'प्रतिक्रिया
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: यदि प्रतिक्रिया स्ट्रीम की गई थी तो खाली, यदि स्ट्रीम नहीं की गई थी तो इसमें पूरी प्रतिक्रिया होगी
प्रति सेकंड टोकन (token/s) में प्रतिक्रिया की उत्पत्ति की गति की गणना करने के लिए, 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": "Why is the sky blue?",
"stream": false
}'प्रतिक्रिया
यदि stream को false पर सेट किया गया है, तो प्रतिक्रिया एक ही JSON ऑब्जेक्ट होगी:
json
{
"model": "llama3.2",
"created_at": "2023-08-04T19:22:45.499127Z",
"response": "The sky is blue because it is the color of the sky.",
"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
}'प्रतिक्रिया
json5
{
"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 is 22 years old and is busy saving the world. Respond using 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 मोड)
IMPORTANT
जब format को json पर सेट किया जाता है, तो आउटपुट हमेशा एक अच्छी तरह से फॉर्मेट किए गए JSON ऑब्जेक्ट होगा। मॉडल को JSON में प्रतिक्रिया देने के लिए भी निर्देशित करना महत्वपूर्ण है।
अनुरोध
shell
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "What color is the sky at different times of the day? Respond using 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"
}
}अनुरोध (छवियों के साथ)
llava या bakllava जैसे मल्टीमोडल मॉडल को छवियां सबमिट करने के लिए, base64-एन्कोडेड images की एक सूची प्रदान करें:
अनुरोध
shell
curl http://localhost:11434/api/generate -d '{
"model": "llava",
"prompt":"What is in this picture?",
"stream": false,
"images": ["iVBORw0KGgoAAAANSUhEUgAAAG0AAABmCAYAAADBPx+VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA3VSURBVHgB7Z27r0zdG8fX743i1bi1ikMoFMQloXRpKFFIqI7LH4BEQ+NWIkjQuSWCRIEoULk0gsK1kCBI0IhrQVT7tz/7zZo888yz1r7MnDl7z5xvsjkzs2fP3uu71nNfa7lkAsm7d++Sffv2JbNmzUqcc8m0adOSzZs3Z+/XES4ZckAWJEGWPiCxjsQNLWmQsWjRIpMseaxcuTKpG/7HP27I8P79e7dq1ars/yL4/v27S0ejqwv+cUOGEGGpKHR37tzJCEpHV9tnT58+dXXCJDdECBE2Ojrqjh071hpNECjx4cMHVycM1Uhbv359B2F79+51586daxN/+pyRkRFXKyRDAqxEp4yMlDDzXG1NPnnyJKkThoK0VFd1ELZu3TrzXKxKfW7dMBQ6bcuWLW2v0VlHjx41z717927ba22U9APcw7Nnz1oGEPeL3m3p2mTAYYnFmMOMXybPPXv2bNIPpFZr1NHn4HMw0KRBjg9NuRw95s8PEcz/6DZELQd/09C9QGq5RsmSRybqkwHGjh07OsJSsYYm3ijPpyHzoiacg35MLdDSIS/O1yM778jOTwYUkKNHWUzUWaOsylE00MyI0fcnOwIdjvtNdW/HZwNLGg+sR1kMepSNJXmIwxBZiG8tDTpEZzKg0GItNsosY8USkxDhD0Rinuiko2gfL/RbiD2LZAjU9zKQJj8RDR0vJBR1/Phx9+PHj9Z7REF4nTZkxzX4LCXHrV271qXkBAPGfP/atWvu/PnzHe4C97F48eIsRLZ9+3a3f/9+87dwP1JxaF7/3r17ba+5l4EcaVo0lj3SBq5kGTJSQmLWMjgYNei2GPT1MuMqGTDEFHzeQSP2wi/jGnkmPJ/nhccs44jvDAxpVcxnq0F6eT8h4ni/iIWpR5lPyA6ETkNXoSukvpJAD3AsXLiwpZs49+fPn5ke4j10TqYvegSfn0OnafC+Tv9ooA/JPkgQysqQNBzagXY55nO/oa1F7qvIPWkRL12WRpMWUvpVDYmxAPehxWSe8YEXL20sadYIozfmNch4QJPAfeJgW3rNsnzphBKNJM2KKODo1rVOMRYik5ETy3ix4qWNI81qAAirizgMIc+yhTytx0JWZuNI03qsrgWlGtwjoS9XwgUhWGyhUaRZZQNNIEwCiXD16tXcAHUs79co0vSD8rrJCIW98pzvxpAWyyo3HYwqS0+H0BjStClcZJT5coMm6D2LOF8TolGJtK9fvyZpyiC5ePFi9nc/oJU4eiEP0jVoAnHa9wyJycITMP78+eMeP37sXrx44d6+fdt6f82aNdkx1pg9e3Zb5W+RSRE+n+VjksQWifvVaTKFhn5O8my63K8Qabdv33b379/PiAP//vuvW7BggZszZ072/+TJk91YgkafPn166zXB1rQHFvouAWHq9z3SEevSUerqCn2/dDCeta2jxYbr69evk4MHDyY7d+7MjhMnTiTPnz9Pfv/+nfQT2ggpO2dMF8cghuoM7Ygj5iWCqRlGFml0QC/ftGmTmzt3rmsaKDsgBSPh0/8yPeLLBihLkOKJc0jp8H8vUzcxIA1k6QJ/c78tWEyj5P3o4u9+jywNPdJi5rAH9x0KHcl4Hg570eQp3+vHXGyrmEeigzQsQsjavXt38ujRo44LQuDDhw+TW7duRS1HGgMxhNXHgflaNTOsHyKvHK5Ijo2jbFjJBQK9YwFd6RVMzfgRBmEfP37suBBm/p49e1qjEP2mwTViNRo0VJWH1deMXcNK08uUjVUu7s/zRaL+oLNxz1bpANco4npUgX4G2eFbpDFyQoQxojBCpEGSytmOH8qrH5Q9vuzD6ofQylkCUmh8DBAr+q8JCyVNtWQIidKQE9wNtLSQnS4jDSsxNHogzFuQBw4cyM61UKVsjfr3ooBkPSqqQHesUPWVtzi9/vQi1T+rJj7WiTz4Pt/l3LxUkr5P2VYZaZ4URpsE+st/dujQoaBBYokbrz/8TJNQYLSonrPS9kUaSkPeZyj1AWSj+d+VBoy1pIWVNed8P0Ll/ee5HdGRhrHhR5GGN0r4LGZBaj8oFDJitBTJzIZgFcmU0Y8ytWMZMzJOaXUSrUs5RxKnrxmbb5YXO9VGUhtpXldhEUogFr3IzIsvlpmdosVcGVGXFWp2oU9kLFL3dEkSz6NHEY1sjSRdIuDFWEhd8KxFqsRi1uM/nz9/zpxnwlESONdg6dKlbsaMGS4EHFHtjFIDHwKOo46l4TxSuxgDzi+rE2jg+BaFruOX4HXa0Nnf1lwAPufZeF8/r6zD97WK2qFnGjBxTw5qNGPxT+5T/r7/7RawFC3j4vTp09koCxkeHjqbHJqArmH5UrFKKksnxrK7FuRIs8STfBZv+luugXZ2pR/pP9Ois4z+TiMzUUkUjD0iEi1fzX8GmXyuxUBRcaUfykV0YZnlJGKQpOiGB76x5GeWkWWJc3mOrK6S7xdND+W5N6XyaRgtWJFe13GkaZnKOsYqGdOVVVbGupsyA/l7emTLHi7vwTdirNEt0qxnzAvBFcnQF16xh/TMpUuXHDowhlA9vQVraQhkudRdzOnK+04ZSP3DUhVSP61YsaLtd/ks7ZgtPcXqPqEafHkdqa84X6aCeL7YWlv6edGFHb+ZFICPlljHhg0bKuk0CSvVznWsotRu433alNdFrqG45ejoaPCaUkWERpLXjzFL2Rpllp7PJU2a/v7Ab8N05/9t27Z16KUqoFGsxnI9EosS2niSYg9SpU6B4JgTrvVW1flt1sT+0ADIJU2maXzcUTraGCRaL1Wp9rUMk16PMom8QhruxzvZIegJjFU7LLCePfS8uaQdPny4jTTL0dbee5mYokQsXTIWNY46kuMbnt8Kmec+LGWtOVIl9cT1rCB0V8WqkjAsRwta93TbwNYoGKsUSChN44lgBNCoHLHzquYKrU6qZ8lolCIN0Rh6cP0Q3U6I6IXILYOQI513hJaSKAorFpuHXJNfVlpRtmYBk1Su1obZr5dnKAO+L10Hrj3WZW+E3qh6IszE37F6EB+68mGpvKm4eb9bFrlzrok7fvr0Kfv727dvWRmdVTJHw0qiiCUSZ6wCK+7XL/AcsgNyL74DQQ730sv78Su7+t/A36MdY0sW5o40ahslXr58aZ5HtZB8GH64m9EmMZ7FpYw4T6QnrZfgenrhFxaSiSGXtPnz57e9TkNZLvTjeqhr734CNtrK41L40sUQckmj1lGKQ0rC37x544r8eNXRpnVE3ZZY7zXo8NomiO0ZUCj2uHz58rbXoZ6gc0uA+F6ZeKS/jhRDUq8MKrTho9fEkihMmhxtBI1DxKFY9XLpVcSkfoi8JGnToZO5sU5aiDQIW716ddt7ZLYtMQlhECdBGXZZMWldY5BHm5xgAroWj4C0hbYkSc/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/UivS9NztpkVEdKcrs5alhhWP9NeqlfWopzhZScI6QxseegZRGeg5a8C3Re1Mfl1ScP36ddcUaMuv24iOJtz7sbUjTS4qBvKmstYJoUauiuD3k5qhyr7QdUHMeCgLa1Ear9NquemdXgmum4fvJ6w1lqsuDhNrg1qSpleJK7K3TF0Q2jSd94uSZ60kK1e3qyVpQK6PVWXp2/FC3mp6jBhKKOiY2h3gtUV64TWM6wDETRPLDfSakXmH3w8g9Jlug8ZtTt4kVF0kLUYYmCCtD/DrQ5YhMGbA9L3ucdjh0y8kOHW5gU/VEEmJTcL4Pz/f7mgoAbYkAAAAAElFTkSuQmCC"]
}'प्रतिक्रिया
json
{
"model": "llava",
"created_at": "2023-11-03T15:36:02.583064Z",
"response": "A happy cartoon character, which is cute and cheerful.",
"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] why is the sky blue? [/INST]",
"raw": true,
"stream": false
}'अनुरोध (पुनरुत्पादन योग्य आउटपुट)
पुनरुत्पादन योग्य आउटपुट के लिए, seed को किसी नंबर पर सेट करें:
अनुरोध
shell
curl http://localhost:11434/api/generate -d '{
"model": "mistral",
"prompt": "Why is the sky blue?",
"options": {
"seed": 123
}
}'प्रतिक्रिया
json
{
"model": "mistral",
"created_at": "2023-11-03T15:36:02.583064Z",
"response": " The sky appears blue because of a phenomenon called Rayleigh scattering.",
"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": "Why is the sky blue?",
"stream": false,
"options": {
"num_keep": 5,
"seed": 42,
"num_predict": 100,
"draft_num_predict": 4,
"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,
"penalize_newline": true,
"stop": ["\n", "user:"],
"numa": false,
"num_ctx": 1024,
"num_batch": 2,
"num_gpu": 1,
"main_gpu": 0,
"use_mmap": true,
"num_thread": 8
}
}'प्रतिक्रिया
json
{
"model": "llama3.2",
"created_at": "2023-08-04T19:22:45.499127Z",
"response": "The sky is blue because it is the color of the sky.",
"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: यदि समर्थित हो तो मॉडल द्वारा उपयोग के लिए JSON में टूल्स की सूचीthink: (थिंकिंग मॉडल के लिए) क्या मॉडल को प्रतिक्रिया देने से पहले सोचना चाहिए? यह एक बूलियन या थिंकिंग लेवल ("low","medium","high", या"max") हो सकता है।
message ऑब्जेक्ट में निम्नलिखित फ़ील्ड होते हैं:
role: संदेश की भूमिका, या तोsystem,user,assistant, याtoolcontent: संदेश का सामग्रीthinking: (थिंकिंग मॉडल के लिए) मॉडल की सोच प्रक्रियाimages(वैकल्पिक): संदेश में शामिल करने के लिए इमेजों की सूची (बहुमुखी मॉडल जैसेllavaके लिए)tool_calls(वैकल्पिक): JSON में उन टूल्स की सूची जिनका उपयोग मॉडल करना चाहता हैtool_name(वैकल्पिक): मॉडल को परिणाम के बारे में सूचित करने के लिए निष्पादित किए गए टूल का नाम जोड़ें
उन्नत पैरामीटर (वैकल्पिक):
format: प्रतिक्रिया वापस करने का प्रारूप। प्रारूपjsonया JSON स्कीमा हो सकता है।options: [Modelfile](. /modelfile. mdx#valid-parameters-and-values) के दस्तावेज में सूचीबद्ध अतिरिक्त मॉडल पैरामीटर जैसेtemperaturestream: यदिfalseहै तो प्रतिक्रिया को ऑब्जेक्ट की स्ट्रीम के बजाय एक एकल प्रतिक्रिया ऑब्जेक्ट के रूप में वापस किया जाएगाkeep_alive: अनुरोध के बाद मॉडल मेमोरी में लोड रहने की अवधि नियंत्रित करता है (डिफ़ॉल्ट:5m)
टूल कॉलिंग
टूल कॉलिंग का समर्थन tools पैरामीटर में टूल्स की सूची प्रदान करके किया जाता है। मॉडल एक ऐसी प्रतिक्रिया उत्पन्न करेगा जिसमें टूल कॉल की सूची होगी। नीचे दिए गए चैट अनुरोध (टूल्स के साथ स्ट्रीमिंग) उदाहरण देखें। मॉडल प्रतिक्रिया में टूल कॉल के परिणाम की भी व्याख्या कर सकता है। नीचे दिए गए चैट अनुरोध (इतिहास के साथ, टूल्स के साथ) उदाहरण देखें। [टूल कॉलिंग क्षमता वाले मॉडल देखें](https://ollama. com/search? c=tool).
संरचित आउटपुट
संरचित आउटपुट का समर्थन format पैरामीटर में JSON स्कीमा प्रदान करके किया जाता है। मॉडल एक ऐसी प्रतिक्रिया उत्पन्न करेगा जो स्कीमा से मेल खाती हो। नीचे दिए गए चैट अनुरोध (संरचित आउटपुट) उदाहरण देखें।
उदाहरण
चैट अनुरोध (स्ट्रीमिंग)
अनुरोध
स्ट्रीमिंग प्रतिक्रिया के साथ चैट संदेश भेजें।
shell
curl http://localhost:11434/api/chat -d '{
"model": "llama3. 2",
"messages": [
{
"role": "user",
"content": "why is the sky blue? "
}
]
}'प्रतिक्रिया
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",
"message": {
"role": "assistant",
"content": ""
},
"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": "what is the weather in tokyo? "
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the weather in a given city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city to get the weather for"
}
},
"required": ["city"]
}
}
}
],
"stream": true
}'प्रतिक्रिया
JSON ऑब्जेक्ट की एक स्ट्रीम वापस की जाती है:
json
{
"model": "llama3. 2",
"created_at": "2025-07-07T20:22:19. 184789Z",
"message": {
"role": "assistant",
"content": "",
"tool_calls": [
{
"function": {
"name": "get_weather",
"arguments": {
"city": "Tokyo"
}
}
}
]
},
"done": false
}अंतिम प्रतिक्रिया:
json
{
"model": "llama3. 2",
"created_at": "2025-07-07T20:22:19. 19314Z",
"message": {
"role": "assistant",
"content": ""
},
"done_reason": "stop",
"done": true,
"total_duration": 182242375,
"load_duration": 41295167,
"prompt_eval_count": 169,
"prompt_eval_duration": 24573166,
"eval_count": 15,
"eval_duration": 115959084
}चैट अनुरोध (बिना स्ट्रीमिंग)
अनुरोध
shell
curl http://localhost:11434/api/chat -d '{
"model": "llama3. 2",
"messages": [
{
"role": "user",
"content": "why is the sky blue? "
}
],
"stream": false
}'प्रतिक्रिया
json
{
"model": "llama3. 2",
"created_at": "2023-12-12T14:13:43. 416799Z",
"message": {
"role": "assistant",
"content": "Hello! How are you today? "
},
"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": "what is the weather in tokyo? "
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the weather in a given city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city to get the weather for"
}
},
"required": ["city"]
}
}
}
],
"stream": false
}'प्रतिक्रिया
json
{
"model": "llama3. 2",
"created_at": "2025-07-07T20:32:53. 844124Z",
"message": {
"role": "assistant",
"content": "",
"tool_calls": [
{
"function": {
"name": "get_weather",
"arguments": {
"city": "Tokyo"
}
}
}
]
},
"done_reason": "stop",
"done": true,
"total_duration": 3244883583,
"load_duration": 2969184542,
"prompt_eval_count": 169,
"prompt_eval_duration": 141656333,
"eval_count": 18,
"eval_duration": 133293625
}चैट अनुरोध (संरचित आउटपुट)
अनुरोध
shell
curl -X POST http://localhost:11434/api/chat -H "Content-Type: application/json" -d '{
"model": "llama3. 1",
"messages": [{"role": "user", "content": "Ollama is 22 years old and busy saving the world. Return a JSON object with the age and availability. "}],
"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": "why is the sky blue? "
},
{
"role": "assistant",
"content": "due to rayleigh scattering. "
},
{
"role": "user",
"content": "how is that different than mie scattering? "
}
]
}'प्रतिक्रिया
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
}चैट अनुरोध (इतिहास के साथ, टूल्स के साथ)
अनुरोध
shell
curl http://localhost:11434/api/chat -d '{
"model": "llama3. 2",
"messages": [
{
"role": "user",
"content": "what is the weather in Toronto? "
},
// the message from the model appended to history
{
"role": "assistant",
"content": "",
"tool_calls": [
{
"function": {
"name": "get_weather",
"arguments": {
"city": "Toronto"
}
}
}
]
},
// the tool call result appended to history
{
"role": "tool",
"content": "11 degrees celsius",
"tool_name": "get_weather"
}
],
"stream": false,
"tools": [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the weather in a given city",
"parameters": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "The city to get the weather for"
}
},
"required": ["city"]
}
}
}
]
}'प्रतिक्रिया
json
{
"model": "llama3. 2",
"created_at": "2025-07-07T20:43:37. 688511Z",
"message": {
"role": "assistant",
"content": "The current temperature in Toronto is 11°C. "
},
"done_reason": "stop",
"done": true,
"total_duration": 890771750,
"load_duration": 707634750,
"prompt_eval_count": 94,
"prompt_eval_duration": 91703208,
"eval_count": 11,
"eval_duration": 90282125
}चैट अनुरोध (इमेज के साथ)
अनुरोध
इमेज के साथ चैट संदेश भेजें। इमेज को एक ऐरे के रूप में प्रदान किया जाना चाहिए, जिसमें व्यक्तिगत इमेजेज को Base64 में एन्कोड किया गया हो।
shell
curl http://localhost:11434/api/chat -d '{
"model": "llava",
"messages": [
{
"role": "user",
"content": "what is in this image?markdown
",
"images": ["iVBORw0KGgoAAAANSUhEUgAAAG0AAABmCAYAAADBPx+VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA3VSURBVHgB7Z27r0zdG8fX743i1bi1ikMoFMQloXRpKFFIqI7LH4BEQ+NWIkjQuSWCRIEoULk0gsK1kCBI0IhrQVT7tz/7zZo888yz1r7MnDl7z5xvsjkzs2fP3uu71nNfa7lkAsm7d++Sffv2JbNmzUqcc8m0adOSzZs3Z+/XES4ZckAWJEGWPiCxjsQNLWmQsWjRIpMseaxcuTKpG/7HP27I8P79e7dq1ars/yL4/v27S0ejqwv+cUOGEGGpKHR37tzJCEpHV9tnT58+dXXCJDdECBE2Ojrqjh071hpNECjx4cMHVycM1Uhbv359B2F79+51506daxN/+pyRkRFXKyRDAqxEp4yMlDDzXG1NPnnyJKkThoK0VFd1ELZu3TrzXKxKfW7dMBQ6bcuWLW2v0VlHjx41z717927ba22U9APcw7Nnz1oGEPeL3m3p2mTAYYnFmMOMXybPPXv2bNIPpFZr1NHn4HMw0KRBjg9NuRw95s8PEcz/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/p49e1qjEP2mwTViNRo0VJWH1deMXcNK08uUjVUu7s/zRaL+oLNxz1bpANco4npUgX4G2eFbpDFyQoQxojBCpEGSytmOH8qrH5Q9vuzD6ofQylkCUmh8DBAr+q8JCyVNtWQIidKQE9wNtLSQnS4jDSsxNHogzFuQBw4cyM61UKVsjfr3ooBkPSqqQHesUPWVtzi9/vQi1T+rJj7WiTz4Pt/l3LxUkr5P2VYZaZ4URpsE+st/dujQoaBBYokbrz/8TJNQYLSonrPS9kUaSkPeZyj1AWSj+d+VBoy1pIWVNed8P0Ll/ee5HdGRhrHhR5GGN0r4LGZBaj8oFDJitBTJzIZgFcmU0Y8ytWMZMzJOaXUSrUs5RxKnrxmbb5YXO9VGUhtpXldhEUogFr3IzIsvlpmdosVcGVGXFWp2oU9kLFL3dEkSz6NHEY1sjSRdIuDFWEhd8KxFqsRi1uM/nz9/zpxnwlESONdg6dKlbsaMGS4EHFHtjFIDHwKOo46l4TxSuxgDzi+rE2jg+BaFruOX4HXa0Nnf1lwAPufZeF8/r6zD97WK2qFnGjBxTw5qNGPxT+5T/r7/7RawFC3j4vTp09koCxkeHjqbHJqArmH5UrFKKksnxrK7FuRIs8STfBZv+luugXZ2pR/pP9Ois4z+TiMzUUkUjD0iEi1fzX8GmXyuxUBRcaUfykV0YZnlJGKQpOiGB76x5GeWkWWJc3mOrK6S7xdND+W5N6XyaRgtWJFe13GkaZnKOsYqGdOVVVbGupsyA/l7emTLHi7vwTdirNEt0qxnzAvBFcnQF16xh/TMpUuXHDowhlA9vQVraQhkudRdzOnK+04ZSP3DUhVSP61YsaLtd/ks7ZgtPcXqPqEafHkdqa84X6aCeL7YWlv6edGFHb+ZFICPlljHhg0bKuk0CSvVznWsotRu433alNdFrqG45ejoaPCaUkWERpLXjzFL2Rpllp7PJU2a/v7Ab8N05/9t27Z16KUqoFGsxnI9EosS2niSYg9SpU6B4JgTrvVW1flt1sT+0ADIJU2maXzcUTraGCRaL1Wp9rUMk16PMom8QhruxzvZIegJjFU7LLCePfS8uaQdPny4jTTL0dbee5mYokQsXTIWNY46kuMbnt8Kmec+LGWtOVIl9cT1rCB0V8WqkjAsRwta93TbwNYoGKsUSChN44lgBNCoHLHzquYKrU6qZ8lolCIN0Rh6cP0Q3U6I6IXILYOQI513hJaSKAorFpuHXJNfVlpRtmYBk1Su1obZr5dnKAO+L10Hrj3WZW+E3qh6IszE37F6EB+68mGpvKm4eb9bFrlzrok7fvr0Kfv727dvWRmdVTJHw0qiiCUSZ6wCK+7XL/AcsgNyL74DQQ730sv78Su7+t/A36MdY0sW5o40ahslXr58aZ5HtZB8GH64m9EmMZ7FpYw4T6QnrZfgenrhFxaSiSGXtPnz57e9TkNZLvTjeqhr734CNtrK41L40sUQckmj1lGKQ0rC37x544r8eNXRpnVE3ZZY7zXo8NomiO0ZUCj2uHz58rbXoZ6gc0uA+F6ZeKS/jhRDUq8MKrTho9fEkihMmhxtBI1DxKFY9XLpVcSkfoi8JGnToZO5sU5aiDQIW716ddt7ZLYtMQlhECdBGXZZMWldY5BHm5xgAroWj4C0hbYkSc/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/UivS9NztpkVEdKcrs5alhhWP9NeqlfWopzhZScI6QxseegZRGeg5a8C3Re1Mfl1ScP36ddcUaMuv24iOJtz7sbUjTS4qBvKmstYJoUauiuD3k5qhyr7QdUHMeCgLa1Ear9NquemdXgmum4fvJ6w1lqsuDhNrg1qSpleJK7K3TF0Q2jSd94uSZ60kK1e3qyVpQK6PVWXp2/FC3mp6jBhKKOiY2h3gtUV64TWM6wDETRPLDfSakXmH3w8g9Jlug8ZtTt4kVF0kLUYYmCCtD/DrQ5YhMGbA9L3ucdjh0y8kOHW5gU/VEEmJTcL4Pz/f7mgoAbYkAAAAAElFTkSuQmCC"]
}
]
}'प्रतिक्रिया
json
{
"model": "llava",
"created_at": "2023-12-13T22:42:50. 203334Z",
"message": {
"role": "assistant",
"content": " The image features a cute, little pig with an angry facial expression. It's wearing a heart on its shirt and is waving in the air. This scene appears to be part of a drawing or sketching project. ",
"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": "Hello! "
}
],
"options": {
"seed": 101,
"temperature": 0
}
}'प्रतिक्रिया
json
{
"model": "llama3. 2",
"created_at": "2023-12-12T14:13:43. 416799Z",
"message": {
"role": "assistant",
"content": "Hello! How are you today? "
},
"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": "What is the weather today in Paris? "
}
],
"stream": false,
"tools": [
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Get the current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The location to get the weather for, e. g. San Francisco, CA"
},
"format": {
"type": "string",
"description": "The format to return the weather in, e. g. 'celsius' or 'fahrenheit'",
"enum": ["celsius", "fahrenheit"]
}
},
"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": "celsius",
"location": "Paris, FR"
}
}
}
]
},
"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
}मॉडल लोड करें
यदि messages सरणी खाली हो, तो मॉडल को मेमोरी में लोड कर दिया जाएगा। ##### अनुरोध
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
}मॉडल अनलोड करें
यदि messages सरणी खाली हो और 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मॉडल निम्नलिखित से बनाया जा सकता है:
- दूसरे मॉडल से;
- सफेटेंसर डायरेक्टरी से; या
- GGUF फ़ाइल से।
यदि आप सफेटेंसर डायरेक्टरी या GGUF फ़ाइल से मॉडल बना रहे हैं, तो आपको प्रत्येक फ़ाइल के लिए एक ब्लॉब बनाना होगा और फिर files फ़ील्ड में प्रत्येक ब्लॉब से जुड़ा फ़ाइल नाम और SHA256 डाइजेस्ट का उपयोग करना होगा।
पैरामीटर
model: बनाने वाले मॉडल का नामfrom: (वैकल्पिक) नया मॉडल बनाने के लिए मौजूदा मॉडल का नामfiles: (वैकल्पिक) मॉडल बनाने के लिए ब्लॉब के फ़ाइल नामों से SHA256 डाइजेस्ट का शब्दकोश (डिक्शनरी)adapters: (वैकल्पिक) LORA एडैप्टर के लिए ब्लॉब के फ़ाइल नामों से SHA256 डाइजेस्ट का शब्दकोश (डिक्शनरी)template: (वैकल्पिक) मॉडल के लिए प्रॉम्प्ट टेम्पलेटrenderer: (वैकल्पिक) मॉडल के रेंडरर का नामparser: (वैकल्पिक) मॉडल के पार्सर का नामlicense: (वैकल्पिक) मॉडल के लाइसेंस या लाइसेंसों को शामिल करने वाला स्ट्रिंग या स्ट्रिंग की सूचीsystem: (वैकल्पिक) मॉडल के लिए सिस्टम प्रॉम्प्ट शामिल करने वाली स्ट्रिंगparameters: (वैकल्पिक) मॉडल के पैरामीटरों का शब्दकोश (पैरामीटरों की सूची के लिए Modelfile देखें)messages: (वैकल्पिक) बातचीत बनाने के लिए उपयोग किए जाने वाले संदेश ऑब्जेक्ट की सूचीstream: (वैकल्पिक) यदिfalseहै तो प्रतिक्रिया एक स्ट्रीम के बजाय एकल प्रतिक्रिया ऑब्जेक्ट के रूप में लौटाई जाएगीquantize(वैकल्पिक): गैर-क्वांटाइज़्ड (उदाहरण के लिए float16) मॉडल को क्वांटाइज़ करें
क्वांटाइज़ेशन प्रकार
| प्रकार | अनुशंसित |
|---|---|
| q4_K_M | * |
| q4_K_S | |
| q8_0 | * |
उदाहरण
नया मॉडल बनाएं
एक मौजूदा मॉडल से नया मॉडल बनाएं।
अनुरोध
shell
curl http://localhost:11434/api/create -d '{
"model": "mario",
"from": "llama3.2",
"system": "You are Mario from Super Mario Bros."
}'प्रतिक्रिया
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.2:quantized",
"from": "llama3.2:3b-instruct-fp16",
"quantize": "q4_K_M"
}'प्रतिक्रिया
JSON ऑब्जेक्ट की स्ट्रीम लौटाई जाती है:
json
{"status":"quantizing F16 model to Q4_K_M","digest":"0","total":6433687776,"completed":12302}
{"status":"quantizing F16 model to Q4_K_M","digest":"0","total":6433687776,"completed":6433687552}
{"status":"verifying conversion"}
{"status":"creating new layer sha256:fb7f4f211b89c6c4928ff4ddb73db9f9c0cfca3e000c3e40d6cf27ddc6ca72eb"}
{"status":"using existing layer sha256:966de95ca8a62200913e3f8bfbf84c8494536f1b94b49166851e76644e966396"}
{"status":"using existing layer sha256:fcc5a6bec9daf9b561a68827b67ab6088e1dba9d1fa2a50d7bbcc8384e0a265d"}
{"status":"using existing layer sha256:a70ff7e570d97baaf4e62ac6e6ad9975e04caa6d900d3742d37698494479e0cd"}
{"status":"using existing layer sha256:56bb8bd477a519ffa694fc449c2413c6f0e1d3b1c88fa7e3c9d88d3ae49d4dcb"}
{"status":"writing manifest"}
{"status":"success"}GGUF से मॉडल बनाएं
GGUF फ़ाइल से मॉडल बनाएं। files पैरामीटर को उपयोग करने वाले GGUF फ़ाइल के फ़ाइल नाम और SHA256 डाइजेस्ट से भरा जाना चाहिए। इस API को कॉल करने से पहले GGUF फ़ाइल को सर्वर पर पुश करने के लिए /api/blobs/:digest का उपयोग करें।
अनुरोध
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"}सफेटेंसर डायरेक्टरी से मॉडल बनाएं
files पैरामीटर में सफेटेंसर मॉडल की फ़ाइलों का शब्दकोश शामिल होना चाहिए जिसमें प्रत्येक फ़ाइल का फ़ाइल नाम और SHA256 डाइजेस्ट हो। इस API को कॉल करने से पहले प्रत्येक फ़ाइल को सर्वर पर पहले पुश करने के लिए /api/blobs/:digest का उपयोग करें। फ़ाइलें तब तक कैश में रहेंगी जब तक ओलामा सर्वर रीस्टार्ट नहीं किया जाता है।
अनुरोध
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"}ब्लॉब की उपस्थिति की जांच करें
shell
HEAD /api/blobs/:digestयह सुनिश्चित करता है कि मॉडल बनाने के लिए उपयोग किया जाने वाला फाइल ब्लॉब (बाइनरी लार्ज ऑब्जेक्ट) सर्वर पर मौजूद है। यह आपके Ollama सर्वर की जांच करता है, न कि ollama.com की।
क्वेरी पैरामीटर
digest: ब्लॉब का SHA256 डाइजेस्ट
उदाहरण
अनुरोध
shell
curl -I http://localhost:11434/api/blobs/sha256:29fdb92e57cf0827ded04ae6461b5931d01fa595843f55d36f5b275a52087dd2प्रतिक्रिया
अगर ब्लॉब मौजूद है तो 200 OK लौटाएं, अगर नहीं है तो 404 Not Found।
ब्लॉब पुश करें
POST /api/blobs/:digestOllama सर्वर पर एक फाइल को "ब्लॉब" (बाइनरी लार्ज ऑब्जेक्ट) बनाने के लिए पुश करें।
क्वेरी पैरामीटर
digest: फाइल का अपेक्षित SHA256 डाइजेस्ट
उदाहरण
अनुरोध
shell
curl -T model.gguf -X POST http://localhost:11434/api/blobs/sha256:29fdb92e57cf0827ded04ae6461b5931d01fa595843f55d36f5b275a52087dd2प्रतिक्रिया
अगर ब्लॉब सफलतापूर्वक बनाया गया है तो 201 Created लौटाएं, अगर उपयोग किए गए डाइजेस्ट अपेक्षित नहीं है तो 400 Bad Request।
स्थानीय मॉडलों की सूची
GET /api/tagsस्थानीय रूप से उपलब्ध मॉडलों की सूची।
उदाहरण
अनुरोध
shell
curl http://localhost:11434/api/tagsप्रतिक्रिया
एकल JSON ऑब्जेक्ट लौटाया जाएगा।
json
{
"models": [
{
"name": "deepseek-r1:latest",
"model": "deepseek-r1:latest",
"modified_at": "2025-05-10T08:06:48.639712648-07:00",
"size": 4683075271,
"digest": "0a8c266910232fd3291e71e5ba1e058cc5af9d411192cf88b6d30e92b6e73163",
"details": {
"parent_model": "",
"format": "gguf",
"family": "qwen2",
"families": ["qwen2"],
"parameter_size": "7.6B",
"quantization_level": "Q4_K_M"
}
},
{
"name": "llama3.2:latest",
"model": "llama3.2:latest",
"modified_at": "2025-05-04T17:37:44.706015396-07:00",
"size": 2019393189,
"digest": "a80c4f17acd55265feec403c7aef86be0c25983ab279d83f3bcd3abbcb5b8b72",
"details": {
"parent_model": "",
"format": "gguf",
"family": "llama",
"families": ["llama"],
"parameter_size": "3.2B",
"quantization_level": "Q4_K_M"
}
}
]
}मॉडल की जानकारी दिखाएं
POST /api/showएक मॉडल के बारे में विवरण, मॉडलफाइल, टेम्पलेट, पैरामीटर, लाइसेंस, सिस्टम प्रॉम्प्ट सहित जानकारी दिखाएं।
पैरामीटर
model: दिखाने के लिए मॉडल का नामverbose: (वैकल्पिक) अगर इसेtrueपर सेट किया गया है, तो वर्बोज प्रतिक्रिया फ़ील्ड के लिए पूरा डेटा लौटाता है
उदाहरण
अनुरोध
shell
curl http://localhost:11434/api/show -d '{
"model": "llava"
}'प्रतिक्रिया
json5
{
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": [], // populates if `verbose=true`
"tokenizer.ggml.model": "gpt2",
"tokenizer.ggml.pre": "llama-bpe",
"tokenizer.ggml.token_type": [], // populates if `verbose=true`
"tokenizer.ggml.tokens": [], // populates if `verbose=true`
},
capabilities: ["completion", "vision"],
}मॉडल की कॉपी करें
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/pullollama लाइब्रेरी से एक मॉडल डाउनलोड करें। रद्द की गई पुलिंग को वहां से फिर से शुरू किया जाता है जहां से यह छोड़ा गया था, और कई कॉल समान डाउनलोड प्रोग्रेस को साझा करेंगे।
पैरामीटर
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": "pulling 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: मॉडलफाइल के दस्तावेज़ में सूचीबद्ध अतिरिक्त मॉडल पैरामीटर जैसेtemperaturekeep_alive: अनुरोध के बाद मॉडल मेमोरी में लोड रहने की अवधि नियंत्रित करता है (डिफॉल्ट:5m)dimensions: एम्बेडिंग के लिए डाइमेंशन की संख्या
उदाहरण
अनुरोध
shell
curl http://localhost:11434/api/embed -d '{
"model": "all-minilm",
"input": "Why is the sky blue?"
}'प्रतिक्रिया
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": ["Why is the sky blue?", "Why is the grass green?"]
}'प्रतिक्रिया
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: मॉडलफाइल के दस्तावेज़ में सूचीबद्ध अतिरिक्त मॉडल पैरामीटर जैसेtemperaturekeep_alive: अनुरोध के बाद मॉडल मेमोरी में लोड रहने की अवधि नियंत्रित करता है (डिफॉल्ट:5m)
उदाहरण
अनुरोध
shell
curl http://localhost:11434/api/embeddings -d '{
"model": "all-minilm",
"prompt": "Here is an article about llamas..."
}'प्रतिक्रिया
json
{
"embedding": [
0.5670403838157654, 0.009260174818336964, 0.23178744316101074,
-0.2916173040866852, -0.8924556970596313, 0.8785552978515625,
-0.34576427936553955, 0.5742510557174683, -0.04222835972905159,
-0.137906014919281
]
}वर्शन
GET /api/versionOllama का वर्शन प्राप्त करें
उदाहरण
अनुरोध
shell
curl http://localhost:11434/api/versionप्रतिक्रिया
json
{
"version": "0.5.1"
}प्रायोगिक सुविधाएं
इमेज जनरेशन (प्रायोगिक)
[!चेतावनी] इमेज जनरेशन प्रायोगिक है और भविष्य के वर्शन में बदल सकता है।
इमेज जनरेशन मॉडल का उपयोग करते समय मानक /api/generate एंडपॉइंट के माध्यम से अब इमेज जनरेशन का समर्थन किया जाता है। API स्वचालित रूप से पता लगाता है कि कब इमेज जनरेशन मॉडल का उपयोग किया जा रहा है।
पूरी API दस्तावेज़ के लिए कंप्लीशन जनरेट करें सेक्शन देखें। प्रायोगिक इमेज जनरेशन पैरामीटर (width, height, steps) वहां दस्तावेजित हैं।
उदाहरण
अनुरोध
shell
curl http://localhost:11434/api/generate -d '{
"model": "x/z-image-turbo",
"prompt": "a sunset over mountains",
"width": 1024,
"height": 768
}'प्रतिक्रिया (स्ट्रीमिंग)
जनरेशन के दौरान प्रोग्रेस अपडेट:
json
{
"model": "x/z-image-turbo",
"created_at": "2024-01-15T10:30:00.000000Z",
"completed": 5,
"total": 20,
"done": false
}अंतिम प्रतिक्रिया
json
{
"model": "x/z-image-turbo",
"created_at": "2024-01-15T10:30:15.000000Z",
"image": "iVBORw0KGgoAAAANSUhEUg...",
"done": true,
"done_reason": "stop",
"total_duration": 15000000000,
"load_duration": 2000000000
}