HI ▾
API कुंजी पाएँ

Ollama का उपयोग GUI (और होस्टेड फॉलबैक) के साथ कैसे करें

Ollama स्वयं एक टर्मिनल में चलता है, लेकिन कोई भी चैट फ्रंट एंड जो OpenAI फॉर्मेट का उपयोग करता है, उसके ऊपर स्थापित किया जा सकता है। यहाँ इसे सेटअप करने का तरीका और उसी विंडो को होस्टेड एंडपॉइंट की ओर इशारा करने का तरीका दिया गया है।

अद्यतन

स्थानीय कंप्यूटर और क्लाउड सर्वर दोनों से चमकदार केबल्स द्वारा जुड़ी चैट विंडो

कोई कार्ड आवश्यक नहीं। साइन-अप के बाद, एक क्लिक से $0.50 का मुफ़्त ट्रायल क्रेडिट क्लेम करें (प्रति व्यक्ति एक बार)।

API कुंजी पाएँ

मुख्य बिंदु

  • Ollama में कोई इनबिल्ट चैट विंडो नहीं है; आपको Open WebUI जैसे फ्रंट एंड जोड़ने होते हैं।
  • फ्रंट एंड Ollama या किसी भी OpenAI-संगत URL से बात करते हैं, इसलिए एक GUI दोनों कनेक्शन रख सकती है।
  • होस्टेड कनेक्शन के लिए बेस URL https://api.ollamansfw.com/v1 और मॉडल ID uncensored का उपयोग करें।
  • स्ट्रीमिंग, टूल कॉलिंग और JSON मोड सभी मानक क्लाइंट सेटिंग्स के साथ होस्टेड एंडपॉइंट के माध्यम से काम करते हैं।

Ollama को अलग GUI की आवश्यकता क्यों है

यदि आप जानना चाहते हैं ollama को GUI के साथ कैसे उपयोग करें, तो पहला तथ्य यह है कि Ollama प्रोजेक्ट एक सर्वर और कमांड-लाइन टूल है। यह मॉडल खींचता है और स्थानीय पोर्ट पर अनुरोधों का उत्तर देता है। चैट विंडो किसी और का काम है, और कई अच्छे विकल्प मौजूद हैं।

यह विभाजन उपयोगी है। Ollama अपनी मशीन पर OpenAI-शैली की API एक्सपोज़ करता है (डिफ़ॉल्ट रूप से पोर्ट 11434 पर /v1 के तहत), इसलिए कोई भी फ्रंटएंड जो आपको कस्टम OpenAI बेस URL सेट करने देता है, उसका उपयोग कर सकता है। उसी गुण का अर्थ है कि आप बाद में उस फ्रंटएंड को कहीं और पॉइंट कर सकते हैं। यह आर्टिकल पहले स्थानीय सेटअप की व्याख्या करता है, फिर एक होस्टेड एंडपॉइंट को दूसरा कनेक्शन जोड़ता है।

एक फ्रंट-एंड चुनें

सबसे अधिक लोगों की आवश्यकताओं को पूरा करने वाले टूल्स की तीन श्रेणियाँ हैं। चूंकि वे अक्सर बदलते हैं, इसलिए प्रत्येक प्रोजेक्ट की अपनी दस्तावेज़ीकरण में वर्तमान स्थापना चरण जांचें।

  • Open WebUI. एक स्व-होस्टेड ब्राउज़र इंटरफ़ेस। यह Ollama को सीधे सपोर्ट करता है और किसी भी OpenAI-कम्पैटिबल कनेक्शन को स्वीकार करता है। आमतौर पर Docker या pip के साथ इंस्टॉल किया जाता है।
  • डेस्कटॉप क्लाइंट। चैटबॉक्स या एमएसटी जैसे नेटिव ऐप्स आपको सेटिंग्स स्क्रीन के माध्यम से ओलामा सर्वर या ओपनएआई-कम्पैटिबल प्रोवाइडर जोड़ने की अनुमति देते हैं। चलाने के लिए कोई सर्वर नहीं।
  • रोलप्ले और लेखन फ्रंटएंड। सिलीटावर्न आपको एक ओपनएआई-कम्पैटिबल एंडपॉइंट जोड़ने की अनुमति देता है, और लंबे-प्रारूप की कथा साहित्य और वयस्कों के लिए कंपैनियन किरदारों के लिए समान उपकरण मौजूद हैं।

यदि आप Docker कंटेनर नहीं चाहते हैं, तो एक डेस्कटॉप क्लाइंट सबसे छोटा मार्ग है। यदि आप एक नेटवर्क पर कई लोगों के लिए एक शेयर्ड इंटरफ़ेस चाहते हैं, तो Open WebUI आमतौर पर पसंदीदा विकल्प है।

Open WebUI के साथ चरण दर चरण

  1. Ollama को इंस्टॉल और शुरू करें, फिर ollama pull कमांड के साथ एक मॉडल खींचें। आगे बढ़ने से पहले पुष्टि करें कि यह टर्मिनल से प्रतिक्रिया देता है।
  2. Open WebUI शुरू करें। Docker के साथ सामान्य प्रक्रिया एक पोर्ट को प्रकाशित करना और उसके डेटा के लिए एक वॉल्यूम माउंट करना है।
  3. वेब पेज खोलें, पहला स्थानीय खाता बनाएं (यह एडमिन बन जाता है), और एडमिन सेटिंग्स में कनेक्शन क्षेत्र की तलाश करें।
  4. जाँच करें कि Ollama URL उस मशीन की ओर संकेत कर रहा है जहाँ Ollama चल रहा है। जब दोनों एक ही होस्ट पर हों, तो यह आमतौर पर पोर्ट 11434 पर स्थानीय पता होता है। जब Open WebUI एक कंटेनर के अंदर चलता है, localhost का अर्थ कंटेनर स्वयं होता है, जो मॉडल सूची के खाली रहने का सबसे सामान्य कारण है।
  5. रीलोड करें, ड्रॉप-डाउन से एक मॉडल चुनें, और एक संदेश भेजें।

यह एक पूर्ण स्थानीय GUI है। कुछ भी आपके कंप्यूटर से बाहर नहीं जाता, और गति आपके GPU या CPU पर निर्भर करती है।

एक होस्टेड OpenAI-कम्पैटिबल कनेक्शन जोड़ना

अब फॉलबैक। मान लें कि आप स्थानीय रूप से चला सकते हैं मॉडल लंबे दृश्य के लिए बहुत छोटा है, या आपका जीपीयू रेंडरिंग में व्यस्त है। आप उसी जीयूआई के लिए एक दूसरा कनेक्शन जोड़ सकते हैं। इसके लिए आपको एक API कुंजी की आवश्यकता है, जिसे आप Google या ईमेल और पासवर्ड से साइन अप करने के बाद API कुंजी पेज से क्लेम कर सकते हैं। एक बार $0.50 का परीक्षण क्रेडिट एक क्लिक के साथ उपलब्ध है, जिसमें भुगतान की आवश्यकता नहीं है और यह 7 दिनों के लिए मान्य है।

Open WebUI में, इन मानों के साथ एक OpenAI कनेक्शन जोड़ें:

  • Base URL: https://api.ollamansfw.com/v1
  • API कुंजी: आपकी कुंजी, Authorization: Bearer के रूप में भेजी जाती है
  • मॉडल: uncensored

यदि आप कंटेनर लॉन्च करते समय एनवायरनमेंट वेरिएबल्स को प्राथमिकता देते हैं, तो Open WebUI इस उद्देश्य के लिए OPENAI_API_BASE_URL और OPENAI_API_KEY का उल्लेख करता है:

docker run -d -p 3000:8080 \
  -e OPENAI_API_BASE_URL=https://api.ollamansfw.com/v1 \
  -e OPENAI_API_KEY=YOUR_KEY \
  -v open-webui:/app/backend/data \
  --name open-webui ghcr.io/open-webui/open-webui:main
# model to pick in the UI: uncensored

रिलोड के बाद, uncensored आपके स्थानीय मॉडल के बगल में मॉडल ड्रॉपडाउन में दिखाई देना चाहिए। फ्रंटएंड इसे GET /v1/models के माध्यम से खोजता है। अब आप उसी कन्वर्सेशन लिस्ट के भीतर स्थानीय मॉडल और होस्टेड मॉडल के बीच स्विच कर सकते हैं।

GUI के बाहर एंडपॉइंट का परीक्षण करें

जब एक GUI अस्पष्ट त्रुटि दिखाती है, तो यह बताने का सबसे तेज़ तरीका कि समस्या कुंजी में है या इंटरफ़ेस में, एक सीधा अनुरोध भेजना है। यहाँ curl के साथ एक स्ट्रीमिंग अनुरोध है:

curl -N https://api.ollamansfw.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "stream": true,
    "messages": [{"role": "user", "content": "Write two sentences about a lighthouse keeper."}]
  }'

आपको data: लाइनों की एक श्रृंखला दिखनी चाहिए जो उपयोग जानकारी के साथ समाप्त होती है। यदि यह काम करता है, तो कुंजी और URL ठीक हैं और समस्या फ्रंटएंड में है। समस्या निवारण पृष्ठ एक गायब /v1 या कुंजी में ट्रेलिंग स्पेस जैसे सामान्य गलतियों को कवर करता है।

स्थानीय मॉडल के लिए आप जो क्लाइंट सेटिंग्स उपयोग करते हैं, वे ज्यादातर वैसे ही रहती हैं। तापमान, top_p, स्टॉप सीक्वेंस, सीड और पेनल्टीज़ मॉडल में पास हो जाती हैं।

अपने कोड से होस्टेड एंडपॉइंट का उपयोग करना

एक GUI एक क्लाइंट है। स्क्रिप्ट और छोटे ऐप्स दूसरे हैं, और होस्टेड एंडपॉइंट स्टैंडर्ड OpenAI SDKs के साथ काम करता है। टूल कॉलिंग और JSON मोड समर्थित हैं, जो महत्वपूर्ण है यदि आपकी GUI या एजेंट उनका उपयोग करती है।

from openai import OpenAI

client = OpenAI(base_url="https://api.ollamansfw.com/v1", api_key="YOUR_KEY")

resp = client.chat.completions.create(
    model="uncensored",
    response_format={"type": "json_object"},
    messages=[
        {"role": "system", "content": "Reply with a JSON object with keys title and summary."},
        {"role": "user", "content": "A short story about a lighthouse keeper."},
    ],
)
print(resp.choices[0].message.content)

Node में पैटर्न समान है:

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.ollamansfw.com/v1",
  apiKey: process.env.API_KEY,
});

const stream = await client.chat.completions.create({
  model: "uncensored",
  stream: true,
  messages: [{ role: "user", content: "Name three sailing knots." }],
});
for await (const part of stream) {
  process.stdout.write(part.choices[0]?.delta?.content ?? "");
}

क्विकस्टार्ट में अधिक उदाहरण हैं, जिनमें tool_choice के साथ टूल कॉल शामिल हैं।

सामान्य समस्याएं और समाधान

GUI सेटअप में अधिकांश विफलताएँ कारणों की एक छोटी सूची से आती हैं।

  • लोकल कनेक्शन के लिए खाली मॉडल सूची। फ्रंट एंड Ollama तक नहीं पहुँच पा रहा है। पता जाँचें, और याद रखें कि एक कंटेनराइज़्ड GUI आपके होस्ट को localhost के रूप में नहीं देखती है।
  • होस्टेड एंडपॉइंट से 401। कुंजी गायब है या गलत है। इसे फिर से बिना स्पेस के पेस्ट करें, और सुनिश्चित करें कि GUI इसे बेयरर टोकन के रूप में भेजती है।
  • हर अनुरोध पर 404। बेस URL में शायद /v1 नहीं है, या वह दो बार है।
  • प्रतिक्रियाएँ रुक जाती हैं या यूआई हंग हो जाता है। कुछ फ्रंटएंड प्रॉक्सी के माध्यम से स्ट्रीम किए गए आउटपुट को बफर करते हैं। ऊपर दिए गए सीधे curl टेस्ट की कोशिश करें, और यदि यह स्ट्रीम करता है, तो आपकी जीयूआई के सामने प्रॉक्सी सेटिंग्स की जाँच करें।
  • धीमे लोकल जवाब। मॉडल आपके VRAM के लिए बहुत बड़ा है और सिस्टम मेमोरी में स्पाइल हो रहा है। एक छोटी क्वांटीज़ेशन चुनें, या उस चैट को होस्टेड कनेक्शन पर स्विच करें।

कथा साहित्य और वयस्कों के लिए कंपैनियन ऐप्स के लिए एक नियम को ध्यान में रखें: होस्टेड मॉडल कानूनी वयस्क उपयोग के लिए बिना सेंसर उत्तर देता है, लेकिन नाबालिगों से संबंधित यौन सामग्री कभी भी अनुमति नहीं है, और सेवा इसे एक कठोर नियम के रूप में लागू करती है।

GUI में जानने योग्य लिमिट और लागत

फ्रंटएंड एक साथ कई अनुरोध भेज सकते हैं, उदाहरण के लिए जब वे मुख्य प्रतिक्रिया स्ट्रीम करते समय पृष्ठभूमि में चैट शीर्षक उत्पन्न करते हैं। एक पूर्ण कुंजी 8 समानांतर अनुरोधों और प्रति मिनट 300 अनुरोधों की अनुमति देती है। एक ट्रायल कुंजी 2 समानांतर और प्रति मिनट 60 की अनुमति देती है। एक स्ट्रीम किए गए अनुरोध में स्ट्रीम समाप्त होने तक उसकी स्लॉट बनी रहती है। यदि आप एक लिमिट से अधिक हो जाते हैं तो आपको HTTP 429 rate_limited या concurrency के साथ मिलता है, और अस्थायी ओवरलोड पर 429 Retry-After: 5 के साथ मिलता है। जीयूआई में पृष्ठभूमि शीर्षक जनरेशन बंद करना एक सरल समाधान है।

लागत प्रति टोकन है: 1M इनपुट के लिए $0.15 और 1M आउटपुट के लिए $0.50। 2,000 टोकन की हिस्ट्री और 500-टोकन के जवाब के साथ एक चैट टर्न $0.0003 प्लस $0.00025 का खर्च करता है, जो $0.00055 है। रिस्पॉन्स हेडर्स में X-Balance-USD शामिल है, इसलिए आप अपनी क्रेडिट कम होते हुए देख सकते हैं। टॉप-अप के विवरण प्राइसिंग पेज पर हैं। यह साइट केवल क्रिप्टो है: TRC20 पर USDT या Base पर USDC, $20 से $500 तक कोई भी पूर्ण राशि।

कॉन्टेक्स्ट विंडो 100,000 टोकन का है, इसलिए बहुत लंबी चैट्स हर टर्न पर अधिक खर्च करेंगी क्योंकि हिस्ट्री बढ़ती है, क्योंकि पूरी हिस्ट्री हर बार भेजी जाती है। अधिकांश GUI में पुराने संदेशों को ट्रिम या सारांशित करने की सेटिंग होती है।

प्रश्न और उत्तर

क्या Ollama का अपना ग्राफिकल इंटरफ़ेस है?

Ollama मुख्य रूप से एक सर्वर और कमांड-लाइन टूल है। चैट विंडो अलग-अलग प्रोजेक्ट्स जैसे Open WebUI या डेस्कटॉप क्लाइंट्स से आते हैं जिनसे आप कनेक्ट करते हैं।

क्या एक GUI एक लोकल मॉडल और एक होस्टेड मॉडल का उपयोग कर सकती है?

हाँ, यदि फ्रंट-एंड कई कनेक्शन का समर्थन करता है। Ollama को एक कनेक्शन के रूप में और एक OpenAI-कम्पैटिबल URL को दूसरे के रूप में जोड़ें, फिर प्रत्येक चैट के लिए मॉडल चुनें।

मेरी GUI होस्टेड एंडपॉइंट के लिए कोई मॉडल क्यों नहीं दिखाती?

सुनिश्चित करें कि base URL /v1 पर समाप्त होता है, कुंजी में कोई अनावश्यक स्पेस नहीं है, और GUI को GET /v1/models कॉल करने की अनुमति है। यदि यह अभी भी विफल रहता है, तो मॉडल ID uncensored को हाथ से टाइप करें।

यदि मुझे HTTP 429 मिलता है तो मुझे क्या करना चाहिए?

आपने रेट लिमिट या कन्करेंसी लिमिट को हिट किया है। समानांतर अनुरोध कम करें, Retry-After में दिए गए सेकंड की संख्या के लिए प्रतीक्षा करें और पुनः प्रयास करें।