बेस URL और प्रमाणीकरण
अपने OpenAI-संगत क्लाइंट को Mimo API के बेस URL की ओर निर्देशित करके शुरू करें। Google या ईमेल से साइन इन करने के तुरंत बाद आपको एक API कुंजी प्राप्त होगी। इस कुंजी को मानक Authorization हेडर में पास करें। मॉडल पहचानकर्ता uncensored है, जो एक ओपन-वेट मॉडल पर चलता है जिसे कानूनी वयस्क सामग्री पर कम अस्वीकृति के लिए ट्यून्ड किया गया है।
सदस्यता सेवाओं के विपरीत, बिलिंग क्रिप्टो के माध्यम से प्रीपेड है। त्रुटियाँ क्रेडिट का उपभोग नहीं करती हैं। आप मॉडल सूचीबद्ध करके या एक सरल टेक्स्ट प्रॉम्प्ट भेजकर कनेक्टिविटी की जाँच कर सकते हैं। अपनी कुंजी को सुरक्षित रखें; एक खाते के लिए एक कुंजी, यदि आप एक नई कुंजी उत्पन्न करते हैं तो पिछली को बदल देती है।
मानक चैट पूर्णता एंडपॉइंट
चैट पूर्णता एंडपॉइंट पर एक मानक POST अनुरोध भेजें। मॉडल को uncensored पर सेट करें और अपने संदेशों को आवश्यक सरणी प्रारूप में प्रदान करें। API आपके प्रॉम्प्ट के आधार पर टेक्स्ट आउटपुट लौटाता है। आप रचनात्मता को नियंत्रित करने के लिए temperature या top_p जैसे पैरामीटर समायोजित कर सकते हैं।
curl https://api.mimoapi.top/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'यह एंडपॉइंट टेक्स्ट-इन, टेक्स्ट-आउट इंटरैक्शन संभालता है। इसमें एम्बेडिंग, छवियाँ या फाइन-ट्यूनिंग का समर्थन नहीं है। यदि आपको उन सुविधाओं की आवश्यकता है, तो आपको एक अलग सेवा का उपयोग करना होगा। कॉन्टेक्स्ट विंडो प्रॉम्प्ट और पूर्णता के लिए कुल 100,000 टोकन की अनुमति देता है।
Python SDK एकीकरण
API के साथ संपर्क करने के लिए आधिकारिक OpenAI Python लाइब्रेरी का उपयोग करें। बेस URL को Mimo API एंडपॉइंट की ओर इंगित करने के लिए उसे ओवरराइड करें। इससे आपको GPT-4 या अन्य मॉडल के लिए उपयोग किए जाने वाले समान SDK विधियों का उपयोग करने की अनुमति मिलती है। अपने क्लाइंट कॉन्फ़िगरेशन में API कुंजी और लक्ष्य मॉडल सेट करें।
from openai import OpenAI
client = OpenAI(base_url="https://api.mimoapi.top/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)यह दृष्टिकोण सुनिश्चित करता है कि आपका कोड पोर्टेबल बना रहे। यदि आप प्रदाता बदलते हैं, तो आपको केवल बेस URL और कुंजी बदलनी होती है। Python SDK क्रमबद्धीकरण और पुनरावृत्तियों को स्वचालित रूप से संभालता है। आप निर्धारक आउटपुट के लिए seed जैसे पैरामीटर भी सेट कर सकते हैं।
Node SDK एकीकरण
OpenAI Node.js पैकेज को इंस्टॉल करें और बेस URL कॉन्फ़िगर करें। कॉन्फ़िगरेशन ऑब्जेक्ट में अपनी API कुंजी पास करें। क्लाइंट अनुरोधों को बिना सेंसर मॉडल एंडपॉइंट की ओर रूट करेगा। यह CommonJS और ES मॉड्यूल आयात दोनों के साथ काम करता है।
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.mimoapi.top/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Node डेवलपर्स अन्य OpenAI-कम्पैटिबल सेवाओं के साथ उपयोग करने वाले ही एसेंक्रोनस पैटर्न का उपयोग कर सकते हैं। SDK स्ट्रीमिंग पार्सिंग और JSON एन्कोडिंग संभालता है। आप आउटपुट लंबाई को नियंत्रित करने के लिए max_tokens सेट कर सकते हैं, जो निर्दिष्ट न होने पर 2,048 पर डिफ़ॉल्ट होता है।
स्ट्रीमिंग प्रतिक्रियाएँ (SSE)
अपने अनुरोध में stream: true सेट करके स्ट्रीमिंग सक्षम करें। API आंशिक टोकन वाले सर्वर-सेंट इवेंट्स (SSE) लौटाता है। इससे आप उपयोगकर्ताओं को आउटपुट क्रमबद्ध रूप से प्रदर्शित कर सकते हैं। टोकन उपयोग के आँकड़े स्ट्रीम के अंतिम खंड में प्रकट होते हैं।
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)स्ट्रीमिंग लंबे उत्तरों के लिए अनुभवी विलंबता को कम करती है। आपको अपने क्लाइंट कोड में स्ट्रीम इवेंट्स हैंडल करने होंगे। API स्ट्रीमिंग के दौरान सटीक टोकन गणना की गारंटी नहीं देता, लेकिन अंतिम खंड में सटीक उपयोग डेटा शामिल होता है। यह बिलिंग पारदर्शिता के लिए उपयोगी है।
रेट लिमिट, त्रुटियाँ और JSON मोड
API प्रति कुंजी प्रति मिनट 300 अनुरोधों की सीमा लागू करता है और 8 समानांतर अनुरोधों की अनुमति देता है। यदि आप इससे अधिक करते हैं, तो आपको 429 त्रुटि प्राप्त होती है। एक 401 त्रुटि एक अमान्य या समाप्त हो चुकी कुंजी को इंगित करती है। प्रीपेड क्रेडिट केवल वास्तविक टोकन उपयोग के लिए ही चार्ज होता है; त्रुटियाँ और अस्वीकृतियाँ मुफ्त हैं।
संरचित आउटपुट के लिए, JSON मोड का उपयोग करें response_format को json_object पर सेट करके। यह मॉडल को मान्य JSON लौटने पर मजबूर करता है। यह फ़ंक्शन कॉलिंग या डेटा निष्कर्षण के लिए उपयोगी है। कॉन्टेक्स्ट विंडो प्रत्येक अनुरोध के लिए 32,000 टोकन की आउटपुट का समर्थन करता है।