Inhoud
Perplexity API (python, Streamlit LLM's & Agents)
ποΈ Terug naar start
De Perplexity API is een suite van modellen en endpoints waarmee je als Python developer toegang krijgt tot geavanceerde AI-zoekfunctionaliteit en large language models, specifiek ontworpen voor moderne AI-workflows en applicaties. Je kunt het gebruiken om geoptimaliseerde web search en generatieve AI-oplossingen te bouwen, rechtstreeks in je eigen applicaties.
Nederlandstalige bronnen
Uitgebreide handleiding: Aan de slag met de Perplexity API in een Streamlit-app (.pdf)
Uitgebreide handleiding (2): Perplexity API in een Streamlit-app met Agents deel 2 (.pdf)
Openbaar Nederlandstalig Google NotebookLM Perplexity API (python, Streamlit LLM's & Agents)
Installatie van perplexityai SDK
pip install perplexityai
Na installatie kun je de SDK importeren en een client instellen. Standaard leest de client de API-sleutel uit de omgevingsvariabele PERPLEXITY_API_KEY docs.perplexity.ai. Zorg er daarom voor dat je deze variabele hebt gezet met je sleutel (bijvoorbeeld export PERPLEXITY_API_KEY=βjouw-api-sleutelβ op macOS/Linux, of via Streamlit Secrets). Je kunt de client vervolgens initialiseren als volgt:
from perplexity import Perplexity # Initialiseer de client (leest API-sleutel uit PERPLEXITY_API_KEY) client = Perplexity()
π‘ Note: Het is niet strikt noodzakelijk om perplexityai apart te instelleren, je kunt de API ook via de OpenAI API bereiken:
import openai
openai.api_key = "JOUW_API_SLEUTEL"
openai.api_base = "https://api.perplexity.ai"
response = openai.ChatCompletion.create(
model="sonar-pro",
messages=[{"role": "user", "content": "Hallo, hoe werkt de Perplexity API?"}]
)
print(response.choices[0].message.content)
In bovenstaand voorbeeld hebben we de api_base van de OpenAI bibliotheek gezet naar de URL van Perplexityβs API. De model-parameter is ingesteld op βsonar-proβ, een van de modellen van Perplexity.
Uninstall perplexityai
pip uninstall perplexityai
Voorbeeld van gebruik
Nu je de setup hebt voltooid, kun je een eerste API-aanroep doen om te testen of alles werkt. We zullen de Grounded LLM van Perplexity gebruiken (codenaam Sonar), die in real-time online zoekt en een antwoord geeft met bronnen. Hier is een eenvoudig Python-voorbeeld dat een vraag stelt en het antwoord print:
from perplexity import Perplexity
client = Perplexity() # maakt gebruik van PERPLEXITY_API_KEY uit env
vraag = "Wat zijn de laatste ontwikkelingen op het gebied van AI?"
completion = client.chat.completions.create(
model="sonar-pro",
messages=[{"role": "user", "content": vraag}]
)
antwoord = completion.choices[0].message.content
bronnen = completion.search_results # lijst van bronnen (titel, URL, datum)
print("Antwoord:", antwoord)
print(f"Aantal gevonden bronnen: {len(bronnen)}")
for src in bronnen:
print(f"- {src['title']}: {src['url']}")
In dit voorbeeld sturen we een gebruikersbericht met de vraag βWat zijn de laatste ontwikkelingen op het gebied van AI?β naar het chat/completions eindpunt met het model Sonar-Pro. Dit model zal automatisch een webzoekactie uitvoeren en vervolgens een antwoord formuleren. We halen het antwoord op via completion.choices[0].message.content. Daarnaast kunnen we de gebruikte bronnen opvragen via completion.search_results β dit is een lijst van artikelen/webpaginaβs die het model heeft geraadpleegd, inclusief titels, URLs en datums. In de code hierboven printen we alle bron-URLs met titel, zodat je kunt zien waarop het antwoord gebaseerd is.
