Menghubungkan aplikasi Anda
Di halaman ini
Endpoint Model Router kompatibel dengan OpenAI — arahkan SDK OpenAI, framework, atau alat apa pun yang mendukung BYOK ke URL dasar Performance Hub, lakukan autentikasi dengan salah satu kunci API Anda, dan semuanya langsung berfungsi. Halaman ini adalah panduan cepat integrasi.
Yang Anda perlukan
- Kunci API. Anda harus menjadi Organisation Administrator untuk membuatnya. Buat di Settings (roda gigi) → Service Access & API Keys → Create key. Kunci diawali dengan
phk_dan rahasianya hanya ditampilkan satu kali. Lihat Kunci API. - URL dasar. Ditampilkan di kartu Connecting to the API pada halaman pengaturan yang sama:


Gambar 1: Connecting to the API: URL dasar dan contoh permintaan siap salin-tempel
https://app.performancehub.co/ai/v1
URL dasar yang tepat untuk lingkungan Anda selalu ditampilkan di modul — salin dari sana, bukan dari halaman ini.
Autentikasi
Kirim kunci Anda sebagai bearer token pada setiap permintaan:
Authorization: Bearer phk_your_key_here
Perlakukan kunci seperti kata sandi. Jika bocor, lakukan Rotate (rahasia baru diterbitkan dan yang lama langsung berhenti berfungsi) atau Revoke dari daftar kunci API.
Permintaan pertama Anda
curl
curl https://app.performancehub.co/ai/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "auto", "messages": [{"role": "user", "content": "Hello"}]}'
"Gunakan model 'auto' agar router memilih model terbaik per permintaan, atau ID model apa pun yang diaktifkan untuk fasilitas Anda."
Python (SDK OpenAI)
from openai import OpenAI
client = OpenAI(
base_url="https://app.performancehub.co/ai/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="auto",
messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)
TypeScript / Node (SDK OpenAI)
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://app.performancehub.co/ai/v1',
apiKey: process.env.PH_API_KEY,
});
const response = await client.chat.completions.create({
model: 'auto',
messages: [{ role: 'user', content: 'Hello' }],
});
console.log(response.choices[0].message.content);
Mencantumkan model
GET /v1/models mengembalikan setiap model yang diaktifkan untuk fasilitas Anda (dengan mematuhi pembatasan model per kunci). Daftar model tetap berfungsi bahkan saat saldo Anda nol, sehingga integrasi dapat menemukan katalog sebelum akun diisi dana.
curl https://app.performancehub.co/ai/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
Gunakan ID model apa pun yang dikembalikan di kolom model, atau gunakan auto agar Auto Router memilih model terbaik untuk setiap permintaan.
Streaming
Streaming bekerja dengan cara standar OpenAI — tetapkan "stream": true dan proses potongan server-sent event. Contoh SDK di atas mendukungnya melalui API streaming yang biasa.
Model cadangan
Anda dapat menyediakan rantai cadangan berurutan sehingga jika model utama gagal, permintaan akan dicoba ulang pada model berikutnya:
models: ["model-a", "model-b", "model-c"]— daftar berurutan lengkap; entri pertama adalah model utama.- atau
model: "model-a"ditambahfallbacks: ["model-b", "model-c"]— cadangan yang dicoba setelah model utama.
Kandidat cadangan difilter ke model yang diizinkan untuk kunci Anda.
Respons kesalahan
Kesalahan menggunakan format kesalahan standar OpenAI: { "error": { "message", "type", "code" } }.
| HTTP | type | code | Arti | Yang perlu dilakukan |
|---|---|---|---|---|
| 401 | invalid_request_error | invalid_api_key | Kunci API tidak ada, atau kredensial layanan yang terhubung tidak valid. | Periksa header Authorization: Bearer. |
| 401 | invalid_request_error | — | Kunci API tidak dikenal atau telah dicabut ("Invalid API key"). | Aktifkan kembali kunci atau buat kunci baru. |
| 402 | insufficient_quota | insufficient_credits | Saldo prabayar habis (atau, untuk layanan yang terhubung, fasilitas belum diaktifkan). | Isi ulang saldo (atau aktifkan isi ulang otomatis). |
| 402 | insufficient_quota | budget_exceeded | Batas pengeluaran tercapai — untuk seluruh fasilitas, atau pada kunci atau layanan yang terhubung ini. Pesan menyebutkan jendela waktu mana dan, untuk batas harian/bulanan, kapan tepatnya batas direset menurut zona waktu fasilitas. Body juga memuat kolom window, resetsAt, timezone, dan docsUrl. | Tunggu hingga reset, naikkan batas, atau reset batas maksimum. |
| 403 | invalid_request_error | — | "Model Router is not enabled for this facility" (kunci API), atau "Facility has no provisioned inference key" (kunci tidak memiliki kunci inferensi pendukung). | Aktifkan Model Router untuk fasilitas (lihat Memulai). Jika sudah diaktifkan, rotasi kunci atau buat kunci baru. |
| 403 | invalid_request_error | content_policy_violation | "Request blocked by content policy" — filter konten mode blokir atau perisai injeksi prompt cocok dengan prompt. | Tinjau pengaturan Guardrails. |
| 429 | — | — | Batas laju terlampaui (permintaan/menit atau token/menit yang ditetapkan pada kunci Anda). | Tunda lalu coba lagi; naikkan batas laju kunci jika diperlukan. |
| 502 | server_error | — | Layanan inferensi upstream sementara tidak tersedia. | Coba lagi dengan jeda bertahap (backoff). |
Kedua kesalahan 402 menyertakan kolom docsUrl, dan pesannya diakhiri dengan tautan ke dokumentasi Performance Hub.
Tangani 402 dengan baik di integrasi Anda — ini adalah sinyal yang wajar saat akun kehabisan kredit atau mencapai anggaran, bukan kesalahan sistem.
Praktik yang baik
- Satu kunci per sistem. Berikan setiap integrasi kunci berlabel tersendiri agar penggunaan dapat diatribusikan di Activity dan Logs, dan kebocoran hanya mengharuskan rotasi satu kunci.
- Batasi setiap kunci. Tetapkan batas pengeluaran dan batas laju per kunci yang sesuai dengan sistem; lihat Kunci API.
- Utamakan
autokecuali Anda memerlukan model tertentu — Anda mendapatkan model yang cepat dan murah untuk pekerjaan sederhana, dan model terkuat hanya saat tugas membutuhkannya. - Pantau tab Logs selama integrasi — setiap permintaan muncul dengan status, token, dan biayanya, sehingga masalah integrasi dapat di-debug dengan cepat. Lihat Aktivitas & log.