Tutorial API Perplexity: Membuat Jawaban yang Di-ground ke Sumber Secara Bertahap

Sebuah permintaan Python menghubungkan kutipan jawaban tersebut dengan ID sumber 7 dan dokumentasi Python.

API PERPLEXITY · TUTORIAL PYTHON · 2026

Tutorial API Perplexity ini akan memandu Anda dalam membuat skrip Python yang menghasilkan jawaban beserta sumber web yang dapat diklik. Gunakan API Agent untuk mengirimkan pertanyaan, membaca jawabannya, mencocokkan penanda kutipannya dengan ID sumber, dan mengekspor berkas Markdown yang dapat Anda tinjau.

Kami akan menggunakan satu pertanyaan sepanjang pembahasan ini: Bagaimana seharusnya sebuah proyek Python berskala kecil menggunakan lingkungan virtual dan mengelola dependensi? Mulailah dengan permintaan dasar, lalu tambahkan pemrosesan sumber dan filter domain. Anda memerlukan pengetahuan dasar tentang Python serta akun pengembang Perplexity yang sudah dilengkapi dengan pengaturan penagihan API.

Jika Anda juga menggunakan AI untuk penelitian dan penulisan sehari-hari, Perplexity pada GlobalGPT menawarkan akses dalam ruang kerja AI serba guna, sehingga mengurangi kebutuhan untuk berpindah-pindah antar alat yang terpisah. Alur kerja konsumen tersebut terpisah dari kunci pengembang dan penagihan API yang digunakan di sini.

Jawaban singkat: Gunakan cepat Pengaturan awal agen untuk jawaban pertama yang didasarkan pada web, baca response.output_text untuk jawabannya, dan baca hasil_pencarian item di respons.keluaran untuk sumber. Cocokkan setiap penanda dalam teks dengan sumbernya berdasarkan nilai yang dikembalikan id. Sebuah kutipan berarti “jawaban tersebut mengarah pada hasil ini”; hal itu tidak menjamin bahwa halaman tersebut membuktikan setiap pernyataan.

Contoh status: Sintaks permintaan ini mengikuti dokumentasi resmi yang diperiksa pada tanggal 28 September 2026. Alat bantu kutipan telah diverifikasi menggunakan data sampel offline; tidak ada permintaan API berbayar yang dijalankan untuk tutorial ini. Catatan sumber yang ditampilkan dalam ilustrasi merupakan contoh penjelasan.

Tutorial API Perplexity: memilih API yang tepat

Ini adalah antarmuka pengembang. Produk obrolan mungkin menyajikan fitur serupa dengan cara yang berbeda; uraian kami mengenai Fitur-fitur Perplexity menjelaskan pengalaman yang dirasakan pengguna.

Perplexity’s Panduan Cepat API Resmi mengelompokkan produk-produk pengembangnya berdasarkan tugas yang perlu Anda selesaikan. Pilihlah area terkecil yang menghasilkan data yang benar-benar dibutuhkan oleh aplikasi Anda.

APIPaling cocokApa yang diterima oleh kode Anda
AgenJawaban yang sudah lengkap dan didasarkan pada pencarian di web atau alat bantu lainnyaItem keluaran yang diketik, teks jawaban, dan catatan hasil pencarian
PencarianAplikasi Anda akan secara otomatis mengurutkan, menyaring, atau merangkum hasilnyaHasil pencarian tanpa meminta Perplexity untuk menuliskan jawaban akhir
RouterMengarahkan permintaan ke model yang sesuaiRespons model yang dipilih melalui router
EmbeddingPencarian semantik dan indeks RAGVektor untuk lapisan pencarian Anda sendiri

Tutorial ini memilih opsi "Agent" karena hasil yang Anda inginkan adalah jawaban lengkap beserta sumber-sumbernya. Untuk alur kerja penelitian yang lebih luas, lihat panduan kami mengenai menggunakan Perplexity untuk penelitian.

Tentang Sonar: Arus gambaran umum migrasi menyatakan bahwa Sonar Chat Completions masih didukung dan merekomendasikan Agent untuk semua proyek baru. Oleh karena itu, tutorial ini menggunakan Agent. Jangan menyimpulkan bahwa integrasi lama sudah tidak berfungsi lagi hanya berdasarkan batas waktu yang disebutkan dalam tutorial lama.

Langkah 1: Dapatkan kunci API dan atur Python

Buat kunci dan siapkan penagihan

Buka konsol API Perplexity, pilih atau buat proyek yang akan Anda gunakan, atur penagihan API, dan buat kunci. Simpan kunci tersebut di sisi server. Biaya API pengembang ditagihkan secara terpisah dari langganan konsumen; periksa saldo proyek Anda sebelum melakukan permintaan.

Instal SDK resmi

python -m venv .venv

# macOS/Linux: pilih perintah aktivasi ini
source .venv/bin/activate

# Windows PowerShell: gunakan perintah ini sebagai gantinya
.venv\Scripts\Activate.ps1

python -m pip install --upgrade perplexityai

Gunakan Python 3.10 atau yang lebih baru untuk kode di bawah ini. Aktifkan lingkungan tersebut menggunakan perintah yang sesuai dengan sistem operasi Anda, lalu instal SDK. Jika PowerShell menghalangi proses aktivasi, gunakan .venv\Scripts\python.exe sebagai gantinya Python untuk pemasangan dan eksekusi skrip.

Nama paketnya adalah perplexityai, sedangkan perintah `import` di Python adalah kebingungan. Gunakan lingkungan virtual agar dependensi dalam tutorial ini tidak memengaruhi proyek lain.

Contoh ini menggunakan soal pemrograman karena klaim-klaimnya dapat diverifikasi berdasarkan dokumentasi yang terus diperbarui. Panduan kami mengenai Perplexity untuk pemrograman menjelaskan bagaimana dukungan penelitian berperan dalam konteks pengujian kode secara mandiri.

Tetapkan kunci API sebagai variabel lingkungan

# macOS/Linux
export PERPLEXITY_API_KEY="kunci-Anda-di-sini"

# Windows PowerShell
$env:PERPLEXITY_API_KEY = "kunci-Anda-di-sini"

SDK tersebut membaca KUNCI API PERPLEXITY saat Anda membuat klien. Jangan menempelkan kunci tersebut ke dalam buku catatan, mengunggahnya ke Git, atau mengirimkannya ke browser. Jika Anda menggunakan berkas .env secara lokal, pastikan berkas tersebut tidak dimasukkan ke dalam sistem kontrol versi dan muatlah berkas tersebut menggunakan pustaka variabel lingkungan pilihan Anda.

Dokumentasi resmi Perplexity yang menjelaskan proses instalasi SDK Python dan variabel lingkungan PERPLEXITY_API_KEY.

Langkah 2: Kirim permintaan source-grounded pertama Anda

Panduan Cepat API Agent dokumen POST https://api.perplexity.ai/v1/agent. Klien Python-nya membungkus permintaan tersebut dengan client.responses.create(). The cepat Pengaturan bawaan mengaktifkan pencarian web secara default, sehingga contoh pertama tetap ringkas.

dari perplexity impor Perplexity

client = Perplexity()

pertanyaan = (
    "Bagaimana seharusnya proyek Python kecil menggunakan lingkungan virtual "
    "dan mengelola dependensi?"
)

response = client.responses.create(
    preset="fast",
    input=question,
)

print(response.output_text)

Simpan potongan kode tersebut sebagai first_request.py, lalu jalankan python first_request.py di terminal yang sama tempat Anda menetapkan kunci tersebut. Panggilan yang berhasil seharusnya menampilkan teks jawaban yang tidak kosong. Jika Anda memerlukan bukti hasil tersebut, lanjutkan ke langkah ekstraksi sumber; teks saja tidak cukup untuk dianggap sebagai pemeriksaan yang lengkap.

Sifat kemudahan teks_keluaran memberikan teks jawaban akhir kepada Anda. Simpan juga seluruh objek respons: catatan sumber dan rincian penggunaan terdapat dalam keluaran yang diketik, bukan hanya dalam paragraf yang dicetak saja.

Permintaan yang sama menggunakan cURL

curl https://api.perplexity.ai/v1/agent \
  -H "Authorization: Bearer $PERPLEXITY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "preset": "fast",
    "input": "Bagaimana seharusnya proyek Python kecil menggunakan lingkungan virtual dan mengelola dependensi?"
  }'

Contoh cURL ini menggunakan sintaks Bash untuk macOS/Linux atau shell yang kompatibel dengan Bash. Setiap kali dijalankan, permintaan yang dikenakan biaya akan dibuat. Gunakan hanya jika Anda perlu memisahkan masalah pada endpoint dari masalah pada Python; jangan jalankan setiap versi hanya untuk mengikuti langkah-langkahnya.

Setara dengan JavaScript sisi server

Node.js 18+ mencakup ambil, sehingga uji coba awal di sisi server tidak memerlukan pustaka tambahan. Baca teks aslinya keluaran elemen dalam respons JSON; SDK Python menyediakan cara yang praktis teks_keluaran aksesori.

const res = await fetch("https://api.perplexity.ai/v1/agent", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.PERPLEXITY_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    preset: "fast",
    input: "Bagaimana seharusnya proyek Python kecil menggunakan lingkungan virtual dan mengelola dependensi?"
  })
});
if (!res.ok) throw new Error(`Perplexity HTTP ${res.status}`);
console.log(await res.json());

Langkah 3: Ekstrak jawaban dan cocokkan dengan sumbernya

Panduan resmi mengenai kutipan membedakan teks prosa tersebut dari catatan bukti-buktinya. Sumber-sumber tersebut disajikan dalam sebuah keluaran item dengan tipe hasil_pencarian. Baca artikel tersebut hasil dan cocokkan setiap penanda kutipan dengan hasil id. Setiap hasil memiliki judul dan URL; tangani nilai yang tidak ada sebelum menampilkannya.

Dokumentasi resmi Perplexity yang menjelaskan kutipan bernomor, kutipan berdasarkan jenis sumber, dan penanda pencocokan dengan ID hasil pencarian.

Detail terakhir itu penting. Jangan berasumsi bahwa “kutipan 1” selalu menjadi elemen pertama dalam sebuah larik setelah alat lain menambahkan suatu item. Buatlah pencarian berdasarkan ID, lalu tentukan penanda-penanda yang benar-benar muncul dalam jawaban.

def field(obj, name, default=None):
    return obj.get(name, default) jika isinstance(obj, dict), jika tidak, return getattr(obj, name, default)

def source_index(output):
    sources = {}
    for item in output or []:
    if field(item, "type") != "search_results":
        continue
    for result in field(item, "results", []) or []:
            sid, url = field(result, "id"), field(result, "url")
 if sid is None:
 continue
 key = str(sid)
 if key in sources and field(sources[key], "url") != url:
                raise ValueError(f"URL bertentangan untuk ID sumber {key}")
 sources[key] = result
    return sources

sources = source_index(response.output)
print(sources.get("7"))  # ID sumber, bukan posisi array ke-7

Skrip lengkap di bawah ini mengenali [1] dan [web:1], bentuk kutipan yang terdokumentasi untuk pengaturan bawaan umum. Fungsi bantu di atas dapat menangani baik objek SDK maupun kamus, serta menolak URL yang bertentangan yang ditetapkan ke ID yang sama. Fungsi ini tidak mengubah urutan hasil atau menebak sumber yang hilang.

Untuk pembahasan yang lebih luas mengenai kualitas kutipan, silakan lihat artikel kami Panduan Akurasi Kutipan Perplexity. Kutipan merupakan jejak audit; aplikasi Anda masih memerlukan kebijakan terkait halaman yang sudah usang, URL ganda, dan klaim yang tidak didukung.

Misalnya, jika array yang dikembalikan berisi ID 2 yang diikuti oleh ID 7, penanda tersebut [7] harus ditautkan ke ID 7. Jika URL yang sama muncul di bawah ID 7 dan 9, Anda dapat menampilkan URL tersebut sekali sambil tetap mempertahankan kedua ID tersebut. Jika ID 8 tidak pernah muncul, pertahankan [8] tampak dan tandai sebagai tidak cocok.

Referensi 7 terkait dengan hasil pencarian dengan ID 7, meskipun hasil yang berbeda tercantum terlebih dahulu.

Langkah 4: Perbaiki jawaban dengan menggunakan filter pencarian

Setelah permintaan dasar berhasil, persempit cakupan pencarian jika pertanyaan Anda memiliki batasan otoritas yang jelas. Untuk pengemasan Python, dokumentasi bahasa dan panduan pengemasan merupakan titik awal yang lebih baik daripada tutorial sembarangan.

response = client.responses.create(
    preset="fast",
    input=(
 "Bagaimana seharusnya sebuah proyek Python berskala kecil menggunakan lingkungan virtual "
 "dan mengelola dependensi? Sebutkan panduan yang Anda gunakan."
    ),
    tools=[
 {
 "type": "web_search",
 "filters": {
 "search_domain_filter": [
 "docs.python.org",
                    "packaging.python.org",
 ]
 },
 }
    ],
)

Filter tersebut berada di dalam konfigurasi alat pencarian web. Dokumentasi migrasi juga menjelaskan filter_keterbaruan_pencarian untuk pertanyaan yang bersifat mendesak. Gunakan faktor kemutakhiran jika pertanyaan tersebut bergantung pada rilis atau berita terbaru; kombinasi bidang dan tanggal yang terlalu sempit dapat membuat Anda hanya memiliki sedikit bukti.

Untuk pertanyaan mengenai rilis dalam sebulan terakhir, tambahkan "search_recency_filter": "bulan" di samping filter_pencarian_domain. Jangan sertakan hal ini dalam contoh lingkungan virtual: dokumentasi versi stabil mungkin memiliki tanggal publikasi yang lebih lama. Jika Anda beralih dari model yang sudah ditentukan sebelumnya ke model yang dipilih secara langsung, sertakan alat pencarian web secara eksplisit.

Bandingkan hasil yang telah difilter dengan yang belum difilter selama proses pengembangan. Jika jawabannya berubah, catat alasannya: filter mungkin menghilangkan konteks yang berguna, atau mungkin menghilangkan halaman-halaman dengan otoritas rendah yang mengganggu model. Ini adalah keputusan terkait kualitas, bukan jaminan bahwa setiap halaman yang tersisa sudah benar.

Jika aplikasi Anda hanya memerlukan tautan yang diurutkan dan cuplikan, panggil metode API Pencarian dan lakukan sintesisnya sendiri. Pemisahan tersebut dapat mempermudah proses peninjauan dan penyimpanan dalam cache. Untuk perbandingan yang lebih luas dengan Google, lihat Perbedaan antara Perplexity dan Google.

Langkah 5: Simpan jawaban lengkap beserta sumber-sumber yang dapat diklik

Simpan yang berikut ini sebagai perplexity_tutorial.py. Fitur ini bersifat mandiri: mencakup helper sumber, menerapkan filter domain dokumentasi Python, mengubah penanda kutipan yang cocok menjadi tautan, mengelompokkan URL duplikat tanpa menghilangkan ID-nya, dan menyimpan respons SDK lengkap bersama dengan Markdown.

from pathlib import Path
from collections import defaultdict
from urllib.parse import urlsplit
import json
import re

QUESTION = (
    "How should a small Python project use virtual environments "
    "and manage dependencies?"
)
# Supports the documented [1] and [web:1] forms in prose answers.
CITATION_RE = re.compile(r"(?<!!)\[(?:web:)?(\d+)\](?!\()")

def field(obj, name, default=None):
    return obj.get(name, default) if isinstance(obj, dict) else getattr(obj, name, default)

def source_index(output):
    sources = {}
    for item in output or []:
        if field(item, "type") != "search_results":
            continue
        for result in field(item, "results", []) or []:
            sid, url = field(result, "id"), field(result, "url")
            if sid is None:
                continue
            key = str(sid)
            if key in sources and field(sources[key], "url") != url:
                raise ValueError(f"Conflicting URLs for source ID {key}")
            sources[key] = result
    return sources

def safe_url(value):
    if not isinstance(value, str):
        return None
    parsed = urlsplit(value)
    if parsed.scheme not in ("http", "https") or not parsed.netloc:
        return None
    # Protect a Markdown angle-bracket destination.
    return value.replace("<", "%3C").replace(">", "%3E").replace(" ", "%20")

def md_label(value):
    return re.sub(r"([\\\[\]<>])", r"\\\1", str(value).replace("\n", " "))

def export_markdown(answer, output, question=QUESTION):
    sources = source_index(output)
    cited = list(dict.fromkeys(CITATION_RE.findall(answer)))
    missing = [
        sid for sid in cited
        if sid not in sources or not safe_url(field(sources[sid], "url"))
    ]
    def link(match):
        sid = match.group(1)
        url = safe_url(field(sources.get(sid, {}), "url"))
        return f"[{match.group(0)[1:-1]}](<{url}>)" if url else match.group(0)

    # Keep every ID when the same URL appears under different IDs.
    grouped = defaultdict(list)
    titles = {}
    for sid in cited:
        source = sources.get(sid, {})
        url = safe_url(field(source, "url"))
        if url:
            grouped[url].append(sid)
            titles.setdefault(url, field(source, "title") or url)

    lines = ["# Source-grounded answer", "", question, "",
             CITATION_RE.sub(link, answer), "", "## Cited sources", ""]
    for url, ids in grouped.items():
        lines.append(f"- IDs {', '.join(ids)}: [{md_label(titles[url])}](<{url}>)")
    if missing:
        lines.append("- Unmatched or unusable source IDs: " + ", ".join(missing))
    if not cited:
        lines.append("- No recognized inline citations; evidence not verified.")
    lines.extend(["", "Source links require review; matching IDs does not verify claims."])
    return "\n".join(lines) + "\n"

def main():
    from perplexity import Perplexity
    response = Perplexity().responses.create(
        preset="fast",
        input=QUESTION,
        tools=[{"type": "web_search", "filters": {
            "search_domain_filter": ["docs.python.org", "packaging.python.org"]
        }}],
    )
    answer = response.output_text or ""
    if not answer.strip():
        raise RuntimeError("No answer text returned; inspect response status and errors.")
    Path("perplexity-response.json").write_text(
        response.model_dump_json(indent=2), encoding="utf-8"
    )
    Path("perplexity-answer.md").write_text(
        export_markdown(answer, response.output), encoding="utf-8"
    )
    print("Saved perplexity-answer.md and perplexity-response.json")

if __name__ == "__main__":
    main()

Jalankan python perplexity_tutorial.py dari direktori proyek Anda. Perintah ini akan menulis perplexity-jawaban.md dan perplexity-response.json Di sana, file-file sebelumnya akan diganti dengan file-file yang memiliki nama tersebut. Berkas Markdown berisi pertanyaan, jawaban yang ditautkan, sumber yang dikutip, dan ID yang tidak cocok. Berkas JSON menyimpan hasil yang dikembalikan serta informasi penggunaannya untuk keperluan diagnosis.

Parser ini dirancang untuk mengolah bentuk-bentuk penanda tunggal yang tercantum dalam teks prosa. Parser ini bukanlah parser Markdown yang lengkap: jika aplikasi Anda memerlukan Markdown sembarang, contoh kode, atau kutipan seperti [1,2], tambahkan renderer yang mendukung sintaks dan uji coba untuk format tersebut. Jangan menafsirkan ulang penanda yang tidak dikenal tanpa pemberitahuan.

Periksa apakah halaman yang ditautkan mendukung jawaban tersebut

Untuk contoh ini, periksa apakah dokumentasi yang dikutip benar-benar menjelaskan isolasi lingkungan dan pemasangan dependensi. Tautan ke laman utama Python kurang berguna dibandingkan bagian dokumentasi yang relevan. Jika sebuah jawaban merekomendasikan perintah tertentu, periksa sistem operasi dan versi Python-nya sebelum menjalankannya. Mark menyatakan bahwa teks yang dikutip tidak mendukung status “belum terselesaikan”.

Tambahkan output streaming atau terstruktur jika diperlukan

Streaming

Streaming meningkatkan persepsi latensi pada antarmuka obrolan. Panduan migrasi Agen mendokumentasikan peristiwa delta teks seperti response.output_text.delta. Tampilkan perubahan tersebut begitu masuk, tetapi kumpulkan juga item respons akhir agar antarmuka pengguna Anda dapat menampilkan sumber-sumbernya setelah jawaban selesai. Aliran teks saja bukanlah daftar sumber.

Berikut ini hanya tampilan teks. Simpan ekspor non-streaming untuk catatan sumber lengkap pertama Anda; implementasi streaming produksi juga harus mengumpulkan peristiwa alat/keluaran serta menangani proses yang terputus atau gagal.

stream = client.responses.create(
    preset="fast", input=question, stream=True
)
for event in stream:
    if event.type == "response.output_text.delta":
 print(event.delta, end="", flush=True)

Hasil terstruktur

Gunakan respons terstruktur jika kode di bagian hilir memerlukan bidang-bidang seperti jawaban, catatan_kepercayaan dan pertanyaan_tindak_lanjut. Simpan ID sumber sebagai kolom terpisah atau pertahankan keluaran Agent yang asli agar skema Anda tidak menyembunyikan bukti tersebut. Lakukan validasi skema tersebut pada kasus uji Anda sendiri sebelum menggunakannya dalam alur kerja.

Referensi migrasi tersebut tetap berlaku format_tanggapan dengan jenis: "json_schema" untuk keluaran terstruktur. Tentukan bidang-bidang yang wajib diisi dan larang penggunaan properti yang tidak diharapkan jika diperlukan. Pemeriksaan validitas skema berfokus pada bentuk, bukan kebenaran: ID sumber tetap harus dapat dipetakan ke catatan yang sebenarnya dikembalikan, dan label kepercayaan yang ditulis oleh model bukanlah ukuran akurasi.

Biaya API Perplexity dan kesalahan umum

Halaman harga resmi Perplexity, diperiksa pada 28 September 2026, memisahkan token model Agen dari pemanggilan alat. Berikut ini adalah biaya alat/pencarian dalam USD. Biaya tersebut cepat Pengaturan awal agen dan jenis_pencarian: "cepat" Terdapat berbagai pilihan konfigurasi; jangan menyimpulkan laju pencarian hanya berdasarkan nama preset.

Tindakan yang dapat ditagihUSD per sahamUSD per 1.000
Pencarian web standar agen$0.0025$2.50
Pemanggilan Fitur Pencarian Cepat$0.001$1.00
Pengambilan URL oleh agen$0.0005$0.50
Permintaan API Pencarian berhasil$0.005$5.00
API Pencarian dengan Fast Search$0.001$1.00
Tabel harga resmi Perplexity yang mencantumkan harga pemanggilan alat Agent dan harga API Pencarian per 1.000 permintaan.

Contoh: Biaya untuk 1.000 permintaan pencarian web standar ditambah 1.000 pengambilan URL $3.00 dalam biaya alat ($2.50 + $0.50), sebelum token model atau biaya lainnya. Itu adalah perkiraan beban kerja, bukan biaya yang diukur untuk tutorial ini. Satu permintaan Agen dapat memicu penggunaan beberapa alat. Jika tersedia, periksa penggunaan.biaya.biaya_total pada tanggapan yang telah diselesaikan.

GejalaHal yang perlu diperiksa terlebih dahulu
401 atau 403Nama variabel lingkungan, masa berlaku kunci, akses akun, dan apakah permintaan tersebut sampai ke titik akhir saat ini.
Kesalahan penagihan atau kuotaKredit API, pengaturan pembayaran, biaya model/alat, dan batas akun. Paket konsumen Perplexity tidak secara otomatis mencakup kredit API.
429Batas frekuensi dan perilaku percobaan ulang. Gunakan metode backoff eksponensial terbatas dan hindari mengulangi permintaan yang telah dibayar secara sembarangan.
Waktu habisPengaturan jalur jaringan, ukuran prompt, jumlah alat, dan batas waktu klien. Catat ID permintaan jika SDK menyediakannya, tetapi jangan pernah mencatat kuncinya.
Jawaban tersebut tidak memiliki sumber yang sesuaiPeriksa bahan mentahnya respons.keluaran, sintaks kutipan dan ID sumber; tandai jawaban tersebut sebagai "belum diverifikasi" daripada membuat tautan palsu.

API Pencarian menagih permintaan yang berhasil, termasuk yang tidak menghasilkan hasil apa pun; harga per permintaan tidak dikenakan biaya token tambahan. Biaya agen bergantung pada token model dan alat yang digunakan. Pastikan untuk memisahkan unit penagihan ini saat membandingkan alur kerja yang menghasilkan jawaban dengan alur kerja yang hanya melakukan pencarian.

Untuk perbandingan anggaran API, kami Panduan Biaya API Perplexity menambahkan informasi latar belakang, sementara halaman harga resmi tetap menjadi sumber informasi yang paling dapat diandalkan untuk tarif terkini.

Beralih dari tutorial Sonar yang lebih lama

Banyak hasil pencarian masih menampilkan tampilan Chat Completions versi lama. Panduan migrasi Agen menggunakan pemetaan konseptual langsung. Jika Anda membandingkan label model konsumen dengan preset API, panduan penjelasan kami mengenai apa yang digunakan LLM Perplexity memberikan konteks, tetapi tidak dapat menggantikan dokumentasi Agent API.

Pola Sonar yang lebih lamaPola API Agen
pesanmasukan
modelpengaturan bawaan
choices[0].message.contentteks_keluaran
Asumsi-asumsi lama mengenai susunan kutipanhasil_pencarian item keluaran dan pencocokan berdasarkan ID
Parameter pencarian pada permintaantools=[{"type":"web_search","filters":{...}}]

Baca siaran langsungnya gambaran umum migrasi dan rincian migrasi sebelum mengubah kode produksi. Pemetaan bawaan tersebut hanyalah titik awal, bukan jaminan bahwa model lama dan baru akan menghasilkan kualitas, latensi, atau biaya yang sama.

Pertanyaan yang Sering Diajukan

Apakah API Perplexity gratis?

API ini menggunakan sistem bayar sesuai penggunaan sesuai dengan panduan cepat dan dokumentasi harga yang berlaku saat ini. Jangan berasumsi bahwa langganan konsumen, masa uji coba, atau kredit promosi membuat setiap permintaan API menjadi gratis.

Apakah saya memerlukan Perplexity Pro untuk menggunakan API tersebut?

Akses API dan paket Pro untuk pengguna umum adalah dua produk yang terpisah. Buat kredensial API dan periksa tagihan API untuk akun pengembang yang akan Anda gunakan.

Haruskah saya menggunakan Agent API atau Search API?

Pilih "Agent" jika Anda menginginkan jawaban yang sudah jadi, lengkap, dan didukung sumber. Pilih "Search" jika aplikasi Anda harus menangani pemeringkatan, penyaringan, dan sintesis. Anda dapat menggabungkan "Search" dengan model Anda sendiri jika Anda membutuhkan kendali ketat atas setiap langkah pembangkitan.

Apakah saya bisa memanggil Perplexity dari JavaScript?

Ya. Gunakan contoh Node.js sisi server di atas atau SDK JavaScript resmi. Simpan kunci tersebut di server. Saat membaca JSON mentah, periksa item keluaran yang telah ditipe dan terapkan aturan pemetaan source-ID yang sama.

Apakah kutipan Perplexity dijamin akurat?

Tidak. Kutipan tersebut menunjukkan hasil pencarian mana yang menjadi acuan jawaban tersebut. Aplikasi Anda atau penilai tetap harus memeriksa keaktualan, keandalan, dan apakah halaman tersebut mendukung klaim yang dimaksud secara tepat.

Mengapa parser saya tidak menemukan sumber apa pun?

Periksa jenis item hasil mentah, pastikan pencarian web telah dijalankan, dan periksa apakah ekspresi reguler Anda sesuai dengan format kutipan yang telah ditentukan. Jika tidak ada penanda yang muncul, simpan jawaban tersebut sebagai "belum diverifikasi" dan selidiki permintaan tersebut, alih-alih menambahkan tautan yang hanya didasarkan pada tebakan.

Apakah GlobalGPT dapat menggantikan kunci API Perplexity?

GlobalGPT adalah ruang kerja AI serba guna untuk penggunaan AI sehari-hari. Langganan dan akses modelnya terpisah dari akun pengembang Perplexity, kunci API, dan kredit API; tutorial Python ini menggunakan akun pengembang tersebut.

Daftar periksa peluncuran yang praktis

  • Buat kunci sisi server dan konfirmasi penagihan API.
  • Jalankan versi minimal cepat Harap lakukan permintaan ini sebelum menambahkan filter atau memulai streaming.
  • Simpan respons lengkapnya, bukan hanya teks jawaban yang terlihat.
  • Cocokkan penanda kutipan dengan ID sumber yang diperoleh, dan tandai penanda yang tidak cocok.
  • Periksa halaman-halaman yang dikutip untuk memastikan adanya bukti pendukung klaim, keaktualan, dan URL ganda.
  • Periksa kembali dokumentasi mengenai Live Agent, harga, dan migrasi sebelum melakukan implementasi.

Kini Anda telah memiliki pola dasar untuk integrasi API Perplexity yang andal: ajukan pertanyaan yang spesifik, biarkan API Agen melakukan pencarian, simpan jawaban dan bukti secara bersamaan, serta pastikan setiap kutipan dapat diaudit. Dari sini, tambahkan fitur penyimpanan sementara (caching), upaya ulang (retries), dan aturan peninjauan Anda sendiri dalam alur kerja yang sama berdasarkan ID sumber.

Bagikan Postingan:

Postingan Terkait