Menyambungkan aplikasi anda

Pada halaman ini

Titik akhir Model Router adalah serasi dengan OpenAI — halakan mana-mana SDK OpenAI, rangka kerja atau alat yang menyokong BYOK ke URL asas Performance Hub, sahkan dengan salah satu kunci API anda, dan ia terus berfungsi. Halaman ini ialah panduan mula pantas integrasi.

Perkara yang anda perlukan

  1. Kunci API. Anda perlu menjadi Organisation Administrator untuk menciptanya. Cipta kunci di bawah Tetapan (ikon gear) → Service Access & API Keys → Create key. Kunci bermula dengan phk_ dan rahsianya ditunjukkan sekali sahaja. Lihat Kunci API.
  2. URL asas. Ditunjukkan dalam kad Connecting to the API pada halaman tetapan yang sama:

Kad Connecting to the APIKad Connecting to the API

Rajah 1: Connecting to the API: URL asas dan contoh permintaan sedia salin-tampal

https://app.performancehub.co/ai/v1

URL asas yang tepat untuk persekitaran anda sentiasa ditunjukkan dalam modul — salin dari sana dan bukannya dari halaman ini.

Pengesahan

Hantar kunci anda sebagai token pembawa (bearer token) pada setiap permintaan:

Authorization: Bearer phk_your_key_here

Layan kunci seperti kata laluan. Jika ia bocor, gunakan Rotate (rahsia baharu dikeluarkan dan yang lama berhenti berfungsi serta-merta) atau Revoke daripada senarai 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' untuk membenarkan penghala memilih model terbaik bagi setiap permintaan, atau sebarang ID model yang didayakan untuk kemudahan 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);

Menyenaraikan model

GET /v1/models mengembalikan setiap model yang didayakan untuk kemudahan anda (mematuhi sebarang sekatan model setiap kunci). Penyenaraian model berfungsi walaupun baki anda sifar, jadi integrasi boleh meneroka katalog sebelum akaun dibiayai.

curl https://app.performancehub.co/ai/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

Gunakan mana-mana ID model yang dikembalikan dalam medan model, atau gunakan auto untuk membiarkan Auto Router memilih model terbaik bagi setiap permintaan.

Penstriman

Penstriman berfungsi dengan cara OpenAI yang standard — tetapkan "stream": true dan gunakan cebisan acara yang dihantar pelayan (server-sent events). Contoh SDK di atas menyokongnya melalui API penstriman biasa mereka.

Model sandaran

Anda boleh membekalkan rantaian sandaran mengikut urutan supaya jika model utama gagal, permintaan dicuba semula pada model seterusnya:

  • models: ["model-a", "model-b", "model-c"] — senarai penuh mengikut urutan; entri pertama ialah model utama.
  • atau model: "model-a" serta fallbacks: ["model-b", "model-c"] — sandaran yang dicuba selepas model utama.

Calon sandaran ditapis kepada model yang dibenarkan untuk digunakan oleh kunci anda.

Respons ralat

Ralat menggunakan sampul ralat OpenAI yang standard: { "error": { "message", "type", "code" } }.

HTTPtypecodeMaksudTindakan
401invalid_request_errorinvalid_api_keyKunci API tiada, atau kelayakan perkhidmatan yang disambungkan tidak sah.Semak pengepala Authorization: Bearer.
401invalid_request_error—Kunci API tidak dikenali atau telah dibatalkan ("Invalid API key").Aktifkan semula kunci atau cipta kunci baharu.
402insufficient_quotainsufficient_creditsBaki prabayar telah habis (atau, bagi perkhidmatan yang disambungkan, kemudahan tidak didayakan).Tambah nilai (atau dayakan tambah nilai automatik).
402insufficient_quotabudget_exceededHad perbelanjaan telah dicapai — seluruh kemudahan, atau pada kunci atau perkhidmatan yang disambungkan ini. Mesej menyatakan tetingkap yang terlibat dan, bagi had harian/bulanan, masa tepat ia ditetapkan semula mengikut zon waktu kemudahan. Badan respons juga mengandungi medan window, resetsAt, timezone dan docsUrl.Tunggu penetapan semula, naikkan had, atau tetapkan semula had keras.
403invalid_request_error—"Model Router is not enabled for this facility" (kunci API), atau "Facility has no provisioned inference key" (kunci tidak mempunyai kunci inferens sandaran).Dayakan Model Router untuk kemudahan (lihat Bermula). Jika ia sudah didayakan, putar kunci atau cipta kunci baharu.
403invalid_request_errorcontent_policy_violation"Request blocked by content policy" — penapis kandungan mod sekat atau perisai suntikan gesaan sepadan dengan gesaan.Semak tetapan Pagar keselamatan.
429——Had kadar melebihi (permintaan/min atau token/min yang ditetapkan pada kunci anda).Tunggu sebentar dan cuba semula; naikkan had kadar kunci jika perlu.
502server_error—Perkhidmatan inferens huluan tidak tersedia buat sementara waktu.Cuba semula dengan selang masa yang semakin panjang.

Kedua-dua ralat 402 mengandungi medan docsUrl, dan mesejnya berakhir dengan pautan ke dokumentasi Performance Hub.

Kendalikan 402 dengan baik dalam integrasi anda — ia ialah isyarat yang dijangka apabila akaun kehabisan kredit atau mencapai bajet, bukan kerosakan.

Amalan yang baik

  • Satu kunci bagi setiap sistem. Berikan setiap integrasi kuncinya sendiri yang berlabel supaya penggunaan boleh diatribusikan dalam Activity dan Logs, dan kebocoran hanya memerlukan satu kunci diputar.
  • Hadkan setiap kunci. Tetapkan had perbelanjaan dan had kadar setiap kunci yang sesuai dengan sistem; lihat Kunci API.
  • Utamakan auto melainkan anda memerlukan model tertentu — anda mendapat model yang pantas dan murah untuk kerja mudah dan model paling berkeupayaan hanya apabila sesuatu tugas memerlukannya.
  • Pantau tab Logs semasa integrasi — setiap permintaan dipaparkan dengan status, token dan kosnya, yang mempercepat penyahpepijatan isu integrasi. Lihat Aktiviti & log.