Ollama API क्या है?

Ollama एक open-source टूल है जो आपकी मशीन पर locally बड़े भाषा मॉडल (LLMs) चलाने के लिए उपयोग किया जाता है। यह एक REST API प्रदान करता है जो HTTP requests स्वीकार करता है, जिससे आप Llama 3, Mistral, Gemma और कई अन्य मॉडलों के साथ सीधे अपने terminal या एप्लिकेशन कोड से इंटरैक्ट कर सकते हैं। API एक सरल JSON-आधारित request/response पैटर्न का पालन करता है और text generation, multi-turn chat conversations, और text embeddings को सपोर्ट करता है।

cURL, Ollama API को टेस्ट करने और उसके साथ इंटरैक्ट करने का सबसे सामान्य तरीका है। हालाँकि, सभी सही parameters, headers, और JSON body formatting के साथ सही cURL command बनाना थकाऊ और त्रुटि-प्रवण हो सकता है, विशेष रूप से जब temperature और top-k sampling जैसे मॉडल options को ट्यून किया जाता है।

टूल का विवरण

यह टूल Ollama API endpoints के लिए उपयोग के लिए तैयार cURL commands जनरेट करता है। एक endpoint चुनें, अपना मॉडल और parameters कॉन्फ़िगर करें, और तुरंत एक सही तरीके से फ़ॉर्मेट की गई cURL command प्राप्त करें। जनरेट की गई command में सभी आवश्यक headers, JSON body structure, और मॉडल options शामिल हैं — जो आपके terminal में paste करने के लिए तैयार है।

उदाहरण

बुनियादी text generation:

curl -X POST "http://localhost:11434/api/generate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "Explain quantum computing in simple terms",
  "stream": true
}'

System prompt और custom temperature के साथ chat:

curl -X POST "http://localhost:11434/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "messages": [
    { "role": "system", "content": "You are a helpful coding assistant." },
    { "role": "user", "content": "Write a Python function to reverse a string" }
  ],
  "stream": false,
  "options": {
    "temperature": 0.3
  }
}'

Embeddings जनरेट करें:

curl -X POST "http://localhost:11434/api/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "The quick brown fox jumps over the lazy dog",
  "stream": false
}'

विशेषताएँ

  • तीनों मुख्य Ollama endpoints को सपोर्ट करता है: /api/generate, /api/chat, और /api/embeddings
  • कॉन्फ़िगर करने योग्य मॉडल options: temperature, top-p, top-k, max tokens, repeat penalty, और seed
  • generate और chat endpoints के लिए system prompt सपोर्ट
  • structured output के लिए JSON response format विकल्प
  • जनरेट की गई command को .sh फ़ाइल के रूप में डाउनलोड करें

Options की व्याख्या

Option विवरण डिफ़ॉल्ट रेंज
Temperature आउटपुट की यादृच्छिकता को नियंत्रित करता है। कम मान अधिक केंद्रित टेक्स्ट उत्पन्न करते हैं, उच्च मान रचनात्मकता बढ़ाते हैं। 0.7 0–2
Top P Nucleus sampling threshold। मॉडल उन tokens पर विचार करता है जिनकी संचयी संभावना इस मान तक पहुँचती है। 0.9 0–1
Top K प्रत्येक चरण में K सबसे संभावित candidates तक token चयन को सीमित करता है। 40 1–100
Max tokens response में जनरेट किए जाने वाले tokens की अधिकतम संख्या। असीमित के लिए -1 सेट करें। 128 -1–4096
Repeat penalty दोहराए गए tokens को दंडित करता है। 1.0 से ऊपर के मान पुनरावृत्ति को हतोत्साहित करते हैं। 1.1 0–2
Seed पुनरुत्पादन योग्य आउटपुट के लिए निश्चित seed। यादृच्छिक परिणामों के लिए खाली छोड़ें। कोई भी integer
Response format मॉडल को valid JSON आउटपुट वापस करने के लिए बाध्य करने हेतु JSON पर सेट करें। कोई नहीं None / JSON
Stream सक्षम होने पर, response token दर token stream किया जाता है। एक साथ पूरा response प्राप्त करने के लिए अक्षम करें। चालू चालू / बंद

उपयोग के मामले

  • मैन्युअल रूप से JSON लिखे बिना terminal से Ollama API calls को तेज़ी से prototype और टेस्ट करना
  • teammates के साथ साझा करने या documentation में शामिल करने के लिए cURL commands जनरेट करना
  • अपने उपयोग के मामले के लिए इष्टतम settings खोजने हेतु विभिन्न मॉडल parameters के साथ प्रयोग करना