pplx-api таныстыру

Ашық бастапқы кодты LLM үшін Perplexity Lab жылдам және тиімді API интерфейсі

Introducing pplx-api by Perplexity Labs

Назар аударыңыз: Төмендегілер ағымдағы модельдер үшін ескірген деп танылды. API интерфейстеріміз туралы көбірек біліңіз

Біз Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B, replit-code-v1.5-3b модельдеріне қол жеткізудің ең жылдам жолдарының бірі болу үшін жасалған pplx-api қызметінің іске қосылғанын хабарлауға қуаныштымыз. pplx-api әзірлеушілерге озық ашық бастапқы кодты LLM модельдерін өз жобаларына біріктіруді жеңілдетеді.

Біздің pplx-api келесі мүмкіндіктерді қамтамасыз етеді:

Қолдану оңайлығы: әзірлеушілер ең озық ашық бастапқы кодты модельдерді дайын күйінде пайдаланып, таныс REST API көмегімен бірнеше минут ішінде жұмысты бастай алады.

Керемет жылдам вывод: мұқият жобаланған вывод жүйеміз тиімді және Replicate-пен салыстырғанда 2.9x және Anyscale-пен салыстырғанда 3.1x төмен кідіріске қол жеткізеді.

Сыналған сенімді инфрақұрылым: pplx-api біздің Perplexity жауаптар қозғалтқышында және Labs полигонында өндірістік деңгейдегі трафикті қамтамасыз етіп, сенімділігін дәлелдеді.

Ашық бастапқы кодты LLM үшін бір терезе қағидаты: біздің командамыз шыққан кезде жаңа ашық бастапқы кодты модельдерді қосуға тырысады. Мысалы, біз шығарылымнан кейін бірнеше сағат ішінде алдын ала шығарылым рұқсатынсыз Llama және Mistral модельдерін қостық.

pplx-api жалпыға қолжетімді бета-нұсқада және Perplexity Pro жазылымы бар пайдаланушылар үшін тегін.

pplx-api қызметін демалыс күндеріндегі хэкатон үшін немесе жаңа және инновациялық өнімдерді жасауға арналған коммерциялық шешім ретінде пайдаланыңыз. Біз осы шығарылым арқылы адамдардың біздің API көмегімен керемет және инновациялық өнімдерді қалай құра алатынын білеміз деп үміттенеміз. Егер сізде pplx-api үшін бизнес жағдайы болса, api@perplexity.ai мекенжайына хабарласыңыз. Сізден хабар күтеміз!

pplx-api артықшылықтары

Қолдану оңайлығы

LLM енгізу және вывод жасау модельді қызмет көрсетуді өнімді және үнемді ету үшін маңызды инфрақұрылымдық жұмысты талап етеді. Әзірлеушілер C++/CUDA туралы терең білімсіз немесе GPU-ларға қол жеткізбестен, сонымен бірге ең озық өнімділікті пайдалана отырып, біздің API интерфейсін дайын күйінде пайдалана ала жады. Біздің LLM виводымыз сонымен қатар өзіңіздің аппараттық құралыңызды басқарудың күрделілігі мен қажеттілігін жояды, бұл пайдаланудың оңайлығын тағы да арттырады.


Керемет жылдам вывод

Perplexity компаниясының LLM API интерфейсі жылдам вывод үшін мұқият жобаланған және оңтайландырылған. Оған қол жеткізу үшін біз AWS ұсынған A100 GPU-ларында жұмыс істейтін NVIDIA компаниясының TensortRT-LLM негізінде меншікті LLM вывод инфрақұрылымын құрдық. pplx-api инфрақұрылымына шолу бөлімінен көбірек біліңіз. Нәтижесінде, pplx-api коммерциялық қолжетімді ең жылдам Llama және Mistral API интерфейстерінің бірі болып табылады.

Бар шешімдермен салыстыру үшін біз pplx-api кідірісін басқа LLM вывод кітапханаларымен салыстырдық. Эксперименттерімізде pplx-api Text Generation Inference (TGI) салыстырғанда 2.92x дейін жылдам жалпы кідіріске және 4.35x дейін жылдам бастапқы жауап кідірісіне қол жеткізеді. Бұл эксперимент үшін біз екі GPU-да бөлінген Llama-2-13B-chat моделін пайдаланып, бір ағынды және серверлік сценарийлер үшін TGI және Perplexity выводын салыстырдық. Бір ағынды сценарий үшін сервер бір сұраудан кейін екіншісін өңдейді. Серверлік сценарийде клиент әртүрлі жүктемені еліктеу үшін әртүрлі сұрау жылдамдығы бар Пуассон бөлінісіне сәйкес сұраулар жібереді. Сұрау жылдамдығы үшін біз TGI қолдаған максималды өткізу қабілеті, яғни секунд сайынғы 1 сұрауға дейінгі шағын шолуды орындаймыз. Өндірістік әрекетті симуляциялау үшін біз әртүрлі енгізу және шығару токендерінің ұзындығы бар нақты әлем деректерін пайдаландық. Сұраулардың орташа мәні ~700 енгізу токенін және ~550 шығару токенін құрайды.

Дәл осындай енгізулерді пайдаланып және бір сұраулар ағынын жібере отырып, біз басқа бар API интерфейстеріне қарсы өнімділік негізін жинау үшін осы модель үшін Replicate және Anyscale API интерфейстерінің орташа кідірістерін өлшедік.

Perplexity Labs - Бірінші токеннің кідірісі
Perplexity Labs - Декодерлеу жылдамдығы

Дәл осындай эксперименталды қондырғыны пайдаланып, біз кідіріс шектеуі ретінде декодерлеу жылдамдығымен pplx-api максималды өткізу қабілетін TGI-мен салыстырдық. Біздің эксперименттерімізде 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 GPU-ларымен жұмыс істейтін AWS p4d даналары кластағы ең жақсы тактілік жиіліктері бар GPU-ларды масштабтау үшін ең үнемді және сенімді опция ретінде негіз қалайды.

Бағдарламалық жасақтама осы аппараттық құралды пайдалану үшін біз LLM выводын жылдамдататын және оңтайландыратын ашық бастапқы кодты кітапхана NVIDIA TensorRT-LLM іске қосамыз. TensorRT-LLM TensorRT терең оқыту компиляторын біріктіреді және LLM үлгісін орындаудың контекст пен генерация кезеңдері үшін FlashAttention және маскіленген көп басқа назар аудару (MHA) озық іске асырулары үшін жасалған соңғы оңтайландырылған ядроларды қамтиды.

Осы жерден AWS негізі және оның Kubernetes-пен тығыз интеграциясы бізге жүздеген GPU-дан тыс эластикалық масштабтауға және жұмыс уақытының тоқтап қалуы мен желілік үстеме шығындарды барынша азайтуға мүмкіндік береді.

Қолдану жағдайы: Біздің API өндірісте

Perplexity жүйесіндегі pplx-api: Шығындарды азайту және сенімділік

Біздің API қазірдің өзінде Perplexity негізгі өнім мүмкіндіктерінің бірін қамтамасыз етуде. Бір ғана мүмкіндікті сыртқы API-дан pplx-api ауыстыру жыл сайын $0.62M шығындарды үнемдеуге әкелді, бұл шығындардың шамамен 4 есе азайғанын білдіреді. Сапаның нашарламауын қамтамасыз ету үшін біз A/B сынақтарын өткіздік және инфрақұрылым көрсеткіштерін бақыладық. 2 апта ішінде біз A/B сынағында статистикалық маңызды айырмашылықты байқамадық. Сонымен қатар, pplx-api күн сайын миллионнан астам сұраулардың күнделікті жүктемесін көтере алады, бұл күн сайын шамамен бір миллиард өңделген токенді құрайды.

Бұл бастапқы зерттеудің нәтижелері өте жігерлендіреді және біз pplx-api уақыт өте келе көбірек өнім мүмкіндіктерін қамтамасыз етеді деп күтеміз.

Perplexity Labs жүйесіндегі pplx-api: Ашық бастапқы кодты вывод экожүйесі

Біз сондай-ақ әртүрлі ашық бастапқы кодты модельдерге қызмет көрсететін модельдік полигонымыз Perplexity Labs жұмысын қамтамасыз ету үшін pplx-api пайдаланамыз.

Қызмет көрсетілген күнделікті орташа токен

Біздің командамыз ең соңғы заманауи ашық бастапқы кодты LLM қолжетімділігін қамтамасыз етуге ұмтылады. Біз шыққаннан кейін бірнеше сағат ішінде Mistral 7B, Code Llama 34b және барлық Llama 2 модельдерін біріктірдік және қабілетті және ашық бастапқы кодты LLM қолжетімді болған сайын солай істеуді жоспарлаймыз.

Perplexity AI API көмегімен жұмысты бастаңыз

HTTPS сұрауларын пайдаланып pplx-api REST API интерфейсіне қол жеткізуге болады. pplx-api жүйесінде аутентификация жасау келесі қадамдарды қамтиды:

Perplexity тіркелгі параметрлері беті арқылы API кілтін жасаңыз. API кілті қолмен жаңартылғанға немесе жойылғанға дейін пайдаланылатын ұзақ мерзімді кіру токені болып табылады.

Әрбір pplx-api сұрауымен Authorization тақырыбындағы API кілтін bearer токені ретінде жіберіңіз.

Келесі мысалда 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 LLM және басқа ашық бастапқы кодты LLM.

Теңшелген Perplexity векторлық көріністері және ашық бастапқы кодты векторлық көріністері.

Жалпыға қолжетімді бета-нұсқа аяқталғаннан кейін жалпы қолжетімділігі бар арнайы API баға құрылымы.

Фактілер мен дәйөзсөздерді негіздеу мүмкіндігі бар Perplexity RAG-LLM API.

Егер сіз осы қолдану жағдайларының кез келгеніне қызығушылық танытсаңыз, api@perplexity.ai мекенжайына хабарласыңыз.

Бұл сонымен қатар біздің Perplexity блог жазбалар сериясының басталуы. Келесі жазбамызда біз LLM выводы үшін A100 және H100 өнімділігін салыстыру туралы терең шолумен бөлісеміз. Бізбен бірге болыңыз!

Біз жұмысқа қабылдаймыз! Егер сіз ауқымды деңгейде орналастырылған өнімде жұмыс істегіңіз келсе және бізбен бірге мұқият жобаланған, мұқият оңтайландырылған генеративті және үлкен тілдік модель инфрақұрылымын салғыңыз келсе, бізге қосылыңыз.

Қосымша талқылау үшін бізге Twitter, LinkedIn желілерінде жазылыңыз және Discord каналымызға қосылыңыз.

Авторлар:

Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats

Деректердің құпиялылығы

pplx-api таңдау арқылы сіз пайдаланушыларыңыз бен тұтынушыларыңыздың құпиялылығы мен сенімділігін сақтай отырып, LLM әлеуетін толығымен пайдалана аласыз. Біз жеке ақпаратыңызды қорғаудың маңыздылығын түсінеміз және пайдаланушыларымыздың қауіпсіздігі мен құпиялылығын сақтауға міндеттенеміз. API деректері 30 күннен кейін автоматты түрде жойылады және біз pplx-api арқылы берілген ешқандай деректерді ешқашан үйретпейміз. Пайдаланушыларда тіркелгі параметрлерінде деректерді сақтаудан бас тарту мүмкіндігі бар. API құпиялылық саясатын мына жерден табыңыз.