Spaces:
Paused
Paused
| """RAG (Retrieval Augmented Generation) module for FDAM AI Pipeline. | |
| This module provides document chunking, vector storage, and retrieval | |
| for the FDAM knowledge base. | |
| Lazy imports to avoid chromadb dependency at module load time for local development. | |
| """ | |
| __all__ = [ | |
| "SemanticChunker", | |
| "Chunk", | |
| "ChromaVectorStore", | |
| "FDAMRetriever", | |
| ] | |
| def __getattr__(name): | |
| """Lazy import RAG modules only when accessed.""" | |
| if name == "SemanticChunker": | |
| from .chunker import SemanticChunker | |
| return SemanticChunker | |
| elif name == "Chunk": | |
| from .chunker import Chunk | |
| return Chunk | |
| elif name == "ChromaVectorStore": | |
| from .vectorstore import ChromaVectorStore | |
| return ChromaVectorStore | |
| elif name == "FDAMRetriever": | |
| from .retriever import FDAMRetriever | |
| return FDAMRetriever | |
| raise AttributeError(f"module {__name__!r} has no attribute {name!r}") | |