EU GPT logo
EU GPT

Public preview — Deze API is in public preview. Endpoints, schemas en limieten kunnen wijzigen vóór general availability.

API

De OpenAI SDK gebruiken

Wijs de officiële `openai`-SDK naar EU GPT en hergebruik je bestaande code.

Er is geen EU GPT-specifieke SDK. De officiële OpenAI-SDK’s spreken de Responses API al, en EU GPT implementeert hem — dus configuratie is één regel.

Installeer de SDK#

npm install openai
bun add openai
pip install openai
uv add openai

Configureer de base URL#

Override baseURL (JS) / base_url (Python) om naar de EU GPT-omgeving te wijzen. Gebruik je EU GPT API-key — geen OpenAI-key.

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.EUGPT_API_KEY,
  baseURL: "https://chat.eugpt.ai/v1",
});
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["EUGPT_API_KEY"],
    base_url="https://chat.eugpt.ai/v1",
)

Dat is de volledige configuratie. Elke call naar client.responses.create gaat nu naar EU GPT.

Wat werkt#

De responses-API van de SDK wordt volledig ondersteund:

  • client.responses.create(...) — zowel stream: true als stream: false.
  • Het async iterator-patroon in JavaScript (for await (const event of stream)).
  • Het Python generator-patroon (for event in stream:).
  • Getypeerde events — de SDK parseert de data:-JSON voor je.

Wat (nog) niet werkt#

De volgende surfaces zijn onderdeel van de OpenAI-SDK maar vandaag niet geïmplementeerd in EU GPT:

  • client.chat.completions.* — gebruik in plaats daarvan client.responses.*.
  • client.assistants.*, client.threads.* — de Assistants API is een aparte productlijn.
  • client.embeddings.* — embeddings zijn een intern RAG-concern; geen publiek endpoint.
  • client.images.*, client.audio.* — beeld- en audiogeneratie zijn niet publiek beschikbaar.
  • previous_response_id op responses.create — gebruik in plaats daarvan conversation_id.

De SDK-call faalt met een 404 tegen EU GPT als je een niet-ondersteunde surface aanroept.

Aanbevolen patronen#

Een herbruikbare client#

Maak de client één keer aan bij module load. De SDK hergebruikt HTTP-connecties.

// lib/eugpt.js
import OpenAI from "openai";

export const eugpt = new OpenAI({
  apiKey: process.env.EUGPT_API_KEY,
  baseURL: process.env.EUGPT_BASE_URL ?? "https://chat.eugpt.ai/v1",
});
# app/eugpt.py
import os
from openai import OpenAI

eugpt = OpenAI(
    api_key=os.environ["EUGPT_API_KEY"],
    base_url=os.getenv("EUGPT_BASE_URL", "https://chat.eugpt.ai/v1"),
)

De base URL parameteriseren laat je CI tegen staging draaien zonder code-changes.

Providers omschakelen#

Als je code al OpenAI gebruikt en je EU GPT ernaast wilt toevoegen, instantiate je twee clients:

import OpenAI from "openai";

const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const eugpt = new OpenAI({
  apiKey: process.env.EUGPT_API_KEY,
  baseURL: "https://chat.eugpt.ai/v1",
});

// Route per call:
const client = featureFlag("use-eu-gpt", user) ? eugpt : openai;

Veelvoorkomende valkuilen#

  • /v1 vergeten: de base URL moet eindigen op /v1, niet op /v1/ en niet kaal https://chat.eugpt.ai. De SDK appendt responses eraan.
  • OpenAI-key vs EU GPT-key: keys zijn niet uitwisselbaar. EU GPT-keys starten met eugpt_.
  • Chat Completions aanroepen: client.chat.completions.create retourneert 404. Gebruik client.responses.create.
  • Een modelnaam pinnen: modelselectie gebeurt automatisch op EU GPT. Geef altijd "auto" mee — elke concrete modelnaam (van OpenAI of van EU GPT) wordt geaccepteerd voor SDK-compatibiliteit maar genegeerd, dus pinnen heeft geen effect. De response rapporteert het model dat draaide.