Kā izveidot perplexity.ai API atslēgu
Īss apraksts kā izveidot API atslēgu MI meklētājprogrammas — perplexity.ai rīkā. Ņem vērā, ka pēc būtiskām šī rīka izmaiņām apraksts var nebūt aktuāls.
API atslēgu veido https://www.perplexity.ai/settings/api — sadaļā Settings -> API. Vispirms pievieno maksājuma karti, spiežot <Setup>:
Ievada kartes datus un pēc <Submit> pogas nospiešanas API sadaļā parādīsies papildu sekcijas:
API atslēgu (API Keys) varēs ģenerēt tikai tad, kad no iepriekš definētās maksājumu kartes tiks pārskaitīta nauda. Sadaļā “Available Credits” spiež uz “+ Buy Credits” un norāda summu kādu pārskaitīt no maksājumu kartes:
Kad “Available Credits” parādās iemaksātā summa, tad ej uz sadaļu “API Keys” un spied <+ Generate>. Lietotājam ir iespēja ģenerēt vairākas API atslēgas:
Atšķirībā no citiem rīkiem, API atslēga nav noslēpta — tā ir redzama pilnā tekstā.
Lai notestētu izveidoto API, Python programmā vispirms jāuzinstalē divas pakotnes: openai un keyring (šī ir nepieciešama API atslēgu pārvaldībai):
pip install keyring openai
Pakotnes keyring
vietā var uzinstalēt kādu citu paroļu pārvaldības rīku vai izmantot citu veidu kā glabāt API atslēgu, piemēram, saglabāt kā pagaidu vides mainīgo (environment variable):
import os, getpass
def _set_env(var: str):
if not os.environ.get(var):
os.environ[var] = getpass.getpass(f"{var}: ")
_set_env("PERPLEXITY_API_KEY")
Vai API atslēgu glabāt vienkāršā teksta failā.dev
(ņem vērā, ka tādā gadījumā jābūt ierobežotai piekļuvei šim failam) un izmantot python-dotenv pakotni, lai piekļūtu šim failam.
Šajā piemērā izmantoju keyring
risinājumu. Python programmā ielādēju iepriekš uzinstalētās pakotnes:
import keyring
from openai import OpenAI
Tad izveidoju client instanci:
client = OpenAI(api_key=keyring.get_password('Perplexity_API', 'API_test'), base_url="https://api.perplexity.ai")
Atsevišķi norādu modeli, kādu izmantot uzvednes apstrādē:
MODEL = "sonar"
Šobrīd pieejami 2 veidu modeļi: sonar
un sonar-pro
.
Tālāk norādu uzvedni:
user_prompt = "Kā izveidot API atslēgu perplexity.ai rīkā?"
Un ziņu, kāds tiks nosūtīts modelim (system content laukā vari norādīt jebkādu citu sistēmas paziņojumu, kas modelim būtu jāņem vērā):
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": (
user_prompt
),
},
]
Un atliek vien izsaukt šo pieprasījumu un atgriezt tā vērtību:
response = client.chat.completions.create(
model=MODEL,
messages=messages,
)
print(response.choices[0].message.content)
Ja saņem modeļa atbildi, tad visu esi nokonfigurējis pareizi.
Tālāk jau atliek mainīt user_prompt
un uzdot sev interesējošos jautājumus. Pilns Python kods API pārbaudei ir pieejams šeit.
API sadaļā Available Credits vari sekot līdzi savai bilancei (cik daudz naudas resursu vēl ir pieejami API izsaukumiem).
Ņem vērā, ka jauniem lietotājiem ir ierobežots API pieprasījumu skaits (RPM — requests per minute). Ja API pieprasījumos esi iztērējis līdz $50, tad tu varēsi izsaukt ne vairāk par 50 pieprasījumiem minūtē:
Savu līmeni vari redzēt sadaļā “API Usage Tier”.
Raksta sagatavošanā tika izmantota Python 3.12.4 versija un sekojošas pakotņu versijas:
- keyring: 25.6.0
- openai: 1.58.1