Predstavujeme pplx-api
Rýchle a efektivne rozhranie API Perplexity Labs pre open-source LLM

Upozornenie: Nasledujúce položky sú pre aktuálne modely zastarané. Ďalšie informácie o našich rozhraniach API
S radosťou oznamujeme spustenie pplx-api, navrhnutého ako jeden z najrýchlejších spôsobov prístupu k modelom Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B a replit-code-v1.5-3b. pplx-api uľahčuje vývojárom integráciu špičkových open-source modelov veľkých jazykových modelov (LLM) do ich projektov.
Naše rozhranie pplx-api ponúka:
Jednoduché použitie: vývojári môžu používať moderné open-source modely hneď po vybalení a začať do niekoľkých minút vďaka známemu rozhraniu REST API.
Mimoriadne rýchla inferencia: náš starostlivo navrhnutý inferenčný systém je efektivny a dosahuje až 2,9-krát nižšiu latenciu ako Replicate a 3,1-krát nižšiu latenciu ako Anyscale.
Overená infraštruktúra: pplx-api preukázalo svoju spoľahlivosť a obsluhuje prevádzku na produkčnej úrovni v našom vyhľadávacom motore Perplexity aj v našom skúšobnom prostredí Labs.
Jednotné miesto pre open-source LLM: náš tím sa usilovne snaží pridávať nové open-source modely hneď po ich vydaní. Napríklad modely Llama a Mistral sme pridali do niekoľkých hodín od uvedenia na trh bez predbežného prístupu.
pplx-api je vo fáze verejnej beta verzie a pre používateľov s predplatným Perplexity Pro je bezplatné.
Využite pplx-api na víkendový hackathon alebo ako komerčné riešenie na tvorbu nových a inovatívnych produktov. Dúfame, že vďaka tomuto vydaniu zistíme, ako dokážu ľudia vytvárať skvelé a inovatívne produkty s naším rozhraním API. Ak máte pre pplx-api firemný prípad použitia, obráťte sa na nás na adrese api@perplexity.ai . Budeme radi, ak sa nám ozvete!
Výhody pplx-api
Jednoduché použitie
Nasaďovanie a inferencia LLM vyžadujú rozsiahlu infraštruktúru, aby bolo poskytovanie modelov výkonné a nákladovo efektívne. Vývojári môžu naše rozhranie API používať hneď po vybalení, bez hlbokých znalostí jazyka C++/CUDA alebo prístupu k grafickým procesorom (GPU), pričom si stále užívajú špičkový výkon. Naša inferencia LLM tiež abstrahuje zložitosť a nutnosť správy vlastného hardvéru, čo ďalej zvyšuje jednoduchosť používania.
Mimoriadne rýchla inferencia
Rozhranie LLM API od spoločnosti Perplexity je starostlivo navrhnuté a optimalizované pre rýchlu inferenciu. Na tento účel sme vybudovali vlastnú inferenčnú infraštruktúru LLM založenú na technológii TensortRT-LLM od spoločnosti NVIDIA, ktorá beží na grafických procesoroch A100 poskytovaných spoločnosťou AWS. Viac informácií nájdete v časti Prehľad infraštruktúry pplx-api. Vďaka tomu je pplx-api jedným z najrýchlejších komerčne dostupných rozhraní API pre modely Llama a Mistral.
Na porovnanie s existujúcimi riešeniami sme porovnali latenciu pplx-api s inými inferenčnými knižnicami LLM. V našich experimentoch dosahuje pplx-api až 2,92-krát rýchlejšiu celkovú latenciu v porovnaní s Text Generation Inference (TGI) a až 4,35-krát rýchlejsiu počiatočnú latenciu odozvy. Pre tento experiment sme porovnali TGI a inferenciu Perplexity pre scenáre s jedným streamom a so serverom na 2 GPU A100 s použitím modelu Llama-2-13B-chat rozdeleného medzi oba GPU. V scenári s jedným streamom server spracováva jednu požiadavku za druhou. V scenári so serverom klient odosiela požiadavky podľa Poissonovho rozdelenia s rôznou frekvenciou požiadaviek na emuláciu premenlivej záťaže. Pre frekvenciu požiadaviek vykonávame malé prehľadávanie až do maximálne 1 požiadavky za sekundu, čo je maximálna priepustnosť udržiavaná nástrojom TGI. Na simuláciu správania v produkčnom prostredí sme použili reálne údaje s rôznymi dĺžkami vstupných a výstupných tokenov. Požiadavky majú v priemere ~700 vstupných tokenov a ~550 výstupných tokenov.
Pomocou rovnakých vstupov a odosielaním jediného streamu požiadaviek sme odmerali aj priemerné latencie rozhraní API spoločností Replicate a Anyscale pre rovnaký model, aby sme získali porovnávací základ pre výkon s inými existujúcimi rozhraniami API.


Pomocou rovnakého experimentálneho nastavenia sme porovnali maximálnu priepustnosť pplx-api s TGI, pričom rýchlosť dekódovania slúžila ako obmedzenie latencie. V našich experimentoch pplx-api spracováva tokeny 1,90x-6,75x rýchlejšie ako TGI a TGI úplne nedokáže splniť naše prísnejšie obmedzenia latencie pri 60 a 80 tokenoch za sekundu. TGI vyhodnocujeme za rovnakých podmienok hardvéru a zaťaženia, aké sme použili na vyhodnotenie pplx-api. Porovnanie tejto metriky so spoločnosťami Replicate a Anyscale nie je možné, pretože nemôžeme kontrolovať ich hardvér a faktory zaťaženia.
Pre informáciu, priemerná rýchlosť čítania človeka je 5 tokenov za sekundu, čo znamená, že pplx-api dokáže poskytovať odpovede rýchlejšie, než človek stíha čítať.

Prehľad infraštruktúry pplx-api
Dosiahnutie týchto hodnôt latencie si vyžaduje kombináciu špičkového softvéru a hardvéru.
Inštancie AWS p4d poháňané grafickými procesormi NVIDIA A100 predstavujú najefektívnejšiu a najspoľahlivejšiu možnosť na škálovanie grafických procesorov s najlepšími taktovacími frekvenciami vo svojej triede.
Aby softvér mohol tento hardvér využiť, spúšťame TensorRT-LLM od spoločnosti NVIDIA, open-source knižnicu, ktorá urýchľuje a optimalizuje inferenciu LLM. TensorRT-LLM obaľuje kompilátor hlbokého učenia TensorRT a obsahuje najnovšie optimalizované jadrá vytvorené pre špičkové implementácie FlashAttention a maskovanú multi-head attention (MHA) pre fázy kontextu a generovania pri vykonávaní modelu LLM.
Základná štruktúra AWS a jej robustná integrácia so službou Kubernetes nám umožňujú elasticky škálovať nad rámec stoviek GPU a minimalizovať prestoje a sieťovú réžiu.
Prípad použitia: Naše rozhranie API v produkcii
pplx-api v systéme Perplexity: Zníženie nákladov a spoľahlivosť
Naše rozhranie API už poháňa jednu zo základných funkcií produktov spoločnosti Perplexity. Len prepnutie jednej funkcie z externého rozhrania API na pplx-api viedlo k úspore nákladov vo výške 0,62 milióna USD ročne, čo predstavuje približne 4-násobné zníženie nákladov. Vykonali sme A/B testy a sledovali metriky infraštruktúry, aby sme zaistili žiadnu degradáciu kvality. V priebehu 2 týždňov sme nezaznamenali žiadny štatisticky významný rozdiel v A/B teste. Okrem toho dokázalo pplx-api zvládnuť dennú záťaž viac ako jeden milión požiadaviek, čo predstavuje takmer jednu miliardu spracovaných tokenov denne.
Výsledky tohto počiatočného prieskumu sú veľmi povzbudivé a predpokladáme, že pplx-api bude časom poháňať viac našich produktových funkcií.

pplx-api používame aj na napájanie Perplexity Labs, nášho modelového ihriska poskytujúceho rôzne open-source modely.

Náš tím sa zaviazal poskytovať prístup k najnovším špičkovým open-source modelom LLM. Modely Mistral 7B, Code Llama 34b a všetky modely Llama 2 sme integrovali v priebehu niekoľkých hodín po ich vydaní a plánujeme v tom pokračovať, keď budú k dispozícii schopnejšie open-source modely LLM.
Začnite pracovať s rozhraním AI API od spoločnosti Perplexity
K rozhraniu REST API pplx-api môžete pristupovať pomocou požiadaviek HTTPS. Autentifikácia do pplx-api zahŕňa nasledujúce kroky:
Vygenerujte kľúč API prostredníctvom stránky nastavení účtu Perplexity. Kľúč API je prístupový token s dlhou platnosťou, ktorý možno používať, kým sa manuálne neobnoví alebo neodstráni.

Odošlite kľúč API ako token nosiča (bearer token) v hlavičke Authorization pri každej požiadavke na pplx-api.
V nasledujúcom príklade je PERPLEXITY_API_KEY premenná prostredia viazaná na kľúč vygenerovaný podľa vyššie uvedených pokynov. Na odoslanie požiadavky na dokončenie chatu sa používa nástroj CURL.
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?"
}
]
}'Čo prináša nasledujúcu odpoveď s hodnotou content-type: application/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
}
}Tu je príklad volania v jazyku 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)Momentálne podporujeme modely Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B a rozhranie API je pohodlne kompatibilné s klientom OpenAI na jednoduchú integráciu s existujúcimi aplikáciami.
Ďalšie informácie nájdete v našej dokumentácii k API a v príručke pre rýchly štart.
Čo nasleduje
V blízkej budúcnosti bude pplx-api podporovať:
Vlastné modely LLM od spoločnosti Perplexity a iné open-source modely LLM.
Vlastné vkladania (embeddings) od spoločnosti Perplexity a open-source vkladania.
Vyhradenú štruktúru cien API so všeobecným prístupom po ukončení fázy verejnej beta verzie.
Rozhranie API Perplexity RAG-LLM s ukotvením faktov a citácií.
Ak máte záujem o niektorý z týchto prípadov použitia, obráťte sa na nás na adrese api@perplexity.ai.
Toto je zároveň začiatok našej série príspevkov na blogu Perplexity. V našom nasledujúcom príspevku sa podelíme o podrobný rozbor porovnania výkonu A100 vs H100 pre inferenciu LLM. Zostaňte s nami!
Prijímame nových zamestnancov! Ak chcete pracovať na produkte nasadenom v masívnom meradle a budovať s nami premyslene navrhnutú, starostlivo optimalizovanú infraštruktúru generatívnych a veľkých jazykových modelov, pridajte sa k nám.
Sledujte nás na sieti Twitter, LinkedIn a pripojte sa k nášmu serveru Discord pre ďalšie diskusie.
Autori:
Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats
Ochrana údajov
Výberom pplx-api môžete využiť plný potenciál modelov LLM a zároveň chrániť súkromie a dôveru svojich používateľov a zákazníkov. Chápeme dôležitosť ochrany vašich osobných údajov a zaväzujeme sa udržiavať bezpečnosť a súkromie našich používateľov. Údaje z API sa automaticky vymažú po 30 dňoch a nikdy netrénujeme na žiadnych údajoch prenášaných prostredníctvom pplx-api. Používatelia majú možnosť zrušiť uchovávanie údajov v nastaveniach svojho účtu. Naše pravidlá ochrany osobných údajov pre API nájdete tu.