Connecter un SDK OpenAI

Connecter un SDK OpenAI

Diriger un client compatible OpenAI vers la passerelle : mode endpoint pour inspection complète ou mode proxy.

Deux options pour connecter les clients compatibles OpenAI :

  1. Endpoint mode (recommandé) : URL de base /v1 de la passerelle, inspection complète.
  2. Proxy mode : passerelle configurée comme proxy HTTP de transfert.

Endpoint mode#

Tout SDK compatible OpenAI fonctionne, seule l’URL de base change.

Python#

from openai import OpenAI
 
client = OpenAI(
    api_key="<provider-api-key>",  # transmis au backend
    base_url="http://<gateway-host>:443/v1",  # AI-FW gateway
    default_headers={"X-Agent-ID": "my-agent-01"},
)
 
resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

Node.js#

import OpenAI from "openai";
 
const client = new OpenAI({
  apiKey: "<provider-api-key>",
  baseURL: "http://<gateway-host>:443/v1",
  defaultHeaders: { "X-Agent-ID": "my-agent-01" },
});
 
const resp = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(resp.choices[0].message.content);

curl#

curl http://<gateway-host>:443/v1/chat/completions   -H "Content-Type: application/json"   -H "X-Agent-ID: my-agent-01"   -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello!"}]}'

En-têtes#

En-têteFonction
Authorization: Bearer <key>Authentification client et/ou clé upstream selon le mode.
X-Agent-IDIdentité agent pour suivi, routage et risque.
X-User-IdIdentité utilisateur ; claims sub du token privilégiées.
x-aifw-cache-refreshIgnore lecture cache, autorise écriture.

Proxy mode#

curl --proxy http://<gateway-host>:443 https://api.openai.com/v1/chat/completions   -H "Content-Type: application/json"   -d '{"model":"gpt-4o","messages":[{"role":"user","content":"hi"}]}'
Proxy modeComportementInspection
HTTP absolute-formNormalisé en /v1/*, pipeline complet.Complète
CONNECT tunnel (HTTPS)Tunnel TCP vers un backend autorisé.Métadonnées uniquement ; TLS chiffre de bout en bout.

La CONNECT allow-list autorise l’hôte backend par défaut, backends enregistrés et hôtes ajoutés dans Settings -> Forward Proxy -> Allowed Tunnel Hosts. Les autres reçoivent 403. Le proxy peut être désactivé.

Le tunnel HTTPS n’est pas inspecté

Utilisez endpoint mode pour examiner le contenu. CONNECT tunnel est chiffré de bout en bout ; seules les métadonnées sont journalisées.

Streaming#

stream: true suit le comportement OpenAI. buffered inspecte la réponse complète avant livraison ; stream transmet les tokens et termine le flux en cas de violation.

Dépannage#

  • 401 : vérifiez mode d’authentification et API key.
  • model_not_registered : enregistrez le modèle ou désactivez Reject Unregistered Models.
  • model_disabled : activez le modèle dans Model Inventory.
  • Pas d’inspection : utilisez endpoint mode, pas CONNECT tunnel.

Pour aller plus loin#

Pour aller plus loin