Leitfäden
Protokolle und SDKs
Nutzen Sie die Protokolle OpenAI-compatible, Responses und Anthropic Messages, einschließlich Streaming, Tool Calls und Migration.
Die Model API spricht drei Wire-Protokolle. Behalten Sie Ihr vorhandenes SDK und ändern Sie Base-URL, API-Schlüssel und Modell-ID.
Endpoint-Matrix
| Protokoll | Endpoint | Typischer Client |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | OpenAI SDK, die meisten OpenAI-kompatiblen Tools |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | OpenAI SDK mit Funktionen der Responses API |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | Anthropic SDK, Claude Code, Claude-native Tools |
Base-URLs
| Client | Base-URL | Warum |
|---|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 | Das SDK hängt /chat/completions oder /responses an |
| Anthropic SDK | https://openapi.felo.ai/api | Das SDK hängt /v1/messages an; fügen Sie /v1 nicht selbst hinzu |
Beide Clients verwenden Ihren Felo API-Schlüssel als SDK-API-Schlüssel.
import OpenAI from "openai";
import Anthropic from "@anthropic-ai/sdk";
const openai = new OpenAI({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api/v1",
});
const anthropic = new Anthropic({
apiKey: process.env.FELO_API_KEY,
baseURL: "https://openapi.felo.ai/api",
});Protokoll wählen
- Verwenden Sie Chat Completions, wenn Ihr Tool oder SDK das vertraute
messages-Array undchoices[0].message.contenterwartet. - Verwenden Sie Responses, wenn Sie das Responses-Objekt von OpenAI,
input,instructionsoderoutput_textbenötigen. - Verwenden Sie Messages, wenn Sie ein Anthropic SDK oder ein Claude-natives Tool verwenden.
Prüfen Sie das Modell, bevor Sie davon ausgehen, dass jedes Protokoll funktioniert. Der Katalog stellt supported_protocols, supported_parameters und ein recommended_protocol bereit. recommended_protocol ist eine Client-Empfehlung, keine Einschränkung; ein Modell kann trotzdem ein anderes Protokoll akzeptieren.
Streaming
Setzen Sie stream: true, um Server-Sent Events zu erhalten.
- Chat Completions sendet Chat-Chunks im OpenAI-Stil.
- Responses sendet SSE-Ereignisse im Responses-Stil und endet mit einem abgeschlossenen Antwortobjekt.
- Messages sendet Ereignisse des Anthropic-Nachrichtenstreams.
Lesen Sie den Ereignisstream schrittweise und behandeln Sie das Abschlussereignis, bevor Sie die Verbindung schließen. Eine abgebrochene Verbindung ist nicht dasselbe wie eine abgeschlossene Antwort.
Tool-Aufrufe und strukturierte Ausgabe
Übergeben Sie tools in der nativen Form des Protokolls. Die Unterstützung variiert je nach Modell; prüfen Sie daher supported_parameters im Katalog, bevor Sie sich auf Tool-Aufrufe, den JSON-Modus oder strukturierte Ausgabe verlassen. Ein Modell kann das Feld akzeptieren und eine nicht unterstützte Option trotzdem ignorieren.
Kanal-Routing
Alle drei Endpoints akzeptieren X-Felo-Channel, wenn Sie einen Anbieter binden möchten. Die Header-Regeln und Beispiele finden Sie unter Kanäle und Anbieter-Routing.
Von einer offiziellen API migrieren
- Ändern Sie die Base-URL in die passende Felo-URL.
- Ersetzen Sie den API-Schlüssel durch
FELO_API_KEY. - Ersetzen Sie den Modellnamen durch die öffentliche Felo-Modell-ID.
- Behalten Sie die übrige Form der Anfrage bei.
| Symptom | Wahrscheinliche Ursache |
|---|---|
| 404 bei jeder Anfrage | Die Base-URL enthält bereits /v1, oder bei der Anthropic-Base-URL wurde /v1 manuell hinzugefügt |
| 401 | Der Felo-Schlüssel fehlt, oder der Client sendet noch den alten Schlüssel |
400 model-Fehler | Die Modell-ID ist nicht öffentlich oder unterstützt den gewählten Endpoint nicht |
| Messages-Anfrage abgelehnt | Das Messages-Protokoll erfordert max_tokens |
| Tool-Aufruf ignoriert | Das Modell gibt diese Funktion nicht an |