| from datetime import datetime |
| from typing import Optional, List, Dict, Any |
| from pydantic import Field |
| from agentic_reliability_framework.core.models.event import ReliabilityEvent |
|
|
| class AIEvent(ReliabilityEvent): |
| """Extended event for AI system monitoring.""" |
| model_name: str = Field(..., description="Identifier of the AI model used") |
| model_version: str = Field(..., description="Version/tag of the model") |
| prompt: str = Field(..., description="Input prompt/query") |
| response: str = Field(..., description="Generated response") |
| response_length: int = Field(ge=0, description="Number of tokens/characters") |
| confidence: float = Field(ge=0, le=1, description="Model's confidence score (if available)") |
| perplexity: Optional[float] = Field(None, ge=0, description="Perplexity/entropy measure") |
| retrieval_scores: Optional[List[float]] = Field(None, description="Similarity scores of retrieved documents") |
| user_feedback: Optional[bool] = Field(None, description="User thumbs up/down") |
| latency_ms: float = Field(ge=0, description="Response generation time in milliseconds") |