| from unittest.mock import patch
|
|
|
| import pytest
|
| import torch
|
|
|
| from colpali_engine.utils.processing_utils import BaseVisualRetrieverProcessor
|
|
|
|
|
| @pytest.fixture
|
| @patch.multiple(BaseVisualRetrieverProcessor, __abstractmethods__=set())
|
| def processor() -> BaseVisualRetrieverProcessor:
|
| return BaseVisualRetrieverProcessor()
|
|
|
|
|
| def test_score_single_vector_embeddings(processor: BaseVisualRetrieverProcessor):
|
| qs = [torch.randn(128) for _ in range(10)]
|
| ps = [torch.randn(128) for _ in range(10)]
|
| scores = processor.score_single_vector(qs, ps)
|
| assert scores.shape == (len(qs), len(ps))
|
|
|
|
|
| def test_score_multi_vector_embeddings(processor: BaseVisualRetrieverProcessor):
|
| qs = [torch.randn(10, 128) for _ in range(10)]
|
| ps = [torch.randn(42, 128) for _ in range(10)]
|
| scores = processor.score_multi_vector(qs, ps)
|
| assert scores.shape == (len(qs), len(ps))
|
|
|