petter2025's picture
Update ai_event.py
215d8f9 verified
raw
history blame
1.31 kB
from datetime import datetime
from typing import Optional, List, Literal
from pydantic import Field
from agentic_reliability_framework.core.models.event import ReliabilityEvent
class AIEvent(ReliabilityEvent):
"""Extended event for AI system monitoring across multiple modalities (text, image, audio, etc.)."""
action_category: Literal["chat", "code", "summary", "image", "audio", "iot"] = Field(
..., description="Type of AI task or domain"
)
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")