Endpoints
एम्बेडिंग
POST /embeddings से सेमांटिक सर्च, क्लस्टरिंग और RAG के लिए टेक्स्ट के वेक्टर एम्बेडिंग बनाएँ। पैरामीटर, प्रतिक्रिया, कीमत और सुझाव यहाँ हैं।
playground में आज़माएंसेमांटिक सर्च, क्लस्टरिंग, डुप्लिकेट हटाने और रिट्रीवल-ऑगमेंटेड जनरेशन (RAG) के लिए टेक्स्ट को वेक्टर में बदलें। एंडपॉइंट की संरचना OpenAI के POST /embeddings जैसी ही है, इसलिए client.embeddings.create(...) बिना बदलाव के काम करता है।
POST https://api14.com/api/v1/embeddings
अनुरोध
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
model | string | हाँ | एम्बेडिंग मॉडल id, जैसे openai/text-embedding-3-small। |
input | string या string[] | हाँ | एम्बेड किया जाने वाला टेक्स्ट। एक अनुरोध में कई इनपुट एम्बेड करने के लिए ऐरे पास करें। |
dimensions | integer | नहीं | आउटपुट वेक्टर का आकार, उन मॉडल के लिए जो छोटा करने को सपोर्ट करते हैं (जैसे text-embedding-3-*)। |
encoding_format | string | नहीं | float (डिफ़ॉल्ट) या base64। |
user | string | नहीं | आपका अपना एंड-यूज़र id, अपस्ट्रीम को पास किया जाता है। |
provider | object | नहीं | प्रोवाइडर रूटिंग प्राथमिकताएँ। देखें प्रोवाइडर रूटिंग। |
उदाहरण
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.embeddings.create({
"model": "openai/text-embedding-3-small",
"input": [
"The quick brown fox",
"Lorem ipsum"
]
});
console.log(result.data.map((d) => d.embedding.length));
प्रतिक्रिया
{
"object": "list",
"data": [
{ "object": "embedding", "index": 0, "embedding": [0.0023, -0.0091, 0.0154, "..."] }
],
"model": "openai/text-embedding-3-small",
"usage": { "prompt_tokens": 8, "total_tokens": 8, "cost": 0.00000016 }
}
data[i].index आपके input ऐरे में इनपुट की स्थिति से मेल खाता है।
मॉडल चुनना
एम्बेडिंग मॉडल को उनकी कीमतों के साथ, बिना API कुंजी के, सूचीबद्ध करें:
curl https://api14.com/api/v1/embeddings/models
# या, श्रेणियों और हमारी कीमतों के साथ:
curl "https://api14.com/api/v1/models?category=embeddings"
अलग-अलग मॉडल के वेक्टर तुलनीय नहीं होते। हर वेक्टर के साथ मॉडल id सहेजें और मॉडल बदलने पर अपना कॉर्पस दोबारा एम्बेड करें।
कीमत
एम्बेडिंग का बिल प्रति इनपुट टोकन मॉडल की सूचीबद्ध कीमत पर बनता है, जो "$ / 1M tokens" के रूप में दिखती है। हर अनुरोध की लागत usage.cost (USD) में लौटाई जाती है और आपके बैलेंस से कटती है। देखें कीमत और बिलिंग।
सुझाव
- इनपुट बैच करें: 100 स्ट्रिंग वाला एक अनुरोध तेज़ है और आपकी रेट लिमिट में एक अनुरोध गिना जाता है।
- हर इनपुट को मॉडल की कॉन्टेक्स्ट लंबाई से छोटा रखें; इससे लंबा टेक्स्ट अपस्ट्रीम में अस्वीकार हो जाता है।
- वेक्टर को normalize करें (ज़्यादातर मॉडल पहले से इकाई लंबाई लौटाते हैं) और कोसाइन समानता इस्तेमाल करें।
त्रुटियाँ
| स्टेटस | कोड | कब |
|---|---|---|
| 400 | model_required / invalid_json | model गायब या बॉडी JSON ऑब्जेक्ट नहीं है। |
| 401 | invalid_api_key | कुंजी गायब या अमान्य। |
| 402 | insufficient_balance | आपका USD बैलेंस $0 है। |
| 403 | model_not_allowed | कुंजी की मॉडल allowlist में यह मॉडल शामिल नहीं। |
| 404 | model_not_found | अज्ञात या अक्षम मॉडल id। |
| 429 | rate_limited | प्रति मिनट अनुरोध सीमा पार हो गई। |
पूरी सूची: त्रुटियाँ।