Integrate AI risk monitoring into your applications with our easy-to-use SDK
Get started with the SDK in minutes
Your first AI risk analysis
Complete SDK documentation
Install the SentinelAI SDK using your preferred package manager:
npm install @sentinel-ai/sdkyarn add @sentinel-ai/sdkpip install sentinel-aiInitialize 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);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
}
}
});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 || '');
}analyze(options)Analyze a prompt/response pair for potential risks.
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | User input prompt |
| response | string | Yes | AI response text |
| userId | string | No | User identifier |
| sessionId | string | No | Session 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);Protect your customer support chatbot from prompt injection
Monitor AI-generated content for compliance issues
Secure your AI coding assistant from malicious requests
Add SentinelAI as middleware to your API