Vi præsenterer pplx-api
Perplexity Labs' hurtige og effektive API til open source-LLM'er

Bemærk: Nedenstående er forældet for aktuelle modeller. Læs mere om vores API'er
Vi er glade for at kunne annoncere pplx-api, som er designet til at være en af de hurtigste måder at få adgang til modellerne Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B og replit-code-v1.5-3b. pplx-api gør det nemt for udviklere at integrere banebrydende open source-LLM'er i deres projekter.
Vores pplx-api tilbyder:
Brugervenlighed: Udviklere kan bruge avancerede open source-modeller direkte ud af boksen og komme i gang på få minutter med en velkendt REST API.
Lynhurtig inferens: Vores omhyggeligt designede inferenssystem er effektivt og opnår op til 2,9x lavere latens end Replicate og 3,1x lavere latens end Anyscale.
Kamptestet infrastruktur: pplx-api har vist sig at være pålidelig og håndterer trafik på produktionsniveau i både vores Perplexity-standardsøgemaskine og vores Labs-miljø.
Et-stops-sted for open source-LLM'er: Vores team er dedikeret til at tilføje nye open source-modeller, i takt med at de udkommer. For eksempel tilføjede vi Llama- og Mistral-modeller få timer efter lanceringen uden forudgående adgang.
pplx-api er i offentlig beta og er gratis for brugere med et Perplexity Pro-abonnement.
Brug pplx-api til en uformel weekend-hackathon eller som en kommerciel løsning til at bygge nye og innovative produkter. Vi håber at lære, hvordan folk kan bygge fede og innovative produkter med vores API gennem denne udgivelse. Kontakt venligst api@perplexity.ai , hvis du har et forretningsmæssigt use case til pplx-api. Vi vil meget gerne høre fra dig!
Fordele ved pplx-api
Brugervenlighed
LLM-implementering og -inferens kræver en betydelig infrastrukturel indsats for at gøre modellers servering performant og omkostningseffektiv. Udviklere kan bruge vores API ud af boksen uden dyb kendskab til C++/CUDA eller adgang til GPU'er, og samtidig nyde godt af state-of-the-art ydeevne. Vores LLM-inferens abstraherer også kompleksiteten og nødvendigheden af at administrere din egen hardware, hvilket yderligere øger brugervenligheden.
Lynhurtig inferens
Perplexitys LLM API er omhyggeligt designet og optimeret til hurtig inferens. For at opnå dette har vi opbygget en proprietær LLM-infrastruktur omkring NVIDIAs TensorRT-LLM, som kører på A100 GPU'er leveret af AWS. Læs mere i afsnittet Oversigt over pplx-api-infrastruktur. Som et resultat heraf er pplx-api en af de hurtigste Llama- og Mistral-API'er på markedet.
For at benchmarke mod eksisterende løsninger sammenlignede vi latensen for pplx-api med andre LLM-inferensbiblioteker. I vores eksperimenter opnår pplx-api op til 2,92x hurtigere samlet latens sammenlignet med Text Generation Inference (TGI) og op til 4,35x hurtigere indledende svarlatens. Til dette eksperiment sammenlignede vi TGI og Perplexitys inferens for enkeltstrøms- og serverscenarier på 2 A100 GPU'er ved hjælp af en Llama-2-13B-chat-model, der er sharded på tværs af begge GPU'er. I enkeltstrømsscenariet behandler serveren én forespørgsel efter den anden. I serverscenariet sender klienten forespørgsler i henhold til en Poisson-fordeling med varierende forespørgselsrater for at emulere en varierende belastning. For forespørgselsraten udfører vi en lille kørsel op til maksimalt 1 forespørgsel/sekund, hvilket er den maksimale gennemgangsrate, som TGI kan opretholde. Vi brugte data fra den virkelige verden med en række input- og output-tokenlængder for at simulere produktionsadfærd. Forespørgslerne har i gennemsnit ~700 input-tokens og ~550 output-tokens.
Ved at bruge de samme input og sende en enkelt strøm af forespørgsler målte vi også gennemsnitslatensen for Replicates og Anyscales API'er for denne samme model for at tilvejebringe et ydeevnegrundlag i forhold til andre eksisterende API'er.


Ved hjælp af den samme eksperimentelle opsætning sammenlignede vi den maksimale gennemgangsrate for pplx-api med TGI med afkodningshastighed som latensbegrænsning. I vores eksperimenter behandler pplx-api tokens 1,90x-6,75x hurtigere end TGI, og TGI opfylder slet ikke vores strengere latensbegrænsninger ved 60 og 80 tokens/sekund. Vi evaluerer TGI under de samme hardware- og belastningsbetingelser, som vi brugte til at evaluere pplx-api. Det er ikke muligt at sammenligne denne metrik med Replicate og Anyscale, da vi ikke kan kontrollere deres hardware- og belastningsfaktorer.
Til sammenligning er den gennemsnitlige menneskelige læsehastighed 5 tokens/sekund, hvilket betyder, at pplx-api er i stand til at levere data hurtigere, end man kan læse.

Oversigt over pplx-api-infrastruktur
At opnå disse latvenstal kræver en kombination af state-of-the-art software og hardware.
AWS p4d-instanser drevet af NVIDIA A100 GPU'er danner grundlag som den mest omkostningseffektive og pålidelige mulighed for at skalere GPU'er ud med markedets bedste clock-hastigheder.
For at software kan udnytte denne hardware, kører vi NVIDIAs TensorRT-LLM, et open source-bibliotek, der accelererer og optimerer LLM-inferens. TensorRT-LLM omslutter TensorRTs deep learning-kompileringsværktøj og indeholder de seneste optimerede kerner lavet til banebrydende implementeringer af FlashAttention og maskeret multi-head attention (MHA) til kontekst- og genereringsfaserne af LLM-modeludførelsen.
Herfra gør AWS' ryggrad og dens robuste integration med Kubernetes det muligt for os at skalere elastisk ud over hundreder af GPU'er samt minimere nedetid og netværksoverhead.
Use Case: Vores API i produktion
pplx-api i Perplexity: Omkostningsreduktion og pålidelighed
Vores API driver allerede en af Perplexitys kernefunktioner. Blot ved at skifte en enkelt funktion fra en ekstern API til pplx-api opnåede vi en omkostningsbesparelse på 0,62 mio. USD/år, hvilket svarer til en ca. 4x reduktion i omkostningerne. Vi kørte A/B-tests og overvågede infrastrukturelle metrikker for at sikre, at der ikke skete nogen forringelse af kvaliteten. Over en periode på 2 uger observerede vi ingen statistisk signifikant forskel i A/B-testen. Derudover kunne pplx-api opretholde en daglig belastning på over en million forespørgsler, hvilket i alt svarer til næsten en milliard behandlede tokens dagligt.
Resultaterne af denne indledende undersøgelse er meget opmuntrende, og vi forventer, at pplx-api vil drive flere af vores produktfunktioner over tid.

Vi bruger også pplx-api til at drive Perplexity Labs, vores modelmiljø, der serverer forskellige open source-modeller.

Vores team er forpligtet til at levere adgang til de seneste state-of-the-art open source-LLM'er. Vi integrerede Mistral 7B, Code Llama 34b og alle Llama 2-modeller få timer efter deres udgivelse, og vi planlægger at gøre det samme, efterhånden som der kommer flere kompetente open source-LLM'er til.
Kom i gang med Perplexitys AI API
Du kan få adgang til pplx-api REST API ved hjælp af HTTPS-forespørgsler. Godkendelse i pplx-api indebærer følgende trin:
Generer en API-nøgle via side med Perplexity-kontoindstillinger. API-nøglen er et langlivet adgangstoken, som kan bruges, indtil det manuelt genopfriskes eller slettes.

Send API-nøglen som et bearer-token i Authorization-headeren ved hver pplx-api-forespørgsel.
I følgende eksempel er PERPLEXITY_API_KEY en miljøvariabel knyttet til en nøgle genereret ved hjælp af ovenstående instruktioner. CURL bruges til at indsende en chat-fuldbyrdelsesforespørgsel.
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?"
}
]
}'Hvilket giver følgende svar med 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
}
}Her er et eksempel på et Python-kald:
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)Vi understøtter i øjeblikket Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B, og API'en er bekvemt OpenAI-klientkompatibel for nem integration med eksisterende applikationer.
For yderligere oplysninger kan du besørge vores API-dokumentation og hurtigstartsguide.
Hvad er næste skridt?
I den nærmeste fremtid vil pplx-api understøtte:
Brugerdefinerede Perplexity-LLM'er og andre open source-LLM'er.
Brugerdefinerede Perplexity-lemlæstelser og open source-lemlæstelser.
Dedikeret API-prisstruktur med generel adgang, når den offentlige beta-fase er afsluttet.
Perplexity RAG-LLM API med forankring i fakta og citationer.
Kontakt api@perplexity.ai, hvis du er interesseret i nogle af disse use cases.
Dette er også starten på vores Perplexity Blog-indlægsserie. I vores næste indlæg vil vi dele en dybdegående sammenligning af A100- og H100-ydeevne til LLM-inferens. Følg med!
Vi ansætter! Hvis du vil arbejde på et produkt, der er udrullet i massiv skala, og opbygge omhyggeligt designede, fintunede generative og store sprogmodelinfrastrukturer sammen med os, er du velkommen til at slutte dig til os.
Følg os på Twitter, LinkedIn og deltag i vores Discord for at deltage i yderligere diskussioner.
Forfattere:
Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats
Databeskyttelse
Ved at vælge pplx-api kan du udnytte det fulde potentiale af LLM'er og samtidig beskytte dine brugeres og kunders privatliv og tillid. Vi forstår vigtigheden af at beskytte dine personlige oplysninger og er forpligtede til at opretholde sikkerheden og privatlivet for vores brugere. API-data slettes automatisk efter 30 dage, og vi træner aldrig på data, der transmitteres via pplx-api. Brugere har mulighed for at fravælge datalagring i deres kontoindstillinger. Find vores API-politik for beskyttelse af personlige oplysninger her.