Leitfaden — Benutzerdefinierte Modell-Provider
Umfang
Dieses Dokument fasst die Schritte und Kriterien für benutzerdefinierte Modell-Provider mit dem Strands Agents SDK in Shell Sentinel zusammen. Es ergänzt die offizielle Dokumentation als interne Checkliste.
Voraussetzungen
- Kenntnis der Hierarchie
strands.models.Model(z. B.BedrockModel). - Verständnis von
Messages,StreamEventundToolSpec. - Python-Client für den proprietären LLM-Dienst.
- Deklarative Konfiguration in
conf/und Credentials über Umgebungsvariablen.
Implementierungsablauf
- Konfiguration definieren: typisierte
ModelConfigmitget_config/update_config. - Client initialisieren: Credentials sicher auflösen, Remote-Client instanziieren, Logging registrieren.
stream(...)implementieren: Eingaben konvertieren,StreamEventanpassen, Fehler behandeln; bei sync SDKasyncio.to_threadnutzen.- Tools unterstützen:
streaminstructured_output(...)mit Pydantic-ToolSpec. - Provider registrieren in
smart_ai_sys_admin.agentundconf/agent.conf.
Zusätzliche Hinweise
DEBUG-Logging für Troubleshooting.- Neue Parameter in Benutzerhandbüchern dokumentieren, wenn Operatoren betroffen sind.
- Keine Tokens oder Endpoints hardcoden.
- Smoke-Tests vor TUI-Integration.
Praxisbeispiel: LM Studio
- OpenAI-kompatibler lokaler Server (
/v1/*);base_url,api_key,model_idkonfigurieren. - Start mit
lms server start;client_argsfür Timeouts. - Native REST-API (
/api/v0/*) für Metriken undmax_context_length.
Praxisbeispiel: Cerebras
cerebras_cloud_sdkmit SSE-Streaming integrieren.providers.cerebrasmitmodel_id,params,client_args,api_key_env.ChatChunkResponsein native Events mitmetadatafür Nutzung und Zeiten.