OpenParable
Skip to content
← Back to skills

Seldon Model Deployer

DevOps & Security
seldon-model-deployer

Seldon Model Deployer is an Agent Skill for devops & security published in the a5c-ai/babysitter repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Seldon Core deployment skill for model serving, A/B testing, and canary deployments on Kubernetes.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/a5c-ai/babysitter/blob/HEAD/library/specializations/data-science-ml/skills/seldon-model-deployer/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/seldon-model-deployer, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

seldon-model-deployer

Overview

Seldon Core deployment skill for model serving, A/B testing, canary deployments, and advanced inference graphs on Kubernetes.

Capabilities

  • SeldonDeployment creation and management
  • Multi-model serving
  • Traffic splitting (canary/shadow/A/B)
  • Model monitoring integration
  • Custom inference graphs
  • Explainer deployment (SHAP, Anchor)
  • Request logging and tracing
  • Autoscaling configuration

Target Processes

  • Model Deployment Pipeline with Canary Release
  • A/B Testing Framework for ML Models
  • ML Model Retraining Pipeline

Tools and Libraries

  • Seldon Core
  • Seldon Deploy
  • Kubernetes
  • Istio/Ambassador (ingress)

Input Schema

{
  "type": "object",
  "required": ["action"],
  "properties": {
    "action": {
      "type": "string",
      "enum": ["deploy", "update", "rollback", "delete", "status", "traffic-split"],
      "description": "Seldon action to perform"
    },
    "deploymentConfig": {
      "type": "object",
      "properties": {
        "name": { "type": "string" },
        "namespace": { "type": "string" },
        "modelUri": { "type": "string" },
        "implementation": { "type": "string" },
        "replicas": { "type": "integer" },
        "resources": {
          "type": "object",
          "properties": {
            "requests": { "type": "object" },
            "limits": { "type": "object" }
          }
        }
      }
    },
    "trafficConfig": {
      "type": "object",
      "properties": {
        "canaryPercent": { "type": "integer" },
        "shadowEnabled": { "type": "boolean" },
        "abTestEnabled": { "type": "boolean" }
      }
    },
    "explainerConfig": {
      "type": "object",
      "properties": {
        "type": { "type": "string", "enum": ["anchor_tabular", "anchor_text", "shap"] },
        "enabled": { "type": "boolean" }
      }
    }
  }
}

Output Schema

{
  "type": "object",
  "required": ["status", "action"],
  "properties": {
    "status": {
      "type": "string",
      "enum": ["success", "error", "pending"]
    },
    "action": {
      "type": "string"
    },
    "deploymentName": {
      "type": "string"
    },
    "endpoint": {
      "type": "string"
    },
    "deploymentStatus": {
      "type": "string",
      "enum": ["creating", "available", "failed", "unknown"]
    },
    "replicas": {
      "type": "object",
      "properties": {
        "desired": { "type": "integer" },
        "ready": { "type": "integer" }
      }
    },
    "trafficSplit": {
      "type": "object"
    }
  }
}

Usage Example

{
  kind: 'skill',
  title: 'Deploy model with canary',
  skill: {
    name: 'seldon-model-deployer',
    context: {
      action: 'deploy',
      deploymentConfig: {
        name: 'fraud-detector',
        namespace: 'ml-serving',
        modelUri: 'gs://models/fraud-v2',
        implementation: 'SKLEARN_SERVER',
        replicas: 3
      },
      trafficConfig: {
        canaryPercent: 10
      },
      explainerConfig: {
        type: 'shap',
        enabled: true
      }
    }
  }
}