SentinelAI SDK Documentation

Integrate AI risk monitoring into your applications with our easy-to-use SDK

Installation

Install the SentinelAI SDK using your preferred package manager:

npm install @sentinel-ai/sdk
yarn add @sentinel-ai/sdk
pip install sentinel-ai

Quick Start

Initialize the SDK and analyze your first AI interaction:

import { SentinelAI } from '@sentinel-ai/sdk';

// Initialize with your API key
const sentinel = new SentinelAI({
  apiKey: 'sk_live_your_api_key_here',
  organizationId: 'your_org_id'
});

// Analyze an AI interaction
const result = await sentinel.analyze({
  prompt: 'User prompt text',
  response: 'AI response text',
  userId: 'user_123',      // Optional: for tracking
  sessionId: 'sess_456'    // Optional: for grouping
});

console.log('Risk Score:', result.final_risk_score);
console.log('Decision:', result.decision);
console.log('Flags:', result.flags);

Configuration

Configure the SDK with your organization's settings:

const sentinel = new SentinelAI({
  apiKey: process.env.SENTINEL_API_KEY,
  organizationId: process.env.SENTINEL_ORG_ID,
  
  // Optional: Custom configuration
  timeout: 5000,              // Request timeout in ms
  retries: 3,                 // Number of retries
  endpoint: 'https://api.sentinel-ai.com', // Custom endpoint
  
  // Optional: Callbacks
  onError: (error) => {
    console.error('SentinelAI Error:', error);
  },
  
  onDetection: (result) => {
    if (result.decision === 'block') {
      // Handle blocked content
    }
  }
});

Real-time Monitoring

Set up real-time monitoring for streaming AI responses:

// Enable real-time monitoring
sentinel.enableRealTimeMonitoring({
  // Called when risk is detected mid-stream
  onRiskDetected: (result, context) => {
    console.warn('Risk detected:', result.flags);
    
    // Optionally block the stream
    if (result.decision === 'block') {
      context.stopStream();
    }
  },
  
  // Called when compliance issues are detected
  onComplianceIssue: (result) => {
    console.error('Model compliance:', result.explanation);
  }
});

// Use with streaming AI APIs
const stream = await openai.chat.completions.create({
  model: 'gpt-4',
  messages: [{ role: 'user', content: prompt }],
  stream: true,
});

// Wrap the stream with SentinelAI monitoring
const monitoredStream = sentinel.monitorStream(stream, {
  prompt: prompt,
  userId: 'user_123'
});

for await (const chunk of monitoredStream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

API Reference

analyze(options)

Analyze a prompt/response pair for potential risks.

ParameterTypeRequiredDescription
promptstringYesUser input prompt
responsestringYesAI response text
userIdstringNoUser identifier
sessionIdstringNoSession identifier

getMetrics()

Retrieve usage metrics for your organization.

const metrics = await sentinel.getMetrics({
  days: 30  // Time range
});

console.log(metrics.total_requests);
console.log(metrics.avg_latency_ms);
console.log(metrics.risk_distribution);

Integration Examples