aidial_interceptors_sdk/chat_completion/annotated_value.py (14 lines of code) (raw):

from abc import ABC from typing import Any from aidial_sdk.exceptions import HTTPException as DialException from aidial_sdk.pydantic_v1 import BaseModel Annotation = Any | None class AnnotatedValueBase(BaseModel, ABC): class Config: arbitrary_types_allowed = True annotation: Annotation = None class AnnotatedChunk(AnnotatedValueBase): chunk: dict class AnnotatedException(AnnotatedValueBase): error: DialException AnnotatedValue = AnnotatedChunk | AnnotatedException