|
7 | 7 | import uuid |
8 | 8 |
|
9 | 9 | from collections import deque |
10 | | -from dataclasses import dataclass |
| 10 | +from dataclasses import dataclass, field |
11 | 11 | from datetime import datetime, timezone |
12 | 12 | from threading import Thread, Event |
13 | 13 | from typing import Any, Dict, List, Optional, Union |
@@ -48,12 +48,12 @@ class Log: |
48 | 48 | hallucination_detection: bool |
49 | 49 | inconsistency_detection: bool |
50 | 50 | user_query: str |
51 | | - model_output: str |
52 | | - documents: Optional[List[Union[str, LogDocument]]] |
53 | | - message_history: Optional[List[Dict[str, Any]]] |
54 | | - instructions: Optional[List[str]] |
55 | | - tags: Dict[str, Any] |
56 | | - created_at: datetime |
| 51 | + model_output: Optional[str] = None |
| 52 | + documents: Optional[List[Union[str, LogDocument]]] = field(default_factory=list) |
| 53 | + message_history: Optional[List[Dict[str, Any]]] = field(default_factory=list) |
| 54 | + instructions: Optional[List[str]] = field(default_factory=list) |
| 55 | + tags: Dict[str, Any] = field(default_factory=dict) |
| 56 | + created_at: datetime = field(default_factory=lambda: datetime.now(timezone.utc)) |
57 | 57 | status: Optional[LogStatus] = None |
58 | 58 | updated_at: Optional[datetime] = None |
59 | 59 | has_hallucination: Optional[bool] = None |
|
0 commit comments