---
title: "OpenAI SDK mit KI-Modellen aus der EU nutzen"
description: "Richten Sie das offizielle OpenAI-SDK für Python oder JavaScript per base_url auf inference.eu aus und nutzen Sie Open-Weight-Modelle aus der EU."
canonical: "https://inference.eu/de/integrationen/openai-sdk/"
language: "de"
---

SDKs · OpenAI SDK (Python and JavaScript)

# Das OpenAI-SDK mit Open-Source-Modellen aus der EU nutzen

Die offiziellen OpenAI-SDKs für Python und JavaScript funktionieren mit jeder OpenAI-kompatiblen API. Setzen Sie die Basis-URL auf inference.eu, und Ihr bestehender Code ruft Open-Weight-Modelle in europäischen Rechenzentren auf, mit denselben Methoden, Typen, Streams und Tool-Aufrufen wie bisher.

[Vertrieb kontaktieren](https://inference.eu/de/kontakt/)[Einrichtung](#setup)

1.  01API-Format: OpenAI
2.  02Rechenzentren in der EU
3.  03Durch einen AV-Vertrag abgedeckt

## In wenigen Minuten eingerichtet

1.  1

    Erstellen Sie in Ihrem inference.eu-Konto einen API-Schlüssel und speichern Sie ihn als `INFERENCE_EU_API_KEY`.

2.  2

    Installieren Sie das SDK mit `pip install openai` oder `npm install openai`.

3.  3

    Erzeugen Sie den Client mit `base_url` (Python) oder `baseURL` (JavaScript) auf der Basis-URL von inference.eu und `api_key` aus der Umgebung.

4.  4

    Ersetzen Sie den Modellnamen durch eine Modell-ID von inference.eu, etwa `gpt-oss-120b`.

5.  5

    Prüfen Sie die Verbindung mit einer kurzen Chat-Completion und aktivieren Sie danach bei Bedarf Streaming oder Tools.

python

```
import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.inference.eu/v1",
    api_key=os.environ["INFERENCE_EU_API_KEY"],
)

response = client.chat.completions.create(
    model="gpt-oss-120b",
    messages=[{"role": "user", "content": "Summarise GDPR Article 28 in two sentences."}],
)
print(response.choices[0].message.content)

# JavaScript / TypeScript:
# const client = new OpenAI({ baseURL: "https://api.inference.eu/v1", apiKey: process.env.INFERENCE_EU_API_KEY });
```

## Warum das OpenAI-SDK mit inference.eu

Die Pakete `openai` sind die meistgenutzten Client-Bibliotheken für Sprachmodell-APIs, und viele andere Werkzeuge bauen auf ihnen auf. Sie übernehmen Wiederholungen, Timeouts, Streaming, typisierte Antworten und Fehlerbehandlung. Da inference.eu das OpenAI-API-Format spricht, behalten Sie all das und ändern nur das Ziel der Anfragen.

Oft ist das der schnellste Weg, eine bestehende Anwendung auf Open-Weight-Modelle in der EU umzustellen: zwei Konstruktorargumente und ein neuer Modellname, ohne neue Abhängigkeit und ohne Änderungen am übrigen Code.

## So funktioniert die Konfiguration

In Python übergeben Sie `base_url` und `api_key` an `OpenAI(...)` oder `AsyncOpenAI(...)`. In JavaScript und TypeScript übergeben Sie `baseURL` und `apiKey` an `new OpenAI({...})`. Die Basis-URL endet auf `/v1`; Pfade wie `/chat/completions` hängt das SDK selbst an.

Beide SDKs lesen außerdem `OPENAI_BASE_URL` und `OPENAI_API_KEY` aus der Umgebung, wenn Sie keine Werte übergeben. Das hilft bei Werkzeugen, die Sie nicht anpassen können. In eigenem Code sind explizite Argumente mit `INFERENCE_EU_API_KEY` klarer und verhindern Verwechslungen, wenn ein Projekt mit mehreren Anbietern spricht.

## Welche Modelle sich eignen

Mit `client.models.list()` sehen Sie die Modell-IDs, die Ihrem Schlüssel zur Verfügung stehen. Für allgemeinen Chat, Extraktion und Zusammenfassungen ist `gpt-oss-120b` ein schneller, leistungsfähiger Standard. Für Codegenerierung und Agenten mit Tool-Aufrufen ist `qwen3-coder-480b-a35b-instruct` eine starke Wahl.

Für komplexes Schlussfolgern, lange Dokumente oder mehrstufige Agenten-Workflows testen Sie `glm-5.3` oder `kimi-k3`. Da sich nur der Wert `model` ändert, vergleichen Sie Modelle direkt an Ihren eigenen Prompts: dieselbe Anfrage gegen mehrere IDs, dann Qualität, Antwortzeit und Token-Verbrauch prüfen.

## Fehlerbehebung

Ein 401 `AuthenticationError` bedeutet, dass der Schlüssel fehlt oder falsch ist. Prüfen Sie, ob Sie `INFERENCE_EU_API_KEY` lesen und nicht einen alten `OPENAI_API_KEY`. Ein 404 `NotFoundError` bedeutet meist, dass der Basis-URL `/v1` fehlt, ein Pfad zu viel enthalten ist oder die Modell-ID nicht existiert.

Nutzen Sie Chat Completions mit `client.chat.completions.create` als den am breitesten unterstützten Weg. Für Token-Angaben beim Streaming übergeben Sie `stream_options={"include_usage": True}`, die Werte kommen im letzten Chunk. Kommen Tool-Aufrufe als Text zurück, prüfen Sie, ob das Modell Tool-Aufrufe unterstützt und `tools` dem JSON-Schema-Format folgt.

## Daten bleiben in der EU

Mit der Basis-URL auf inference.eu wird jede Anfrage, die Ihre Anwendung über das SDK sendet, in EU-Rechenzentren verarbeitet. Prompts und Antworten werden nie zum Training verwendet. Wir schließen einen Auftragsverarbeitungsvertrag nach Art. 28 DSGVO, veröffentlichen unsere Unterauftragsverarbeiter und rechnen in Euro ab.

Das SDK selbst spricht nur mit der konfigurierten Basis-URL und sendet keine Telemetrie an OpenAI. Prüfen Sie den Rest Ihres Stacks: Logging-, Tracing- und Evaluationsdienste speichern unter Umständen ebenfalls Prompts. Wenn Sie `OPENAI_BASE_URL` global setzen, achten Sie darauf, dass kein anderer Codepfad noch einen Client mit der Standard-URL von OpenAI erzeugt.

## OpenAI SDK (Python and JavaScript)

Kategorie

SDKs

Anbieter

OpenAI

API-Format

OpenAI

Verarbeitung

Rechenzentren in der EU

Website

[github.com](https://github.com/openai/openai-python)

Dokumentation

[github.com](https://github.com/openai/openai-python#configuring-the-http-client)

## OpenAI SDK (Python and JavaScript): häufige Fragen

Die Fragen, die uns Einkauf, Entwicklung und Rechtsabteilungen am häufigsten stellen. Etwas fehlt? Fragen Sie uns direkt.

Ja. Übergeben Sie \`base\_url\` und \`api\_key\` an \`OpenAI()\`, und das SDK sendet alle Anfragen an diesen Endpunkt. Jeder Anbieter, der das OpenAI-API-Format umsetzt, auch inference.eu, funktioniert mit denselben Methoden und Antworttypen.

Übergeben Sie beim Erzeugen des Clients \`baseURL\`, zum Beispiel \`new OpenAI({ baseURL: process.env.INFERENCE\_EU\_BASE\_URL, apiKey: process.env.INFERENCE\_EU\_API\_KEY })\`. Dieselbe Option funktioniert in Node.js, Deno, Bun und Edge-Laufzeiten, auch in TypeScript-Projekten mit vollständigen Typen.

Ja. Beide SDKs lesen \`OPENAI\_BASE\_URL\` und \`OPENAI\_API\_KEY\`, wenn keine expliziten Werte übergeben werden. Das hilft bei Werkzeugen, die Sie nicht ändern können. In eigenem Code zeigen explizite Argumente klarer, welchen Anbieter jeder Client nutzt.

Beginnen Sie mit \`gpt-oss-120b\` für allgemeine Aufgaben, \`qwen3-coder-480b-a35b-instruct\` für Code und Tool-Aufrufe sowie \`glm-5.3\` oder \`kimi-k3\` für anspruchsvolleres Schlussfolgern. Der Aufruf \`client.models.list()\` zeigt alle Modell-IDs, die für Ihren Schlüssel verfügbar sind.

Ja. Übergeben Sie \`stream=True\` in Python oder \`stream: true\` in JavaScript und iterieren Sie wie gewohnt über die Chunks. Ergänzen Sie \`stream\_options={"include\_usage": True}\`, wenn Sie Token-Angaben brauchen; sie kommen im letzten Chunk.

Ja, bei Modellen mit Tool-Unterstützung. Übergeben Sie \`tools\` mit JSON-Schema-Definitionen und lesen Sie \`tool\_calls\` wie bei OpenAI aus der Antwort. Qwen3 Coder 480B, GLM-5.3 und Kimi K3 beherrschen Tool-Aufrufe gut.

Sie können bei Chat Completions \`response\_format\` mit einem JSON-Schema übergeben. Wie streng das Schema eingehalten wird, hängt vom Modell ab. Validieren Sie das Ergebnis daher im Code, etwa mit Pydantic, und wiederholen Sie die Anfrage, wenn ein Feld fehlt.

Entweder ist die Basis-URL falsch oder die Modell-ID unbekannt. Die Basis-URL muss auf \`/v1\` enden, ohne weiteren Pfad, weil das SDK \`/chat/completions\` selbst anhängt. Vergleichen Sie danach die Modell-ID mit der Ausgabe von \`client.models.list()\`.

Nein. Das SDK sendet Anfragen nur an die konfigurierte Basis-URL und hat keine eingebaute Telemetrie. Achten Sie darauf, dass jeder Client in Ihrem Code die Basis-URL von inference.eu nutzt, auch Clients aus Bibliotheken, die \`OPENAI\_BASE\_URL\` lesen.

Nein. Das offizielle Paket \`openai\` für Python oder JavaScript genügt. Wenn Sie das Anthropic-Format bevorzugen, funktioniert auch das offizielle Anthropic-SDK mit inference.eu. Sie nutzen also den Client, von dem Ihr Code ohnehin abhängt.

[Frage stellen](https://inference.eu/de/kontakt/)

## Verwandte Seiten

[Alle Integrationen](https://inference.eu/de/integrationen/)

-   [Anthropic SDK (Python and TypeScript)Richten Sie das offizielle Anthropic-SDK für Python oder TypeScript auf inference.eu aus und nutzen Sie Open-Weight-Modelle aus der EU über die Messages API.SDKs](https://inference.eu/de/integrationen/anthropic-sdk/)
-   [Vercel AI SDKNutzen Sie den OpenAI-kompatiblen Provider des Vercel AI SDK für Open-Weight-Modelle aus EU-Rechenzentren in Next.js-, Node.js- und Edge-Anwendungen.SDKs](https://inference.eu/de/integrationen/vercel-ai-sdk/)
-   [LangChainVerbinden Sie ChatOpenAI aus LangChain per base\_url mit inference.eu und betreiben Sie Chains, Agenten und LangGraph mit Open-Weight-Modellen aus der EU.Frameworks](https://inference.eu/de/integrationen/langchain/)
-   [LiteLLMFügen Sie inference.eu mit dem Präfix openai/ zum LiteLLM-Proxy oder Python-SDK hinzu und leiten Sie Anfragen an Open-Weight-Modelle aus der EU.Gateways](https://inference.eu/de/integrationen/litellm/)

## Verlagern Sie Ihre KI-Workloads auf europäische Infrastruktur

Sagen Sie uns, welche Modelle Sie nutzen und wie viel Verkehr Sie ungefähr haben. Wir antworten innerhalb eines Werktags mit Preisen und nächsten Schritten.

-   Antwort innerhalb eines Werktags
-   Preise für Ihr Volumen
-   AV-Vertrag unterschriftsreif
