pplx-api का परिचय

ओपन-सोर्स LLMs के लिए Perplexity Labs की तेज़ और कुशल API

Introducing pplx-api by Perplexity Labs

कृपया ध्यान दें: नीचे दी गई चीजें वर्तमान मॉडलों के लिए पदावनत (deprecated) कर दी गई हैं।हमारी API के बारे में और जानें

हमें pplx-api की घोषणा करते हुए खुशी हो रही है, जिसे Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B, replit-code-v1.5-3b मॉडल तक पहुँचने के सबसे तेज़ तरीकों में से एक होने के लिए डिज़ाइन किया गया है। pplx-api डेवलपर्स के लिए अत्याधुनिक ओपन-सोर्स LLMs को अपनी परियोजनाओं में एकीकृत करना आसान बनाता है।

हमारा pplx-api प्रदान करता है:

उपयोग में आसानी: डेवलपर्स अत्याधुनिक ओपन-सोर्स मॉडलों का उपयोग सीधे कर सकते हैं और परिचित REST API के साथ मिनटों में शुरुआत कर सकते हैं।

बेहद तेज़ अनुमान (Inference): हमारी सोच-समझकर डिज़ाइन की गई अनुमान प्रणाली कुशल है और Replicate की तुलना में 2.9x कम विलंबता (latency) और Anyscale की तुलना में 3.1x कम विलंबता प्राप्त करती है।

युद्ध-परीक्षित (Battle tested) बुनियादी ढाँचा: pplx-api को विश्वसनीय साबित किया गया है, जो हमारे Perplexity उत्तर इंजन और हमारे Labs प्लेग्राउंड दोनों में उत्पादन-स्तर के ट्रैफ़िक की सेवा करता है।

ओपन-सोर्स LLMs के लिए वन-स्टॉप शॉप: हमारी टीम नए ओपन-सोर्स मॉडलों को उनके आने पर जोड़ने के लिए समर्पित है। उदाहरण के लिए, हमने पूर्व-रिलीज़ एक्सेस के बिना लॉन्च के कुछ घंटों के भीतर Llama और Mistral मॉडल जोड़े।

pplx-api सार्वजनिक बीटा में है और Perplexity Pro सदस्यता वाले उपयोगकर्ताओं के लिए निःशुल्क है।

pplx-api का उपयोग आकस्मिक वीकेंड हैकाथॉन के लिए या नए और अभिनव उत्पादों के निर्माण के लिए एक व्यावसायिक समाधान के रूप में करें। हमें उम्मीद है कि इस रिलीज़ के माध्यम से यह जानने को मिलेगा कि लोग हमारी API के साथ कैसे बेहतरीन और अभिनव उत्पाद बना सकते हैं। यदि आपके पास pplx-api के लिए कोई व्यावसायिक उपयोग का मामला है, तो कृपया api@perplexity.ai पर संपर्क करें। हमें आपसे सुनकर खुशी होगी!

pplx-api के लाभ

उपयोग में आसानी

LLM परिनियोजन और अनुमान के लिए मॉडल सर्विंग को प्रदर्शनकारी और लागत-कुशल बनाने हेतु महत्वपूर्ण बुनियादी ढाँचे के प्रयास की आवश्यकता होती है। डेवलपर्स हमारी API का उपयोग आउट-ऑफ़-द-बॉक्स कर सकते हैं, बिना C++/CUDA के गहन ज्ञान या GPUs तक पहुँच के, और साथ ही अत्याधुनिक प्रदर्शन का आनंद ले सकते हैं। हमारा LLM अनुमान आपके स्वयं के हार्डवेयर को प्रबंधित करने की जटिलता और आवश्यकता को भी समाप्त करता है, जो उपयोग में आपकी आसानी को और बढ़ाता है।

बेहद तेज़ अनुमान (Inference)

Perplexity की LLM API को तेज़ अनुमान के लिए सावधानीपूर्वक डिज़ाइन और अनुकूलित किया गया है। इसे प्राप्त करने के लिए, हमने AWS द्वारा प्रदान किए गए A100 GPUs पर सेवा प्रदान करने के लिए NVIDIA के TensortRT-LLM के चारों ओर एक मालिकाना LLM अनुमान बुनियादी ढाँचा बनाया है। pplx-api बुनियादी ढाँचे का अवलोकन अनुभाग में और जानें। परिणामस्वरूप, pplx-api व्यावसायिक रूप से उपलब्ध सबसे तेज़ Llama और Mistral API में से एक है।

मौजूदा समाधानों के विरुद्ध बेंचमार्क करने के लिए, हमने अन्य LLM अनुमान लाइब्रेरी के साथ pplx-api की विलंबता की तुलना की। हमारे प्रयोगों में, pplx-api ने Text Generation Inference (TGI) की तुलना में 2.92x तक तेज़ समग्र विलंबता और 4.35x तक तेज़ प्रारंभिक प्रतिक्रिया विलंबता प्राप्त की। इस प्रयोग के लिए, हमने दोनों GPUs पर शार्ड किए गए Llama-2-13B-chat मॉडल का उपयोग करके 2 A100 GPUs पर सिंगल-स्ट्रीम और सर्वर परिदृश्यों के लिए TGI और Perplexity के अनुमान की तुलना की। सिंगल-स्ट्रीम परिदृश्य के लिए, सर्वर एक के बाद एक अनुरोध संसाधित करता है। सर्वर परिदृश्य में, क्लाइंट भिन्न भार का अनुकरण करने के लिए अलग-अलग अनुरोध दरों के साथ पॉइसन वितरण के अनुसार अनुरोध भेजता है। अनुरोध दर के लिए, हम 1 अनुरोध/सेकंड के अधिकतम तक एक छोटा स्वीप करते हैं, जो TGI द्वारा बनाए रखा गया अधिकतम थ्रूपुट है। हमने उत्पादन व्यवहार का अनुकरण करने के लिए विभिन्न इनपुट और आउटपुट टोकन लंबाई के साथ वास्तविक दुनिया के डेटा का उपयोग किया। अनुरोधों का औसत ~700 इनपुट टोकन और ~550 आउटपुट टोकन है।

समान इनपुट का उपयोग करके और अनुरोधों की एक एकल स्ट्रीम भेजकर, हमने अन्य मौजूदा API के विरुद्ध प्रदर्शन आधारभूत स्तर एकत्र करने के लिए इस समान मॉडल के लिए Replicate और Anyscale की API की औसत विलंबता को भी मापा।

Perplexity Labs - प्रथम टोकन विलंबता
Perplexity Labs - डिकोडिंग गति

समान प्रायोगिक सेटअप का उपयोग करते हुए, हमने विलंबता बाधा के रूप में डिकोडिंग गति के साथ TGI के विरुद्ध pplx-api के अधिकतम थ्रूपुट की तुलना की। हमारे प्रयोगों में, pplx-api ने TGI की तुलना में 1.90x-6.75x तेज़ी से टोकन संसाधित किए, और TGI 60 और 80 टोकन/सेकंड पर हमारी सख्त विलंबता बाधाओं को पूरा करने में पूरी तरह विफल रहा। हम TGI का मूल्यांकन उन समान हार्डवेयर और भार स्थितियों के तहत करते हैं जिनका उपयोग हमने pplx-api का मूल्यांकन करने के लिए किया था। Replicate और Anyscale के साथ इस मीट्रिक की तुलना करना संभव नहीं है क्योंकि हम उनके हार्डवेयर और भार कारकों को नियंत्रित नहीं कर सकते हैं।

संदर्भ के लिए, औसत मानव पढ़ने की गति 5 टोकन/सेकंड है, जिसका अर्थ है कि pplx-api पढ़ने की तुलना में तेज़ दर से सेवा करने में सक्षम है।

Perplexity Labs - प्रति GPU टोकन थ्रूपुट

pplx-api बुनियादी ढाँचे का अवलोकन

इन विलंबता संख्याओं को प्राप्त करने के लिए अत्याधुनिक सॉफ़्टवेयर और हार्डवेयर के संयोजन की आवश्यकता होती है।

NVIDIA A100 GPUs द्वारा संचालित AWS p4d इंस्टेंस सर्वश्रेष्ठ-इन-क्लास क्लॉक गति के साथ GPUs को स्केल करने के लिए सबसे अधिक लागत-प्रभावी और विश्वसनीय विकल्प के रूप में मंच तैयार करते हैं।

इस हार्डवेयर का लाभ उठाने के लिए सॉफ़्टवेयर हेतु, हम NVIDIA की TensorRT-LLM चलाते हैं, जो एक ओपन-सोर्स लाइब्रेरी है जो LLM अनुमान को गति देती है और अनुकूलित करती है। TensorRT-LLM, TensorRT के डीप लर्निंग कंपाइलर को लपेटता है और इसमें LLM मॉडल निष्पादन के संदर्भ और पीढ़ी चरणों के लिए FlashAttention और मास्क्ड मल्टी-हेड अटेंशन (MHA) के अत्याधुनिक कार्यान्वयन के लिए नवीनतम अनुकूलित कर्नल शामिल हैं।

यहाँ से, AWS की रीढ़ और Kubernetes के साथ इसका मजबूत एकीकरण हमें सैकड़ों GPUs से आगे बढ़ने और डाउनटाइम तथा नेटवर्क ओवरहेड को कम करने के लिए सशक्त बनाता है।

उपयोग का मामला: उत्पादन में हमारी API

Perplexity में pplx-api: लागत में कमी और विश्वसनीयता

हमारी API पहले से ही Perplexity की मुख्य उत्पाद सुविधाओं में से एक को सशक्त बना रही है। बाहरी API से pplx-api पर केवल एक एकल सुविधा को स्विच करने से $0.62M/वर्ष की लागत बचत हुई, जो लागत में लगभग 4x की कमी है। हमने A/B परीक्षण चलाए और गुणवत्ता में कोई गिरावट सुनिश्चित न होने के लिए बुनियादी ढाँचे के मेट्रिक्स की निगरानी की। 2 सप्ताह की अवधि में, हमने A/B परीक्षण में कोई सांख्यिकीय रूप से महत्वपूर्ण अंतर नहीं देखा। इसके अतिरिक्त, pplx-api प्रतिदिन दस लाख से अधिक अनुरोधों के भार को बनाए रख सकता है, जो कुल मिलाकर प्रतिदिन लगभग एक बिलियन संसाधित टोकन है।

इस प्रारंभिक अन्वेषण के परिणाम बहुत उत्साहजनक हैं, और हम उम्मीद करते हैं कि pplx-api समय के साथ हमारी अधिक उत्पाद सुविधाओं को सशक्त बनाएगा।

Perplexity Labs में pplx-api: ओपन सोर्स अनुमान इकोसिस्टम

हम Perplexity Labs को सशक्त बनाने के लिए भी pplx-api का उपयोग करते हैं, जो हमारा मॉडल प्लेग्राउंड है और विभिन्न ओपन-सोर्स मॉडलों की सेवा करता है।

दैनिक औसत टोकन सेवित

हमारी टीम नवीनतम अत्याधुनिक ओपन-सोर्स LLMs तक पहुँच प्रदान करने के लिए प्रतिबद्ध है। हमने Mistral 7B, Code Llama 34b, और सभी Llama 2 मॉडलों को उनके रिलीज़ होने के कुछ घंटों के भीतर एकीकृत किया, और अधिक सक्षम तथा ओपन-सोर्स LLMs उपलब्ध होने पर ऐसा करने की योजना है।

Perplexity की AI API के साथ शुरुआत करें

आप HTTPS अनुरोधों का उपयोग करके pplx-api REST API तक पहुँच सकते हैं। pplx-api में प्रमाणीकरण में निम्नलिखित चरण शामिल हैं:

Perplexity अकाउंट सेटिंग्स पेज के माध्यम से एक API की (कुंजी) उत्पन्न करें। API की एक दीर्घकालिक एक्सेस टोकन है जिसका उपयोग तब तक किया जा सकता है जब तक कि इसे मैन्युअल रूप से ताज़ा या हटाया न जाए।

प्रत्येक pplx-api अनुरोध के साथ Authorization हेडर में बियरर टोकन के रूप में API की (कुंजी) भेजें।

निम्नलिखित उदाहरण में, PERPLEXITY_API_KEY उपरोक्त निर्देशों का उपयोग करके उत्पन्न की (कुंजी) से बंधा एक पर्यावरण चर है। चैट पूर्णता अनुरोध सबमिट करने के लिए CURL का उपयोग किया जाता है।

bash
curl -X POST \ --url https://perplexity.coolkeypoint.com/__p/api.perplexity.ai/chat/completions \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header "Authorization: Bearer ${PERPLEXITY_API_KEY}" \ --data '{ "model": "mistral-7b-instruct", "stream": false, "max_tokens": 1024, "frequency_penalty": 1, "temperature": 0.0, "messages": [ { "role": "system", "content": "Be precise and concise in your responses." }, { "role": "user", "content": "How many stars are there in our galaxy?" } ] }'

जो निम्नलिखित प्रतिक्रिया देता है, जिसमें content-type: application/json है

json
{ "id": "3fbf9a47-ac23-446d-8c6b-d911e190a898", "model": "mistral-7b-instruct", "object": "chat.completion", "created": 1765322, "choices": [ { "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": " The Milky Way galaxy contains an estimated 200-400 billion stars.." }, "delta": { "role": "assistant", "content": " The Milky Way galaxy contains an estimated 200-400 billion stars.." } } ], "usage": { "prompt_tokens": 40, "completion_tokens": 22, "total_tokens": 62 } }

यहाँ एक उदाहरण Python कॉल है:

python
from openai import OpenAI YOUR_API_KEY = "INSERT API KEY HERE" messages = [ { "role": "system", "content": ( "You are an artificial intelligence assistant and you need to " "engage in a helpful, detailed, polite conversation with a user." ), }, { "role": "user", "content": ( "Count to 100, with a comma between each number and no newlines. " "E.g., 1, 2, 3, ..." ), }, ] client = OpenAI(api_key=YOUR_API_KEY, base_url="https://perplexity.coolkeypoint.com/__p/api.perplexity.ai") # demo chat completion without streaming response = client.chat.completions.create( model="mistral-7b-instruct", messages=messages, ) print(response) # demo chat completion with streaming response_stream = client.chat.completions.create( model="mistral-7b-instruct", messages=messages, stream=True, ) for response in response_stream: print(response)

हम वर्तमान में Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B का समर्थन करते हैं, और मौजूदा अनुप्रयोगों के साथ आसान एकीकरण के लिए API सुविधाजनक रूप से OpenAI क्लाइंट-संगत है।

अधिक जानकारी के लिए, कृपया हमारे API दस्तावेज़ीकरण और क्विकस्टार्ट गाइड पर जाएँ।

आगे क्या है

निकट भविष्य में, pplx-api समर्थन करेगा:

कस्टम Perplexity LLMs और अन्य ओपन-सोर्स LLMs।

कस्टम Perplexity एम्बेडिंग और ओपन-सोर्स एम्बेडिंग।

सार्वजनिक बीटा के समाप्त होने के बाद सामान्य पहुँच के साथ समर्पित API मूल्य निर्धारण संरचना।

तथ्यों और उद्धरणों के आधार (grounding) के साथ Perplexity RAG-LLM API।

यदि आप इन उपयोग के मामलों में से किसी में रुचि रखते हैं, तो api@perplexity.ai पर संपर्क करें।

यह हमारी Perplexity ब्लॉग पोस्ट श्रृंखला की शुरुआत भी है। हमारी अगली पोस्ट में, हम LLM अनुमान के लिए A100 बनाम H100 प्रदर्शन तुलना पर एक विस्तृत विवरण साझा करेंगे। बने रहें!

हम नियुक्त कर रहे हैं! यदि आप बड़े पैमाने पर तैनात उत्पाद पर काम करना चाहते हैं और हमारे साथ सोच-समझकर डिज़ाइन किए गए, सावधानीपूर्वक अनुकूलित जेनेरेटिव और बड़े भाषा मॉडल बुनियादी ढाँचे का निर्माण करना चाहते हैं, तो कृपया हमसे जुड़ें

अधिक चर्चा के लिए हमें Twitter, LinkedIn पर फ़ॉलो करें और हमारे Discord में शामिल हों।

लेखक:

लॉरेन यांग, केविन हू, आरश हैदरी, विलियम झांग, दिमित्री परवुखिन, ग्रिगोरि अलेक्सेव, अलेक्जेंड्र यारत्स

डेटा गोपनीयता

pplx-api चुनकर, आप अपने उपयोगकर्ताओं और ग्राहकों की गोपनीयता और विश्वास की सुरक्षा करते हुए LLMs की पूरी क्षमता का उपयोग कर सकते हैं। हम आपकी व्यक्तिगत जानकारी की सुरक्षा के महत्व को समझते हैं और अपने उपयोगकर्ताओं की सुरक्षा और गोपनीयता बनाए रखने के लिए प्रतिबद्ध हैं। API डेटा 30 दिनों के बाद स्वचालित रूप से हटा दिया जाता है, और हम pplx-api के माध्यम से प्रसारित किसी भी डेटा पर कभी प्रशिक्षण नहीं देते हैं। उपयोगकर्ताओं के पास अपनी अकाउंट सेटिंग्स में डेटा प्रतिधारण (retention) से ऑप्ट-आउट करने का विकल्प है। हमारी API गोपनीयता नीति यहाँ पाएँ।