התחלה
אימות
מפתח ה-API נשלח כ-Bearer token או בכותרת x-api-key. מפתחות שייכים לארגון ויכולים לכלול תקציבים ומגבלות מודלים.
כל בקשה צריכה מפתח API. אפשר לשלוח אותו באחת משתי כותרות:
| כותרת | פורמט |
|---|---|
Authorization | Bearer nh_live_... |
x-api-key | nh_live_... (מה שה-SDK של Anthropic שולח) |
curl https://api.notholy.com/v1/models -H "x-api-key: $NOTHOLY_API_KEY"מפתחות
מפתחות נוצרים בקונסולה, בעמוד מפתחות API. כל מפתח שייך לארגון ולסביבת עבודה. הסוד מוצג פעם אחת ונשמר רק כ-hash.
אפשר להגדיר למפתח:
- תקציב כולל ותקציב יומי בדולרים. כשמה שנשאר מהתקציב לא מכסה בקשה, מגבלת הפלט שלה מצטמצמת בהתאם, ומתחת ל-16 טוקנים הבקשה מקבלת
402 key_budget_exceeded. - רשימת מודלים מותרים. בקשה למודל אחר מקבלת
403 key_not_allowed. - תאריך תפוגה.
- רשימת כתובות IP או טווחי CIDR מורשים. כתובות אחרות מקבלות
403 key_not_allowed.
ביטול מפתח נכנס לתוקף בבקשה הבאה.
מפתחות בקוד
יש לקרוא את המפתח ממשתני הסביבה, ולא לעשות לו commit. אם מפתח דלף, יש לבטל אותו בקונסולה וליצור מפתח חדש.
אין לשים מפתח בקוד צד לקוח. את ה-API קוראים מהשרת או מהטרמינל, והמפתחות נשמרים במשתני סביבה או במאגר סודות.
import os
from openai import OpenAI
client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])
print([m.id for m in client.models.list()])שגיאות
| סטטוס | קוד | משמעות |
|---|---|---|
| 401 | invalid_api_key | מפתח חסר, שגוי, מבוטל או שפג תוקפו |
| 403 | key_not_allowed | המפתח לא מורשה להשתמש במודל הזה, או שאי אפשר להשתמש בו מכתובת ה-IP הזו |
| 403 | account_suspended | הארגון מושעה. יש לפנות לתמיכה |
| 403 | consent_required | ההסכמה לעיבוד במדינות שותפות נדחתה או נמשכה בחשבון שיצר את המפתח. אפשר לאשר אותה בקונסולה |