Guides
Protocoles et SDK
Utilisez les protocoles OpenAI-compatible, Responses et Anthropic Messages, y compris le streaming, les appels d'outils et la migration.
Le Model API parle trois protocoles réseau. Conservez votre SDK existant et changez l'URL de base, la clé API et l'ID de modèle.
Matrice des endpoints
| Protocole | Endpoint | Client typique |
|---|---|---|
| OpenAI Chat Completions | POST https://openapi.felo.ai/api/v1/chat/completions | SDK OpenAI, la plupart des outils compatibles OpenAI |
| OpenAI Responses | POST https://openapi.felo.ai/api/v1/responses | SDK OpenAI avec les fonctionnalités de l'API Responses |
| Anthropic Messages | POST https://openapi.felo.ai/api/v1/messages | SDK Anthropic, Claude Code, outils natifs Claude |
URL de base
| Client | URL de base | Pourquoi |
|---|---|---|
| SDK OpenAI | https://openapi.felo.ai/api/v1 | Le SDK ajoute /chat/completions ou /responses |
| SDK Anthropic | https://openapi.felo.ai/api | Le SDK ajoute /v1/messages ; n'ajoutez pas /v1 vous-même |
Les deux clients utilisent votre clé API Felo comme clé API du SDK.
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",
});Choisir un protocole
- Utilisez Chat Completions lorsque votre outil ou SDK attend le tableau
messageshabituel etchoices[0].message.content. - Utilisez Responses lorsque vous avez besoin de l'objet Responses d'OpenAI, de
input,instructionsououtput_text. - Utilisez Messages lorsque vous utilisez un SDK Anthropic ou un outil natif Claude.
Vérifiez le modèle avant de supposer que tous les protocoles fonctionnent. Le catalogue expose supported_protocols, supported_parameters et un recommended_protocol. recommended_protocol est une recommandation destinée au client, pas une restriction ; un modèle peut tout de même accepter un autre protocole.
Streaming
Définissez stream: true pour recevoir des événements Server-Sent.
- Chat Completions émet des chunks de chat au format OpenAI.
- Responses émet des événements SSE Responses et se termine par un objet de réponse terminé.
- Messages émet des événements de flux de messages Anthropic.
Lisez le flux d'événements de manière incrémentale et traitez l'événement terminal avant de fermer la connexion. Une connexion interrompue n'est pas équivalente à une réponse terminée.
Appels d'outils et sortie structurée
Passez tools dans la forme native du protocole. La prise en charge varie selon le modèle : vérifiez supported_parameters dans le catalogue avant de compter sur les appels d'outils, le mode JSON ou la sortie structurée. Un modèle peut accepter le champ tout en ignorant une option non prise en charge.
Routage par canal
Les trois endpoints acceptent X-Felo-Channel lorsque vous devez épingler un fournisseur. Consultez Canaux et routage fournisseur pour les règles d'en-tête et des exemples.
Migrer depuis une API officielle
- Changez l'URL de base pour l'URL Felo correspondante.
- Remplacez la clé API par
FELO_API_KEY. - Remplacez le nom du modèle par l'ID de modèle Felo public.
- Conservez le reste de la forme de la requête.
| Symptôme | Cause probable |
|---|---|
| 404 sur chaque requête | L'URL de base inclut déjà /v1, ou /v1 a été ajouté manuellement à l'URL de base Anthropic |
| 401 | La clé Felo est manquante ou le client envoie encore l'ancienne clé |
Erreur 400 sur model | L'ID de modèle n'est pas public ou ne prend pas en charge l'endpoint choisi |
| Requête Messages rejetée | max_tokens est requis par le protocole Messages |
| Appel d'outil ignoré | Le modèle n'annonce pas cette capacité |