For the complete documentation index, see llms.txt. This page is also available as Markdown.

Python SDK (clore-ai)

यह clore-ai पैकेज आधिकारिक Python SDK है Clore.ai GPU मार्केटप्लेस। यह पूरे REST API को एक साफ, टाइप-सुरक्षित इंटरफेस में समेटता है, जिसमें अंतर्निहित rate limiting, स्वचालित retries, और संरचित error handling शामिल हैं — ताकि आप GPU किराए पर लेने पर ध्यान दें, HTTP plumbing पर नहीं।


स्थापना

pip install clore-ai

आवश्यकताएँ: Python 3.9+

पैकेज Python SDK और clore CLI.


प्रमाणीकरण

अपना API key प्राप्त करें Clore.ai डैशबोर्डAPI अनुभाग से।

विकल्प 1: पर्यावरण चर (अनुशंसित)

export CLORE_API_KEY=your_api_key_here

SDK पढ़ता है CLORE_API_KEY स्वचालित रूप से — किसी कोड परिवर्तन की आवश्यकता नहीं।

विकल्प 2: CLI कॉन्फ़िग फ़ाइल

clore config set api_key YOUR_API_KEY

यह कुंजी इसमें संग्रहीत करता है ~/.clore/config.json.

विकल्प 3: कोड में सीधे पास करें

⚠️ महत्वपूर्ण: Clore.ai API प्रमाणीकरण के लिए auth हेडर का उपयोग करता है, नहीं Authorization: Bearer. SDK इसे स्वचालित रूप से संभालता है।


त्वरित शुरुआत


सिंक क्लाइंट (CloreAI)

कंस्ट्रक्टर

क्लाइंट स्वचालित सफाई के लिए संदर्भ प्रबंधकों का समर्थन करता है:


wallets()

अपने वॉलेट बैलेंस और जमा पते प्राप्त करें।

लौटाता है: List[Wallet]

फ़ील्ड
प्रकार
विवरण

नाम

str

मुद्रा का नाम (उदा. "bitcoin", "CLORE-Blockchain", "USD-Blockchain")

शेष राशि

float | None

वर्तमान शेष राशि

जमा

str | None

जमा पता

withdrawal_fee

float | None

निकासी शुल्क


marketplace()

वैकल्पिक क्लाइंट-पक्ष फ़िल्टरों के साथ GPU मार्केटप्लेस खोजें।

पैरामीटर:

पैरामीटर
प्रकार
डिफ़ॉल्ट
विवरण

gpu

str | None

None

GPU मॉडल के आधार पर फ़िल्टर करें (केस-इन्सेंसिटिव उपस्ट्रिंग मिलान)

min_gpu_count

int | None

None

GPUs की न्यूनतम संख्या

min_ram_gb

float | None

None

GB में न्यूनतम RAM

max_price_usd

float | None

None

USD में प्रति घंटा अधिकतम मूल्य

available_only

bool

True

केवल वही सर्वर लौटाएँ जो किराए के लिए उपलब्ध हैं

लौटाता है: List[MarketplaceServer]

प्रत्येक MarketplaceServer सबसे सामान्य फ़ील्ड के लिए सुविधाजनक गुण प्रदान करता है, साथ ही पूर्ण नेस्टेड डेटा तक पहुँच भी:

गुण
प्रकार
विवरण

id

int

अद्वितीय सर्वर ID

gpu_model

str | None

प्राथमिक GPU विवरण (उदा. "1x NVIDIA GeForce RTX 4090")

gpu_count

int

GPUs की संख्या (from gpu_array)

ram_gb

float | None

GB में RAM

price_usd

float | None

USD में ऑन-डिमांड मूल्य

spot_price_usd

float | None

USD में स्पॉट मूल्य

available

bool

क्या सर्वर उपलब्ध है (किराए पर नहीं)

location

str | None

नेटवर्क विनिर्देशों से देश कोड

उन्नत उपयोग मामलों के लिए, आप पूर्ण नेस्टेड संरचना तक पहुँच सकते हैं:

फ़ील्ड
प्रकार
विवरण

specs

ServerSpecs | None

पूर्ण हार्डवेयर विनिर्देश (specs.gpu, specs.ram, specs.cpu, specs.disk, specs.net, आदि)

price

ServerPrice | None

पूर्ण मूल्य ऑब्जेक्ट (price.usd.on_demand_usd, price.usd.spot, price.on_demand, आदि)

rented

bool | None

क्या सर्वर वर्तमान में किराए पर है

reliability

float | None

सर्वर विश्वसनीयता स्कोर

rating

ServerRating | None

सर्वर रेटिंग (rating.avg, rating.cnt)

नोट: यह marketplace() endpoint सार्वजनिक है — यह API key के बिना काम करता है।


my_servers()

वे सर्वर सूचीबद्ध करें जिन्हें आप Clore.ai मार्केटप्लेस पर प्रदान कर रहे हैं।

लौटाता है: List[MyServer]

गुण
प्रकार
विवरण

id

int

सर्वर ID

नाम

str | None

सर्वर नाम

gpu_model

str | None

प्राथमिक GPU विवरण

ram_gb

float | None

GB में RAM

status

str

मानव-पठनीय स्थिति: "Online", "Offline", "Disconnected", या "Not Working"

connected

bool | None

क्या सर्वर कनेक्टेड है

online

bool | None

क्या सर्वर ऑनलाइन है

visibility

str | None

"public" या "private"


server_config(server_name)

आपके द्वारा होस्ट किए गए किसी विशिष्ट सर्वर का कॉन्फ़िगरेशन प्राप्त करें।

पैरामीटर:

पैरामीटर
प्रकार
विवरण

server_name

str

सर्वर का नाम

लौटाता है: ServerConfig

गुण
प्रकार
विवरण

नाम

str | None

सर्वर नाम

gpu_model

str | None

प्राथमिक GPU विवरण

mrl

int | None

घंटों में अधिकतम किराये की अवधि

on_demand_price

float | None

पहली उपलब्ध ऑन-डिमांड USD कीमत

spot_price

float | None

पहली उपलब्ध स्पॉट USD कीमत

specs

ServerSpecs | None

पूर्ण हार्डवेयर विनिर्देश

connected

bool | None

क्या सर्वर कनेक्टेड है

visibility

str | None

"public" या "private"


my_orders(include_completed)

अपने वर्तमान ऑर्डर प्राप्त करें, वैकल्पिक रूप से पूर्ण/समाप्त हो चुके ऑर्डर शामिल करते हुए।

पैरामीटर:

पैरामीटर
प्रकार
डिफ़ॉल्ट
विवरण

include_completed

bool

False

पूर्ण/समाप्त हो चुके ऑर्डर शामिल करें

लौटाता है: List[Order]

फ़ील्ड
प्रकार
विवरण

id

int

अद्वितीय ऑर्डर ID

server_id

int | None

सर्वर ID

type

str

"on-demand" या "spot"

status

str | None

ऑर्डर स्थिति

image

str | None

Docker इमेज

currency

str | None

भुगतान मुद्रा

price

float | None

प्रति दिन ऑर्डर मूल्य

pub_cluster

str | None

पहुँच के लिए सार्वजनिक होस्टनाम/IP

tcp_ports

dict | None

TCP पोर्ट मैपिंग्स


spot_marketplace(server_id)

किसी विशिष्ट सर्वर के लिए स्पॉट मार्केट ऑफ़र देखें।

पैरामीटर:

पैरामीटर
प्रकार
विवरण

server_id

int

जाँचने के लिए सर्वर ID

लौटाता है: SpotMarket

फ़ील्ड
प्रकार
विवरण

offers

List[SpotOffer] | None

स्पॉट ऑफ़रों की सूची (order_id, price, server_id)

server

SpotServerInfo | None

सर्वर जानकारी (न्यूनतम मूल्य निर्धारण, दृश्यता, ऑनलाइन स्थिति)

currency_rates_in_usd

Dict[str, float] | None

USD में मुद्रा विनिमय दरें


create_order(...)

एक नया ऑन-डिमांड या स्पॉट ऑर्डर बनाएं। इसी तरह आप GPU किराए पर लेते हैं।

ऑन-डिमांड ऑर्डर

स्पॉट ऑर्डर

पैरामीटर:

पैरामीटर
प्रकार
आवश्यक
विवरण

server_id

int

हाँ

किराए पर लेने के लिए सर्वर ID

image

str

हाँ

Docker इमेज (उदा. "cloreai/ubuntu22.04-cuda12")

type

str

हाँ

"on-demand" या "spot"

currency

str

हाँ

भुगतान मुद्रा (उदा. "bitcoin")

ssh_password

str

नहीं

SSH पासवर्ड (अल्फ़ान्यूमेरिक, अधिकतम 32 वर्ण)

ssh_key

str

नहीं

SSH सार्वजनिक कुंजी (अधिकतम 3072 वर्ण)

ports

dict

नहीं

पोर्ट मैपिंग्स, उदा. {"22": "tcp", "8888": "http"}

env

dict

नहीं

पर्यावरण चर

jupyter_token

str

नहीं

Jupyter notebook token (अधिकतम 32 वर्ण)

command

str

नहीं

कंटेनर शुरू होने के बाद चलाने के लिए शेल कमांड

spot_price

float

केवल स्पॉट

स्पॉट ऑर्डरों के लिए प्रति दिन मूल्य

required_price

float

नहीं

एक विशिष्ट मूल्य लॉक करें (केवल ऑन-डिमांड)

autossh_entrypoint

str

नहीं

Clore.ai SSH प्रवेशबिंदु का उपयोग करें

gpu_count

int

नहीं

केवल N GPU उन सर्वरों पर किराये पर लें जिनमें आंशिक किराया (केवल ऑन-डिमांड); पूरे रिग को किराये पर लेने के लिए छोड़ दें

gpu_indices

list[int]

नहीं

से सटीक GPU स्लॉट partial_gpu_rental.free_indices; लंबाई बराबर होनी चाहिए gpu_count; ऑटो-पिक के लिए छोड़ दें

लौटाता है: कच्चा API उत्तर ({"code": 0} सफलता पर); बनाए गए ऑर्डर को प्राप्त करें my_orders()

रेट लिमिट: create_order कॉल्स के बीच विशेष 5-सेकंड कूलडाउन होता है। SDK इसे स्वचालित रूप से लागू करता है।


cancel_order(order_id, issue)

एक सक्रिय ऑर्डर या स्पॉट ऑफ़र रद्द करें। वैकल्पिक रूप से सर्वर के साथ कोई समस्या रिपोर्ट करें।

पैरामीटर:

पैरामीटर
प्रकार
आवश्यक
विवरण

order_id

int

हाँ

रद्द करने के लिए ऑर्डर ID

issue

str

नहीं

रद्द करने का कारण / समस्या रिपोर्ट (अधिकतम 2048 वर्ण)

लौटाता है: Dict[str, Any]


set_server_settings(...)

मार्केटप्लेस पर आपके होस्ट किए गए सर्वर की सेटिंग्स अपडेट करें।

पैरामीटर:

पैरामीटर
प्रकार
आवश्यक
विवरण

नाम

str

हाँ

सर्वर नाम

availability

bool

नहीं

क्या सर्वर किराये पर दिया जा सकता है

mrl

int

नहीं

घंटों में अधिकतम किराये की अवधि

on_demand

float

नहीं

प्रति दिन ऑन-डिमांड मूल्य

spot

float

नहीं

प्रति दिन न्यूनतम स्पॉट मूल्य

लौटाता है: Dict[str, Any]


set_spot_price(order_id, price)

अपने स्पॉट मार्केट ऑफ़र पर मूल्य अपडेट करें।

पैरामीटर:

पैरामीटर
प्रकार
विवरण

order_id

int

स्पॉट ऑर्डर/ऑफ़र ID

price

float

प्रति दिन नया मूल्य

लौटाता है: Dict[str, Any]

नोट: आप स्पॉट कीमतों को केवल हर 600 सेकंड में एक बार, और सीमित चरण आकार से ही कम कर सकते हैं। API लौटाती है code: 6 यदि आप इन सीमाओं से अधिक जाते हैं, तो विवरण सहित।


असिंक्रोनस क्लाइंट (AsyncCloreAI)

यह AsyncCloreAI क्लाइंट वही विधियाँ प्रदान करता है जो CloreAIलेकिन सभी कॉरूटीन लौटाते हैं। जब आपको समानांतर API कॉल्स की आवश्यकता हो या आप किसी async एप्लिकेशन के भीतर काम कर रहे हों, तब इसका उपयोग करें।

बुनियादी उपयोग

समानांतर संचालन

के साथ कई API कॉल्स को समानांतर में चलाएँ asyncio.gather:

उपलब्ध विधियाँ

AsyncCloreAI जैसी ही सभी विधियों का समर्थन करता है CloreAI:

विधि
विवरण

await wallets()

वॉलेट शेष राशि प्राप्त करें

await marketplace(...)

मार्केटप्लेस खोजें

await my_servers()

अपने होस्ट किए गए सर्वर सूचीबद्ध करें

await server_config(name)

सर्वर कॉन्फ़िगरेशन प्राप्त करें

await my_orders(...)

अपने ऑर्डर सूचीबद्ध करें

await spot_marketplace(server_id)

स्पॉट मार्केट ऑफ़र प्राप्त करें

await create_order(...)

एक नया ऑर्डर बनाएँ

await cancel_order(...)

एक ऑर्डर रद्द करें

await set_server_settings(...)

सर्वर सेटिंग्स अपडेट करें

await set_spot_price(...)

स्पॉट मूल्य अपडेट करें


त्रुटि प्रबंधन

SDK हर API त्रुटि कोड के लिए संरचित अपवाद वर्ग प्रदान करता है।

त्रुटि कोड

Code
Exception
विवरण

0

सफलता

1

DBError

डेटाबेस त्रुटि

2

InvalidInputError

अमान्य इनपुट डेटा

3

AuthError

अमान्य API token

4

InvalidEndpointError

अमान्य एंडपॉइंट

5

RateLimitError

रेट लिमिट पार हो गई

6

FieldError

विशिष्ट फ़ील्ड में त्रुटि (देखें error प्रतिक्रिया में field)

सभी अपवाद वर्ग विरासत में लेते हैं CloreAPIError और इनमें शामिल हैं:

  • e.code — संख्यात्मक त्रुटि कोड

  • e.response — पूर्ण API response dict (जब उपलब्ध हो)


रेट लिमिटिंग

SDK में एक अंतर्निहित रेट लिमिटर शामिल है जो Clore.ai की सीमाओं को स्वचालित रूप से लागू करता है:

एंडपॉइंट
सीमा

अधिकांश एंडपॉइंट

1 अनुरोध/सेकंड

create_order

1 अनुरोध/5 सेकंड

जब API एक रेट-लिमिट त्रुटि (code 5) लौटाती है, तो SDK लागू करता है घातीय बैकऑफ़ और तक पुनः प्रयास करता है max_retries बार (डिफ़ॉल्ट: 3)। आपको जोड़ने की आवश्यकता नहीं है time.sleep() कॉल्स के बीच।

यह कैसे काम करता है

  1. प्रत्येक अनुरोध से पहले, रेट लिमिटर न्यूनतम अंतराल समाप्त होने तक प्रतीक्षा करता है.

  2. create_order कॉल्स एक अतिरिक्त 5-सेकंड कूलडाउन लागू करती हैं.

  3. रेट-लिमिट त्रुटियों पर, SDK घातीय रूप से पीछे हटता है: 1s → 2s → 4s → ...

  4. के बाद max_retries विफल प्रयासों के बाद, एक RateLimitError फेंका जाता है.

पुनः प्रयास व्यवहार अनुकूलित करें


कॉन्फ़िगरेशन

कॉन्फ़िग फ़ाइल

CLI कॉन्फ़िगरेशन को इसमें संग्रहीत करता है ~/.clore/config.json:

समाधान क्रम

SDK API key को इस क्रम में हल करता है:

  1. api_key कन्स्ट्रक्टर को पास किया गया आर्गुमेंट

  2. CLORE_API_KEY पर्यावरण चर

  3. api_key में फ़ील्ड ~/.clore/config.json

पर्यावरण चर

चर
विवरण

CLORE_API_KEY

प्रमाणीकरण के लिए API key


अगले चरण

अंतिम अपडेट

क्या यह उपयोगी था?