DémarrerCompatibilité OpenAI

Compatibilité OpenAI

La gateway implémente strictement le contrat openai.chat.completions. Les SDK officiels Python et Node.js fonctionnent sans modification de code applicatif : il suffit de pointer base_url sur notre domaine.

Principe#principe

Le format de requête et de réponse, les codes d'erreur, les messages Server-Sent Events sont identiques à ceux d'OpenAI. Votre application existante peut migrer vers 3GK en remplaçant deux variables d'environnement : OPENAI_BASE_URL et OPENAI_API_KEY.

Bibliothèques tierces. Tout outil qui se branche sur l'API OpenAI (LangChain, LlamaIndex, Continue, Aider, Cursor, etc.) est compatible. Il suffit que l'outil accepte un base_url personnalisable.

SDK officiels#sdks

Python
openai >= 1.40.0
SDK officiel OpenAI. Pointer base_url sur notre domaine.
Node.js / TypeScript
openai >= 4.50.0
SDK officiel OpenAI · typings inclus.
Go
github.com/sashabaranov/go-openai
SDK communautaire maintenu, compatible 3GK.

Exemple Python#exemple

openai>=1.40.0
from openai import OpenAI

client = OpenAI(
    base_url="https://ai.3gks.cloud/v1",
    api_key="sk-3gk-7XQp4kL8…",
)

response = client.chat.completions.create(
    model="3gk-llm",
    messages=[
        {"role": "system", "content": "Tu es un assistant pour courtier en assurance."},
        {"role": "user", "content": "Résume ce contrat : …"},
    ],
    temperature=0.3,
    max_tokens=512,
)

print(response.choices[0].message.content)

Différences à connaître#differences

  • Pas de fine-tuning, files, batch, assistants — nous exposons uniquement chat/completions et models.
  • Pas de génération d'image / audio en V1 publique.
  • Pas de quotas exposés dans les headers (X-RateLimit-* non émis) — la modération se fait au niveau infrastructure.
  • Extension propriétaire : un champ effort dans le body règle l'effort de raisonnement chain-of-thought de 3gk-llm (paliers off / low / medium / high). Raisonnement opt-in : défaut off. Le paramètre standard reasoning_effort est accepté comme alias. Voir Chat completions.
  • Extension propriétaire : un champ background: true dans le body de chat/completions exécute la requête en tâche de fond (202 + job_…, résultat par polling GET /v1/jobs/{id}) — indispensable au-delà de ~100 s de génération non streamée. Voir Jobs asynchrones.