Multimodal-RAG / tests /conftest.py
Angshul's picture
Upload 42 files
c42f4ef verified
Raw History Blame Contribute Delete
1.06 kB
import os
import sys
from pathlib import Path
import pytest
ROOT = Path(__file__).resolve().parent.parent
sys.path.insert(0, str(ROOT))
sys.path.insert(0, str(ROOT / "examples"))
from mrag.config import Config # noqa: E402
@pytest.fixture(scope="session")
def corpus(tmp_path_factory):
import make_demo_corpus
return make_demo_corpus.build(tmp_path_factory.mktemp("corpus"))
def model_cfg(data_dir) -> Config:
"""Real models. Text: WordLlama (weights ship in the wheel) unless MRAG_TEXT_BACKEND says otherwise.
CLIP: MRAG_CLIP_PRETRAINED (tag or local .pt), default laion400m_e32."""
return Config.load(
data_dir=str(data_dir),
text_backend=os.environ.get("MRAG_TEXT_BACKEND", "wordllama"),
llm_backend="extractive",
)
@pytest.fixture(scope="session")
def rag(corpus, tmp_path_factory):
from mrag.pipeline import MultimodalRAG
r = MultimodalRAG(model_cfg(tmp_path_factory.mktemp("index")))
stats = r.ingest([corpus])
assert stats["errors"] == [], stats
yield r
r.close()