Spaces:
Running
Running
| """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"] | |