Spaces:
Running
Running
File size: 776 Bytes
d02bacd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | """Organizational memory (RAG pillar) for AutoDataLab Solo.
Exposes a module-level retriever keyed at ``memory/`` so every specialist
and the grader can share the same corpus index without passing it through
every expert signature.
"""
from __future__ import annotations
from pathlib import Path
from .retriever import MemoryHit, Retriever
_CORPUS_DIR = Path(__file__).resolve().parent
_retriever: Retriever | None = None
def get_retriever() -> Retriever:
"""Return the process-wide retriever, building it lazily on first use."""
global _retriever
if _retriever is None:
_retriever = Retriever(_CORPUS_DIR)
return _retriever
def corpus_dir() -> Path:
return _CORPUS_DIR
__all__ = ["MemoryHit", "Retriever", "get_retriever", "corpus_dir"]
|