Legal-Document-Intelligence / api /dependencies.py
sahilfarib's picture
Upload folder using huggingface_hub
db3715a verified
Raw
History Blame Contribute Delete
894 Bytes
"""
api/dependencies.py — Shared singleton instances for the API layer
All heavy objects (embedder, vectorstore, reranker, pattern_store, etc.)
are initialised once here and used across all route handlers.
"""
from retrieval.embedder import Embedder
from retrieval.vectorstore import VectorStore
from retrieval.bm25_index import BM25Index
from retrieval.reranker import Reranker
from generation.drafter import Drafter
from generation.validator import CitationValidator
from feedback.pattern_store import PatternStore
from feedback.pipeline import FeedbackPipeline
# Singletons — initialised at module load (on first import)
embedder = Embedder()
vectorstore = VectorStore(embedder=embedder)
bm25_index = BM25Index()
reranker = Reranker()
drafter = Drafter()
validator = CitationValidator()
pattern_store = PatternStore()
feedback_pipeline = FeedbackPipeline(pattern_store=pattern_store)