Vi introduserer pplx-api
Perplexity Labs raske og effektive API for LLM-er med åpen kildekode

Merk følgende: Følgende har blitt avskrevet for gjeldende modeller. Lær mer om våre API-er
Vi er glade for å kunngjøre pplx-api, designet for å være en av de raskeste måtene å få tilgang til modellene Mistral 7B, Llama2 13B, Code Llama 34B, Llama2 70B og replit-code-v1.5-3b. pplx-api gjør det enkelt for utviklere å integrere banebrytende, åpen kildekode-LLM-er i sine prosjekter.
Vår pplx-api tilbyr:
Brukervennlighet: utviklere kan bruke toppmoderne modeller med åpen kildekode rett ut av esken og komme i gang i løpet av minutter med et kjent REST API.
Lynrask inferens: vårt nøye utformede inferenssystem er effektivt og oppnår opptil 2,9x lavere latens enn Replicate og 3,1x lavere latens enn Anyscale.
Kamptestet infrastruktur: pplx-api har vist seg å være pålitelig, og håndterer trafikk på produksjonsnivå i både vår Perplexity-svar-motor og vår Labs-lekeplass.
Alt-i-ett-sted for LLM-er med åpen kildekode: teamet vårt er dedikert til å legge til nye modeller med åpen kildekode etter hvert som de kommer. For eksempel la vi til Llama- og Mistral-modeller i løpet av få timer etter lansering uten forhåndsutgivelsestilgang.
pplx-api er i offentlig beta og er gratis for brukere med et Perplexity Pro-abonnement.
Bruk pplx-api til en uformell helgehackaton eller som en kommersiell løsning for å bygge nye og innovative produkter. Vi håper å lære hvordan folk kan bygge kule og innovative produkter med vårt API gjennom denne utgivelsen. Ta kontakt på api@perplexity.ai hvis du har et forretningsmessig bruksområde for pplx-api. Vi vil gjerne høre fra deg!
Fordeler med pplx-api
Brukervennlighet
LLM-distribusjon og -inferens krever betydelige infrastrukturelle tiltak for å gjøre modellservering ytelsesdyktig og kostnadseffektiv. Utviklere kan bruke API-et vårt rett ut av esken, uten dyp kunnskap om C++/CUDA eller tilgang til GPU-er, samtidig som de nyter godt av toppmoderne ytelse. Vår LLM-inferens abstraherer også kompleksiteten og nødvendigheten av å administrere din egen maskinvare, noe som øker brukervennligheten ytterligere.
Lynrask inferens
Perplexitys LLM API er nøye utformet og optimalisert for rask inferens. For å oppnå dette bygget vi en proprietær LLM-inferensinfrastruktur rundt NVIDIAs TensorRT-LLM som betjenes på A100 GPU-er levert av AWS. Les mer i seksjonen Oversikt over pplx-api-infrastruktur. Som et resultat er pplx-api en av de raskeste Llama- og Mistral-API-ene som er kommersielt tilgjengelige.
For å sammenligne med eksisterende løsninger sammenlignet vi latensen til pplx-api med andre LLM-inferensbiblioteker. I våre eksperimenter oppnår pplx-api opptil 2,92x raskere total latens sammenlignet med Text Generation Inference (TGI), og opptil 4,35x raskere innledende responslatens. For dette eksperimentet sammenlignet vi TGI og Perplexitys inferens for enkeltstrøms- og servertilfeller på 2 A100 GPU-er ved hjelp av en Llama-2-13B-chat-modell delt på begge GPU-ene. For enkeltstrømstilfellet behandler serveren én forespørsel etter den andre. I servertilfellet sender klienten forespørsler i henhold til en Poisson-fordeling med varierende forespørselsrater for å emulere en varierende belastning. For forespørselsraten utfører vi en liten sving opp til maksimalt 1 forespørsel / sekund, maksimal gjennomstrømning opprettholdt av TGI. Vi brukte data fra den virkelige verden med en variasjon av inn- og utdatatokenlengder for å simulere produksjonsadferd. Forespørslene har et gjennomsnitt på ~700 inndatatokene og ~550 utdatatokene.
Ved å bruke de samme inndataene og sende en enkelt strøm av forespørsler målte vi også gjennomsnittlig latens for Replicates og Anyscales API-er for den samme modellen for å samle en ytelsesgrunnlinje mot andre eksisterende API-er.


Ved å bruke det samme eksperimentelle oppsettet sammenlignet vi maksimal gjennomstrømning for pplx-api mot TGI, med dekodingshastighet som en latensbegrensning. I våre eksperimenter behandler pplx-api tokens 1,90x-6,75x raskere enn TGI, og TGI klarer ikke å oppfylle våre strengere latensbegrensninger ved 60 og 80 tokens/sekund. Vi evaluerer TGI under de samme maskinvare- og lastforholdene som vi brukte til å evaluere pplx-api. Å sammenligne denne metrikken med Replicate og Anyscale er ikke mulig siden vi ikke kan kontrollere deres maskinvare- og lastfaktorer.
Til sammenligning er den gjennomsnittlige menneskelige lesehastigheten 5 tokens/sekund, noe som betyr at pplx-api er i stand til å betjene med en rate som er raskere enn man kan lese.

Oversikt over pplx-api-infrastruktur
For å oppnå disse latenstallene kreves en kombinasjon av banebrytende programvare og maskinvare.
AWS p4d-forekomster drevet av NVIDIA A100 GPU-er danner grunnlaget som det mest kostnadseffektive og pålitelige alternativet for å skalere ut GPU-er med klasseledende klokkehastigheter.
For at programvare skal utnytte denne maskinvaren, kjører vi NVIDIAs TensorRT-LLM, et åpen kildekode-bibliotek som akselererer og optimaliserer LLM-inferens. TensorRT-LLM omslutter TensorRTs dypbrukskompilator og inkluderer de nyeste optimaliserte kjernene laget for banebrytende implementeringer av FlashAttention og maskert multi-head-oppmerksomhet (MHA) for kontekst- og genereringsfasene i LLM-modellutførelse.
Herfra gir ryggraden i AWS og dens robuste integrasjon med Kubernetes oss mulighet til å skalere elastisk utover hundrevis av GPU-er og minimere nedetid og nettverksoverhode.
Bruksområde: Vårt API i produksjon
pplx-api i Perplexity: Kostnadsreduksjon og pålitelighet
API-et vårt driver allerede en av Perplexitys kjernefunksjoner. Bare det å bytte en enkelt funksjon fra et eksternt API til pplx-api resulterte i kostnadsbesparelser på $0,62M/år, omtrent en 4x reduksjon i kostnader. Vi kjørte A/B-tester og overvåket infrastrukturmetrikker for å sikre ingen kvalitetsforringelse. Over en periode på 2 uker observerte vi ingen statistisk signifikant forskjell i A/B-testen. I tillegg kunne pplx-api opprettholde en daglig belastning på over én million forespørsler, totalt nesten én milliard behandlede tokens daglig.
Resultatene av denne første utforskningen er svært oppmuntrende, og vi forventer at pplx-api vil drive flere av produktfunksjonene våre over tid.

Vi bruker også pplx-api til å drive Perplexity Labs, vår modell-lekeplass som betjener ulike modeller med åpen kildekode.

Teamet vårt er forpliktet til å gi tilgang til de nyeste toppmoderne LLM-ene med åpen kildekode. Vi integrerte Mistral 7B, Code Llama 34b og alle Llama 2-modeller i løpet av få timer etter lanseringen, og planlegger å gjøre det samme etter hvert som mer kapable LLM-er med åpen kildekode blir tilgjengelige.
Kom i gang med Perplexitys AI API
Du kan få tilgang til pplx-api REST API ved hjelp av HTTPS-forespørsler. Autentisering i pplx-api innebærer følgende trinn:
Generer en API-nøkkel gjennom Perplexity-kontoinnstillingene. API-nøkkelen er et langlivet tilgangstoken som kan brukes til det manuelt oppdateres eller slettes.

Send API-nøkkelen som et bæretoken (bearer token) i Authorization-hoderen med hver pplx-api-forespørsel.
I følgende eksempel er PERPLEXITY_API_KEY en miljøvariabel bundet til en nøkkel generert ved hjelp av instruksjonene ovenfor. CURL brukes til å sende en chat-fullføringsforespørsel.
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?"
}
]
}'Noe som gir følgende respons, 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-kall:
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 støtter for øyeblikket Mistral 7B, Llama 13B, Code Llama 34B, Llama 70B, og API-et er praktisk nok kompatibelt med OpenAI-klienten for enkel integrasjon med eksisterende applikasjoner.
For mer informasjon, vennligst besök vår API-dokumentasjon og hurtigstartveiledning.
Hva er det neste
I nær fremtid vil pplx-api støtte:
Tilpassede Perplexity-LLM-er og andre LLM-er med åpen kildekode.
Tilpassede Perplexity-innebygninger og innebygninger med åpen kildekode.
Dedikert API-prisstruktur med generell tilgang etter at offentlig beta er faset ut.
Perplexity RAG-LLM API med jording for fakta og siteringer.
Ta kontakt på api@perplexity.ai hvis du er interessert i noen av disse bruksområdene.
Dette er også starten på vår Perplexity-blogginnleggsserie. I vårt neste innlegg vil vi dele en dypdykk i sammenligning av A100 vs H100-ytelse for LLM-inferens. Følg med!
Vi ansetter! Hvis du ønsker å jobbe med et produkt distribuert i en enorm skala og bygge omhyggelig utformede, nøye optimaliserte generative og store språkmodellinfrastrukturer med oss, vennligst bli med oss.
Følg oss på Twitter, LinkedIn og bli med i vår Discord for mer diskusjon.
Forfattere:
Lauren Yang, Kevin Hu, Aarash Heydari, William Zhang, Dmitry Pervukhin, Grigorii Alekseev, Alexandr Yarats
Datapersonvern
Ved å velge pplx-api kan du utnytte det fulle potensialet til LLM-er samtidig som du beskytter personvernet og tilliten til brukerne og kundene dine. Vi forstår viktigheten av å beskytte din personlige informasjon og er forpliktet til å opprettholde sikkerheten og personvernet til brukerne våre. API-data slettes automatisk etter 30 dager, og vi trener aldri på data som overføres via pplx-api. Brukere har muligheten til å velge bort datalagring i kontoinnstillingene sine. Finn våre API-retningslinjer for personvern her.