OpenAI SDK als Drop-In durch Mycelis ersetzen
Mycelis stellt eine vollständig OpenAI-kompatible API unter https://mycelis.ai/api/proxy/v1 bereit. Jedes SDK oder Tool mit OpenAI-Unterstützung kann in unter einer Minute auf Mycelis umgestellt werden — zwei Werte ändern: Base-URL und API-Key.
Was du brauchst
- Ein Mycelis-Workspace mit mindestens einem konfigurierten Agenten
- Einen Personal Access Token (PAT) unter Workspace-Einstellungen → API-Keys
- Deinen Agent-Slug (in der Agenten-Detailansicht sichtbar)
Python
from openai import OpenAI
client = OpenAI(
base_url="https://mycelis.ai/api/proxy/v1",
api_key="dein-mycelis-pat",
)
response = client.chat.completions.create(
model="dein-agent-slug", # Agent-Slug, kein Modellname
messages=[{"role": "user", "content": "Hallo!"}],
)
print(response.choices[0].message.content)
Keine weiteren Änderungen erforderlich. Alle bestehenden Chat-, Streaming-, Embeddings- und Tool-Use-Calls funktionieren wie bisher.
Node.js / TypeScript
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://mycelis.ai/api/proxy/v1",
apiKey: "dein-mycelis-pat",
});
const response = await client.chat.completions.create({
model: "dein-agent-slug",
messages: [{ role: "user", content: "Hallo!" }],
});
console.log(response.choices[0].message.content);
Über Umgebungsvariablen
Diese zwei Variablen setzen — bestehender Code erfordert null Änderungen:
export OPENAI_BASE_URL="https://mycelis.ai/api/proxy/v1"
export OPENAI_API_KEY="dein-mycelis-pat"
Python- und Node.js-OpenAI-SDKs lesen diese Variablen automatisch. Das model-Feld sollte weiterhin auf den Agent-Slug gesetzt sein.
Raw HTTP (curl)
curl https://mycelis.ai/api/proxy/v1/chat/completions \
-H "Authorization: Bearer dein-mycelis-pat" \
-H "Content-Type: application/json" \
-d '{
"model": "dein-agent-slug",
"messages": [{"role": "user", "content": "Hallo!"}]
}'
Streaming
Streaming funktioniert ohne Änderungen — stream: true wie gewohnt setzen:
stream = client.chat.completions.create(
model="dein-agent-slug",
messages=[{"role": "user", "content": "Zähle bis zehn."}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")
Hinweise
- Model-Feld = Agent-Slug. Das Mycelis-Gateway mappt den Slug auf das im Agenten konfigurierte Modell. Modelländerungen in der Agenten-Konfiguration greifen sofort ohne Code-Änderungen.
- Nicht unterstützte Parameter werden vom Gateway still ignoriert, sodass Aufrufe mit anbieterspezifischen Optionen wie
logprobsnicht fehlschlagen.