Developer guide
Mit API-Schlüssel authentifizieren
Header, in den der API-Schlüssel eingefügt wird, und die in der SDK festzulegende base URL
Auf dieser Seite wird beschrieben, wie Sie sich am CLEVI-Gateway mit einem API-Schlüssel authentifizieren.
Sowohl der OpenAI-kompatible Pfad als auch der Anthropic-kompatible Pfad werden mit einem einzigen Schlüssel authentifiziert.
Der zulässige Header für den Schlüssel und die in der SDK festzulegende base URL unterscheiden sich je nach Spezifikation.
Authentifizierungs-Header
Beide kompatiblen Spezifikationen authentifizieren sich mit einem einzigen API-Schlüssel. Der Schlüssel wird auf der API-Schlüssel-Seite der Konsole ausgestellt; auf derselben Seite können Sie ihn widerrufen und seinen Nutzungsumfang verwalten.
| Header | OpenAI-kompatibel | Anthropic-kompatibel |
|---|---|---|
| X-API-Key: <키> | Zulässig | Zulässig |
| Authorization: Bearer <키> | Zulässig | Zulässig |
| Authorization: <키> (ohne Bearer) | Abgelehnt | Zulässig |
Bei Header-Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Auch x-api-key, das von der Anthropic SDK gesendet wird, funktioniert unverändert.
base URL
Die bisher verwendete SDK funktioniert unverändert, wenn Sie lediglich die base URL in die unten angegebene Adresse ändern. Die beiden Adressen unterscheiden sich darin, ob sie /v1 enthalten.
| Spezifikation | base URL | Pfadregel |
|---|---|---|
| OpenAI-kompatibel | https://platform.clevi.net/api/v2/aiservice/openai/v1 | Fügen Sie /v1 in die base URL ein. |
| Anthropic-kompatibel | https://platform.clevi.net/api/v2/aiservice/anthropic | Die Anthropic SDK fügt /v1 selbst zum Pfad hinzu, daher endet die base URL vor /v1. |
Authentifizierung überprüfen
Wenn Sie den Schlüssel und die base URL eintragen und die Modellliste abrufen, können Sie sofort feststellen, ob die Authentifizierung erfolgreich war. Die folgenden drei Beispiele führen dieselbe Abfrage mit curl, der OpenAI SDK und der Anthropic SDK durch.
curl https://platform.clevi.net/api/v2/aiservice/openai/v1/models \
-H "X-API-Key: sk-..."
curl https://platform.clevi.net/api/v2/aiservice/anthropic/v1/models \
-H "Authorization: Bearer sk-..." \
-H "anthropic-version: 2023-06-01"from openai import OpenAI
client = OpenAI(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/openai/v1",
)
for model in client.models.list():
print(model.id)from anthropic import Anthropic
client = Anthropic(
api_key="sk-...",
base_url="https://platform.clevi.net/api/v2/aiservice/anthropic",
)
for model in client.models.list(limit=20).data:
print(model.id)Anstelle von sk-... fügen Sie den auf der API-Schlüssel-Seite ausgestellten API-Schlüssel ein.
- Wenn die Antwort 200 lautet, war die Authentifizierung erfolgreich. data enthält die Liste der Modelle, die mit diesem Schlüssel aufgerufen werden können.
- Wenn die Antwort 401 lautet, prüfen Sie die Angaben in der Reihenfolge des Abschnitts „Authentifizierung fehlgeschlagen“ weiter unten.
Gemeinsam verwendete Header
Alle Angaben sind optional. Für die Fehlerverfolgung empfiehlt es sich jedoch, X-Request-Id anzugeben.
| Header | Verwendungszweck | Wenn weggelassen |
|---|---|---|
| X-Request-Id | Kennung zur Anforderungsverfolgung. Bei Anthropic-kompatiblen Antworten wird sie als request-id-Header zurückgegeben. | Wird vom Server ausgestellt. |
| X-Region-Code | Aufrufregion | global. |
| X-Product-Sku (auch als product_sku in der Abfrage möglich) | Gibt die für die Abrechnung zu verwendende Product SKU direkt an. Der Header hat Vorrang vor der Abfrage und wird hauptsächlich für Sprach- und Voice-Pfade verwendet. | Für Voice-Pfade erforderlich. Bei audio/speech und audio/transcriptions wird das Product über model im Body ausgewählt. |
| anthropic-version / anthropic-beta | Wird im Anthropic-kompatiblen Pfad unverändert weitergeleitet. | Die Version ist 2023-06-01. |
Authentifizierungsfehler
Wenn kein Schlüssel oder ein abgelaufener bzw. widerrufener Schlüssel gesendet wird, lautet die Antwort 401. Wenn im OpenAI-kompatiblen Pfad ohne Schlüssel aufgerufen wird, wird der folgende Body zurückgegeben. Im Anthropic-kompatiblen Pfad lautet error.type authentication_error.
{
"error": {
"message": "API key is required.",
"type": "invalid_request_error"
}
}- Überprüfen Sie den Schlüsselstatus auf der API-Schlüsselseite. Stellen Sie einen neuen Schlüssel aus, wenn der Schlüssel abgelaufen oder widerrufen ist.
- Überprüfen Sie, ob der Header X-API-Key oder Authorization heißt.
- Wenn Sie im OpenAI-kompatiblen Pfad Authorization verwenden, überprüfen Sie das Präfix Bearer.
