Představujeme pplx-api
Rychlé a efektivní API Perplexity Labs pro open-source modely LLM

Upozornění: Následující položky byly pro současné modely zastaralé. Zjistěte více o našich rozhraních API
S radostí oznamujeme spuštění pplx-api, které bylo navrženo jako jeden z nejrychlejších způsobů přístupu k modelům Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B a replit-code-v1.5-3b. pplx-api usnadňuje vývojářům integraci špičkových open-source modelů LLM do jejich projektů.
Naše pplx-api poskytuje:
Jednoduchost použití: vývojáři mohou používat špičkové open-source modely ihned po vybalení a začít pracovat během několika minut s důvěrně známým rozhraním REST API.
Bleskově rychlá inference: náš promyšleně navržený systém inference je efektivní a dosahuje až 2,9× nižší latence než Replicate a 3,1× nižší latence než Anyscale.
Ověřená infrastruktura: pplx-api se osvědčilo jako spolehlivé a zajišťuje provoz v produkčním měřítku jak v našem vyhledávacím enginu Perplexity, tak v našem testovacím prostředí Labs.
Komplexní řešení pro open-source modely LLM: náš tým se věnuje přidávání nových open-source modelů ihned po jejich vydání. Například modely Llama a Mistral jsme přidali během několika hodin od spuštění bez předběžného přístupu.
pplx-api je v这也是 veřejné beta verzi a je zdarma pro uživatele s předplatným Perplexity Pro.
Využijte pplx-api pro nenáročný víkendový hackathon nebo jako komerční řešení pro vytváření nových a inovativních produktů. Doufáme, že díky tomuto vydání zjistíme, jak mohou lidé s naším rozhraním API vytvářet skvělé a inovativní produkty. Pokud máte pro pplx-api obchodní využití, kontaktujte nás na adrese api@perplexity.ai. Budeme rádi, když se nám ozvete!
Výhody pplx-api
Jednoduchost použití
Nasazení a inference LLM vyžadují značné investice do infrastruktury, aby bylo servírování modelů výkonné a cenově efektivní. Vývojáři mohou naše rozhraní API používat ihned po vybalení, bez hlubokých znalostí C++/CUDA nebo přístupu k jednotkám GPU, a přitom si užívat špičkový výkon. Naše inference LLM také abstrahuje složitost a nutnost správy vlastního hardwaru, což dále zvyšuje snadnost použití.
Bleskově rychlá inference
Rozhraní API LLM od společnosti Perplexity je pečlivě navrženo a optimalizováno pro rychlou inferenci. Za tímto účelem jsme vybudovali vlastní inferenční infrastrukturu LLM založenou na technologii NVIDIA TensorRT-LLM, která běží na GPU A100 poskytovaných společností AWS. Více informací najdete v části Přehled infrastruktury pplx-api. Díky tomu je pplx-api jedním z nejrychlejších komerčně dostupných rozhraní API pro modely Llama a Mistral.
Abychom porovnali stávající řešení, porovnali jsme latenci pplx-api s jinými inferenčními knihovnami LLM. V našich experimentech dosahuje pplx-api až 2,92× nižší celkové latence ve srovnání s Text Generation Inference (TGI) a až 4,35× nižší počáteční latence odpovědi. Pro tento experiment jsme porovnali TGI a inferenci Perplexity pro scénáře s jedním proudem a se serverem na 2 GPU A100 s použitím modelu Llama-2-13B-chat rozděleného mezi oba GPU. V případě scénáře s jedním proudem server zpracovává jeden požadavek za druhým. V serverovém scénáři klient odesílá požadavky podle Poissonova rozdělení s různou frekvencí požadavků, aby emuloval proměnlivé zatížení. Pro frekvenci požadavků provádíme malé prohledávání až do maximálního 1 požadavku za sekundu, což je maximální propustnost podporovaná TGI. K simulaci chování v produkčním prostředí jsme použili reálná data s různou délkou vstupních a výstupních tokenů. Požadavky mají v průměru ~700 vstupních tokenů a ~550 výstupních tokenů.
Pomocí stejných vstupů a odesílání jednoho proudu požadavků jsme také změřili průměrné latence rozhraní API společnosti Replicate a Anyscale pro tento stejný model, abychom získali výkonnostní srovnání s jinými existujícími rozhraními API.


Pomocí stejného experimentálního nastavení jsme porovnali maximální propustnost pplx-api s TGI, přičemž rychlost dekódování sloužila jako omezení latence. V našich experimentech zpracovává pplx-api tokeny 1,90×–6,75× rychleji než TGI a TGI zcela nedokáže splnit naše přísnější omezení latence při 60 a 80 tocích za sekundu. TGI vyhodnocujeme za stejných podmínek hardwaru a zatížení, které jsme použili pro vyhodnocení pplx-api. Srovnání této metrikou s Replicate a Anyscale není možné, protože nemůžeme kontrolovat jejich hardware a faktory zatížení.
Pro představu, průměrná rychlost čtení člověka je 5 tokenů za sekundu, což znamená, že pplx-api je schopno servírovat rychlostí vyšší, než jakou je člověk schopen číst.

Přehled infrastruktury pplx-api
Dosažení těchto hodnot latence vyžaduje kombinaci špičkového softwaru a hardwaru.
Instance AWS p4d poháněné GPU NVIDIA A100 představují nejnákladověji efektivnější a nejspolehlivější volbu pro škálování GPU s nejlepšími taktovacími frekvencemi ve své třídě.
Aby software mohl tohoto hardwaru využít, spouštíme TensorRT-LLM od společnosti NVIDIA, což je open-source knihovna, která akceleruje a optimalizuje inferenci LLM. TensorRT-LLM obaluje kompiler hlubokého učení TensorRT a obsahuje nejnovější optimalizované jádra vytvořená pro špičkové implementace FlashAttention a maskované multi-head attention (MHA) pro kontextové a generační fáze provádění modelu LLM.
Páteřní síť AWS a její robustní integrace s Kubernetes nám umožňují elasticky škálovat nad rámec stovek GPU a minimalizovat prostoje a síťovou režii.
Případ použití: Naše rozhraní API v produkčním prostředí
pplx-api v Perplexity: Snížení nákladů a spolehlivost
Naše rozhraní API již pohání jednu z klíčových funkcí produktů Perplexity. Pouhé přepnutí jedné funkce z externího rozhraní API na pplx-api vedlo k úspoře nákladů ve výši 0,62 milionu USD ročně, což představuje přibližně 4× snížení nákladů. Provedli jsme A/B testy a sledovali metriky infrastruktury, abychom zajistili, že nedojde ke zhoršení kvality. V průběhu 2 týdnů jsme nezaznamenali žádný statisticky významný rozdíl v A/B testu. Kromě toho dokázalo pplx-api udržet denní zatížení přesahující jeden milion požadavků, což představuje celkem téměř jednu miliardu zpracovaných tokenů denně.
Výsledky tohoto prvního průzkumu jsou velmi povzbudivé a předpokládáme, že pplx-api bude postupem času pohánět další z našich produktových funkcí.

Používáme také pplx-api k pohánění Perplexity Labs, našeho testovacího prostředí modelů, které poskytuje různé open-source modely.

Náš tým se zavázal poskytovat přístup k nejnovějším špičkovým open-source modelům LLM. Modely Mistral 7B, Code Llama 34b a všechny modely Llama 2 jsme integrovali během několika hodin od jejich vydání a plánujeme v tom pokračovat, jakmile budou k dispozici schopnější a otevřené modely LLM.
Začněte používat rozhraní AI API od Perplexity
K rozhraní REST API pplx-api můžete přistupovat pomocí požadavků HTTPS. Autentizace do pplx-api zahrnuje následující kroky:
Vygenerujte klíč API prostřednictvím stránky nastavení účtu Perplexity. Klíč API je přístupový token s dlouhou platností, který lze používat, dokud není manuálně obnoven nebo smazán.

Odešlete klíč API jako nosný (bearer) token v hlavičce Authorization s každým požadavkem pplx-api.
V následujícím příkladu je PERPLEXITY_API_KEY proměnná prostředí vázaná na klíč vygenerovaný podle výše uvedených pokynů. K odeslání požadavku na dokončení chatu se používá příkaz 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?"
}
]
}'Což přináší následující odpověď s 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
}
}Zde je příklad volání v jazyce 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)Aktuálně podporujeme Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B a rozhraní API je pro snadnou integraci se stávajícími aplikacemi pohodlně kompatibilní s klientem OpenAI.
Další informace naleznete v naší dokumentaci k API a v průvodci rychlým startem.
Co bude dál
V blízké budoucnosti bude pplx-api podporovat:
Vlastní modely Perplexity LLM a další open-source modely LLM.
Vlastní vnoření (embeddings) Perplexity a open-source vnoření.
Vyhrazená cenová struktura API s všeobecným přístupem po skončení fáze veřejné beta verze.
Rozhraní API Perplexity RAG-LLM s ukotvením pro fakta a citace.
Pokud máte zájem o některý z těchto případů použití, kontaktujte nás na adrese api@perplexity.ai.
Toto je také začátek naší série příspěvků na blogu Perplexity. V našem příštím příspěvku se podrobně podíváme na srovnání výkonu A100 vs H100 pro inferenci LLM. Zůstaňte s námi!
Hledáme nové posily! Pokud chcete pracovat na produktu nasazeném ve velkém měřítku a budovat s námi promyšleně navrženou a pečlivě optimalizovanou infrastrukturu generativních a velkých jazykových modelů, připojte se k nám.
Sledujte nás na Twitteru, LinkedInu a připojte se k našemu Discordu pro další diskuze.
Autoři:
Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats
Ochrana osobních údajů
Výběrem pplx-api můžete využít plný potenciál modelů LLM a zároveň chránit soukromí a důvěru svých uživatelů a zákazníků. Chápeme důležitost ochrany vašich osobních údajů a zavazujeme se udržovat bezpečnost a soukromí našich uživatelů. Data z API jsou automaticky smazána po 30 dnech a nikdy netrénujeme na žádných datech přenášených přes pplx-api. Uživatele mají možnost odmítnout uchovávání údajů v nastavení svého účtu. Naše zásady ochrany osobních údajů pro API naleznete zde.