Zum Hauptinhalt springen

Erste Schritte mit Dedicated AI Hosting

Nach unserem Setup bekommst du:

  • API Base URL - deinen dedizierten HTTPS-Endpunkt, z. B. https://dein-unternehmen.llm.aihosting.mittwald.de
  • API-Key - ein Bearer-Token zur Authentifizierung deiner Requests

Halte deinen API-Key vertraulich. Speichere ihn in einer Umgebungsvariablen oder einem Secrets-Manager — trage ihn nie direkt im Quellcode ein oder committe ihn in ein Repository. Falls ein Key kompromittiert wird, melde dich bei uns für eine Rotation.

Verfügbare Modelle prüfen​

user@local $ curl https://dein-unternehmen.llm.aihosting.mittwald.de/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"

Verwende eine der zurückgegebenen Modell-IDs als YOUR_MODEL_ID.

Erste Anfrage senden​

user@local $ curl https://dein-unternehmen.llm.aihosting.mittwald.de/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [
{"role": "user", "content": "Erkläre Retrieval-Augmented Generation in zwei Sätzen."}
]
}'
user@local $ pip install openai python-dotenv
OPENAI_API_KEY=YOUR_API_KEY
OPENAI_BASE_URL=https://dein-unternehmen.llm.aihosting.mittwald.de/v1
from openai import OpenAI
from dotenv import load_dotenv

load_dotenv()

client = OpenAI()

response = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[
{"role": "user", "content": "Erkläre Retrieval-Augmented Generation in zwei Sätzen."}
]
)

print(response.choices[0].message.content)
user@local $ npm install openai dotenv
OPENAI_API_KEY=YOUR_API_KEY
OPENAI_BASE_URL=https://dein-unternehmen.llm.aihosting.mittwald.de/v1
import OpenAI from "openai";
import "dotenv/config";

const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
baseURL: process.env.OPENAI_BASE_URL,
});

const response = await client.chat.completions.create({
model: "YOUR_MODEL_ID",
messages: [
{
role: "user",
content: "Erkläre Retrieval-Augmented Generation in zwei Sätzen.",
},
],
});

console.log(response.choices[0].message.content);

Streaming-Antworten​

Mit "stream": true empfängst du Tokens direkt beim Generieren, anstatt auf die vollständige Antwort zu warten.

user@local $ curl https://dein-unternehmen.llm.aihosting.mittwald.de/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"stream": true,
"messages": [
{"role": "user", "content": "Erkläre Retrieval-Augmented Generation in zwei Sätzen."}
]
}'
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://dein-unternehmen.llm.aihosting.mittwald.de/v1")

with client.chat.completions.stream(
model="YOUR_MODEL_ID",
messages=[{"role": "user", "content": "Erkläre Retrieval-Augmented Generation in zwei Sätzen."}],
) as stream:
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
import OpenAI from "openai";

const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://dein-unternehmen.llm.aihosting.mittwald.de/v1",
});

const stream = await client.chat.completions.create({
model: "YOUR_MODEL_ID",
stream: true,
messages: [
{
role: "user",
content: "Erkläre Retrieval-Augmented Generation in zwei Sätzen.",
},
],
});

for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Request-Parameter​

Parameterempfehlungen können modellspezifisch sein. Starte mit den SDK-Defaults und tune dann gemäß Modellverhalten und Use Case.

Drop-in-Replacement​

Da der Endpunkt OpenAI-kompatibel ist, kannst du ihn als Drop-in-Replacement in Frameworks mit eigener Base-URL nutzen. Eine vollständige Übersicht der unterstützten Endpunkte und Parameter — einschließlich Tool Calling und strukturierter Ausgaben — findest du unter OpenAI-API-Kompatibilität‍.

Mehrere API-Keys verwalten​

Wenn du getrennte Keys pro App/Team, Nutzungsstatistiken oder per-Key-Rate-Limits brauchst, nutze LiteLLM‍ als Self-Hosted-Proxy.

Auf dieser Seite