Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rotavision.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

Rotavision integrates with AWS for data access, model monitoring, and LLM routing.

S3 Integration

Direct Access

Rotavision can read data directly from S3:
from rotavision import Rotavision

client = Rotavision()

# Analyze data from S3
result = client.vishwas.analyze(
    model_id="my-model",
    dataset={
        "data_url": "s3://my-bucket/predictions.parquet",
        "aws_credentials": {
            "access_key_id": "AKIA...",
            "secret_access_key": "...",
            "region": "ap-south-1"
        }
    }
)
For production, use IAM roles:
  1. Create an IAM role with S3 read access
  2. Add Rotavision’s AWS account as trusted entity
  3. Configure in Rotavision dashboard
# No credentials needed - uses assumed role
result = client.vishwas.analyze(
    model_id="my-model",
    dataset={
        "data_url": "s3://my-bucket/predictions.parquet"
    }
)

SageMaker Integration

Monitor SageMaker Endpoints

from rotavision.integrations.aws import SageMakerMonitor

# Create monitor for SageMaker endpoint
monitor = SageMakerMonitor(
    endpoint_name="my-sagemaker-endpoint",
    rotavision_api_key="rv_live_...",
    aws_region="ap-south-1"
)

# Automatically logs inferences to Guardian
monitor.start()

SageMaker Pipeline Integration

Add Rotavision to your SageMaker Pipeline:
from sagemaker.workflow.steps import ProcessingStep
from rotavision.integrations.aws import RotavisionProcessor

# Fairness analysis step
fairness_step = ProcessingStep(
    name="FairnessAnalysis",
    processor=RotavisionProcessor(
        api_key="rv_live_...",
        role=role,
        instance_type="ml.m5.xlarge"
    ),
    inputs=[
        ProcessingInput(source=predictions_uri, destination="/opt/ml/processing/input")
    ],
    code="analyze_fairness.py"
)

Bedrock Integration

Route Sankalp requests to AWS Bedrock:
# Sankalp automatically routes to Bedrock for supported models
response = client.sankalp.proxy(
    model="claude-3-sonnet",  # Routes to Bedrock
    messages=[{"role": "user", "content": "Hello"}],
    routing={
        "provider_preference": ["bedrock", "anthropic"],
        "data_residency": "india"
    }
)

Configure Bedrock Access

In Rotavision dashboard or via API:
client.integrations.configure(
    provider="aws_bedrock",
    config={
        "access_key_id": "AKIA...",
        "secret_access_key": "...",
        "region": "us-east-1"  # Bedrock region
    }
)

CloudWatch Integration

Export Rotavision metrics to CloudWatch:
from rotavision.integrations.aws import CloudWatchExporter

exporter = CloudWatchExporter(
    namespace="Rotavision/ML",
    region="ap-south-1"
)

# Metrics automatically pushed to CloudWatch
monitor = client.guardian.create_monitor(
    model_id="my-model",
    metrics=["prediction_drift", "latency_p99"],
    exporters=[exporter]
)

Terraform Module

Deploy Rotavision integration with Terraform:
module "rotavision" {
  source = "rotavision/integration/aws"
  version = "1.0.0"

  rotavision_api_key = var.rotavision_api_key

  # S3 buckets to grant access
  s3_buckets = [
    "my-ml-data-bucket",
    "my-predictions-bucket"
  ]

  # SageMaker endpoints to monitor
  sagemaker_endpoints = [
    "prod-recommendation-endpoint",
    "prod-fraud-detection-endpoint"
  ]
}

IAM Policies

Minimal S3 Policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
      ]
    }
  ]
}

SageMaker Monitoring Policy

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sagemaker:InvokeEndpoint",
        "sagemaker:DescribeEndpoint",
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents"
      ],
      "Resource": "*"
    }
  ]
}