1"""Multi-modal document types for RAG."""
2
3from __future__ import annotations
4
5from lexigram.ai.rag.multimodal.types.audio import AudioDocument, AudioMetadata
6from lexigram.ai.rag.multimodal.types.enums import (
7 AudioFormat,
8 ImageFormat,
9 Modality,
10 VideoFormat,
11)
12from lexigram.ai.rag.multimodal.types.image import ImageDocument, ImageMetadata
13from lexigram.ai.rag.multimodal.types.multimodal import (
14 MultiModalDocument,
15 MultiModalEmbedding,
16)
17from lexigram.ai.rag.multimodal.types.video import VideoDocument, VideoMetadata
18
19# Resolve forward references
20ImageDocument.model_rebuild()
21AudioDocument.model_rebuild()
22VideoDocument.model_rebuild()
23MultiModalDocument.model_rebuild()
24
25__all__ = [
26 "AudioDocument",
27 "AudioFormat",
28 "AudioMetadata",
29 "ImageDocument",
30 "ImageFormat",
31 "ImageMetadata",
32 "Modality",
33 "MultiModalDocument",
34 "MultiModalEmbedding",
35 "VideoDocument",
36 "VideoFormat",
37 "VideoMetadata",
38]