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
- curl
- Python
- JavaScript / TypeScript
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.
- curl
- Python
- JavaScript / TypeScript
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.