Do not run coverage on download-models & code that requires integration tests
This commit is contained in:
parent
36a675e1bb
commit
ce95dc47a5
3 changed files with 25 additions and 3 deletions
|
|
@ -1681,7 +1681,9 @@ class HaikuRAG:
|
||||||
yield DownloadProgress(model=tokenizer_name, status="done")
|
yield DownloadProgress(model=tokenizer_name, status="done")
|
||||||
|
|
||||||
# Sentence-transformers embedder
|
# Sentence-transformers embedder
|
||||||
if self._config.embeddings.model.provider == "sentence-transformers":
|
if (
|
||||||
|
self._config.embeddings.model.provider == "sentence-transformers"
|
||||||
|
): # pragma: no cover
|
||||||
try:
|
try:
|
||||||
from sentence_transformers import ( # type: ignore[import-not-found]
|
from sentence_transformers import ( # type: ignore[import-not-found]
|
||||||
SentenceTransformer,
|
SentenceTransformer,
|
||||||
|
|
@ -1695,7 +1697,7 @@ class HaikuRAG:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# HuggingFace reranker models
|
# HuggingFace reranker models
|
||||||
if self._config.reranking.model:
|
if self._config.reranking.model: # pragma: no cover
|
||||||
provider = self._config.reranking.model.provider
|
provider = self._config.reranking.model.provider
|
||||||
model_name = self._config.reranking.model.name
|
model_name = self._config.reranking.model.name
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ from haiku.rag.reranking.base import RerankerBase
|
||||||
from haiku.rag.store.models.chunk import Chunk
|
from haiku.rag.store.models.chunk import Chunk
|
||||||
|
|
||||||
|
|
||||||
class JinaLocalReranker(RerankerBase):
|
class JinaLocalReranker(RerankerBase): # pragma: no cover
|
||||||
"""Jina reranker using local model inference via transformers.
|
"""Jina reranker using local model inference via transformers.
|
||||||
|
|
||||||
Note: The Jina Reranker v3 model is licensed under CC BY-NC 4.0,
|
Note: The Jina Reranker v3 model is licensed under CC BY-NC 4.0,
|
||||||
|
|
|
||||||
|
|
@ -235,6 +235,26 @@ class TestGetReranker:
|
||||||
pytest.skip("Jina local dependencies not installed")
|
pytest.skip("Jina local dependencies not installed")
|
||||||
|
|
||||||
|
|
||||||
|
def test_jina_reranker_missing_api_key(monkeypatch):
|
||||||
|
monkeypatch.delenv("JINA_API_KEY", raising=False)
|
||||||
|
|
||||||
|
from haiku.rag.reranking.jina import JinaReranker
|
||||||
|
|
||||||
|
with pytest.raises(ValueError, match="JINA_API_KEY environment variable required"):
|
||||||
|
JinaReranker("jina-reranker-v3")
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.asyncio
|
||||||
|
async def test_jina_reranker_empty_chunks(monkeypatch):
|
||||||
|
monkeypatch.setenv("JINA_API_KEY", "test-api-key")
|
||||||
|
|
||||||
|
from haiku.rag.reranking.jina import JinaReranker
|
||||||
|
|
||||||
|
reranker = JinaReranker("jina-reranker-v3")
|
||||||
|
result = await reranker.rerank("query", [], top_n=2)
|
||||||
|
assert result == []
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
@pytest.mark.vcr()
|
@pytest.mark.vcr()
|
||||||
async def test_jina_reranker(monkeypatch):
|
async def test_jina_reranker(monkeypatch):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue