Revenir au SDK OpenAI brut
Le protocole est iso-OpenAI : vous pouvez vous passer du SDK et pointer le client officiel OpenAI sur Fleeex.
@fleeex/sdk n'est jamais un verrou. Le protocole est iso-OpenAI : vous pouvez donc vous
passer complètement du paquet et pointer le SDK OpenAI officiel sur l'URL de base Fleeex.
Chaque requête est identique, à l'octet près, à ce qu'envoie @fleeex/sdk, et un test de
non-régression le vérifie précisément.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FLEEEX_API_KEY!,
baseURL: "https://api.fleeex.dev/v1", // noter le /v1 final
defaultHeaders: { "x-fleeex-user": "user-123" },
});
const completion = await client.chat.completions.create({
model: "nova-lite",
messages: [{ role: "user", content: "Bonjour !" }],
});Ce que vous abandonnez
Par rapport à @fleeex/sdk, passer au client brut signifie :
-
Vous gérez la connexion.
baseURLdoit inclure/v1, et vous posez vous-mêmex-fleeex-usersur chaque requête. -
Le
402est plus difficile à exploiter. Il arrive sous forme d'OpenAI.APIError(status === 402). Le lien de rechargement est dans le corps de la réponse, mais le SDK OpenAI n'expose que le champerrordu corps :topupUrln'est donc pas facilement accessible.@fleeex/sdkle remonte dansPaymentRequiredError.topupUrlpour vous. -
Pas d'aides de facturation.
getBalance(),getConnection()etgetUsageSummary()ne font pas partie du SDK OpenAI : appelez les routes vous-même, avec la même clé bearer et le mêmex-fleeex-user. Elles se trouvent à la racine, et non sous/v1:Aide Route getBalance()GET /balancegetConnection()POST /connect, oùredirectUrivoyage dans le corps pour rester hors des journaux d'accèsgetUsageSummary()GET /usage/summary
Vous n'abandonnez rien du côté des modèles : models.list() et models.retrieve() sont
de simples appels OpenAI qui passent déjà par ce client. Voir
Choisir un modèle.
base_url en un coup d'œil
| Client | base_url | x-fleeex-user |
|---|---|---|
@fleeex/sdk (option baseURL) | racine, sans /v1 (par défaut https://api.fleeex.dev) | posé pour vous à partir de userId |
| SDK OpenAI brut | avec /v1 (https://api.fleeex.dev/v1) | vous le posez vous-même |
Tout le reste (corps des requêtes, streaming, forme des réponses) est identique.