Advanced Features
Custom Logging
import { Logger } from './ai-model-lib';
class MyCustomLogger implements Logger {
log(type: string, message: string, data?: unknown): void {
// Send to your logging service
myLoggingService.send({
level: type.toLowerCase(),
message,
data,
timestamp: new Date().toISOString()
});
}
enable(enabled: boolean): void {
// Enable/disable your logger
myLoggingService.setEnabled(enabled);
}
}
const ai = new AIModel(config, new MyCustomLogger());Custom Providers
// Register custom AI provider
ProviderRegistry.registerProvider('my-company-ai', {
name: 'My Company AI',
baseURL: 'https://api.mycompany.ai/v1',
defaultModel: 'company-model-v2',
headers: {
'X-API-Version': '2024-01-01',
'X-Client-ID': 'my-app'
}
});
// Use custom provider
const customAI = new AIModel({
apiKey: 'company-api-key',
provider: 'my-company-ai',
model: 'company-model-v2-premium'
});Request Options Override
// Override defaults per request
const response = await ai.send({
temperature: 0.9, // More creative
maxTokens: 2000, // Longer response
model: 'gpt-4' // Different model
});
// Different options for streaming
await ai.stream(
chunk => console.log(chunk),
{ temperature: 0.3 } // More deterministic
);Source captured: 2026-10-11