Spaces:
Sleeping
Sleeping
Download tests/unit/bootstrap/test_container.py from Loren/rag-backend-api: direct link, hf CLI and curl.
- Browser
- Download file 2.41 kB
-
https://huggingface.co/spaces/Loren/rag-backend-api/resolve/main/tests/unit/bootstrap/test_container.py
- Command line
-
hf download hf://spaces/Loren/rag-backend-api/tests/unit/bootstrap/test_container.py
-
curl -L -o test_container.py https://huggingface.co/spaces/Loren/rag-backend-api/resolve/main/tests/unit/bootstrap/test_container.py
2.41 kB
| import os | |
| from types import SimpleNamespace | |
| from unittest.mock import MagicMock, patch | |
| import src.bootstrap.container as container_module | |
| class DummyLLM: | |
| def __init__(self, model_name: str | None = None): | |
| self._model_name = model_name | |
| def get_model_name(self) -> str | None: | |
| return self._model_name | |
| class DummyEmbedding: | |
| def __init__(self, model_name: str | None = None): | |
| self._model_name = model_name | |
| def get_model_name(self) -> str | None: | |
| return self._model_name | |
| def get_embedding_function(self): | |
| return MagicMock() | |
| def test_container_uses_specific_ragas_llm_and_embedding(monkeypatch): | |
| monkeypatch.setenv("RAGAS_LLM_MODEL_NAME", "ragas-llm") | |
| monkeypatch.setenv("RAGAS_EMBED_MODEL_NAME", "ragas-embed") | |
| monkeypatch.delenv("LANGFUSE_PUBLIC_KEY", raising=False) | |
| monkeypatch.delenv("LANGFUSE_SECRET_KEY", raising=False) | |
| monkeypatch.setenv("ENABLE_RAGAS_EVAL", "true") | |
| created_ragas_kwargs = {} | |
| def fake_ragas_adapter(**kwargs): | |
| created_ragas_kwargs.update(kwargs) | |
| return SimpleNamespace() | |
| with patch.object(container_module, "HuggingFaceEmbeddingAdapter", side_effect=lambda model_name=None: DummyEmbedding(model_name=model_name)), \ | |
| patch.object(container_module, "GeminiLlmAdapter", side_effect=lambda prompt_builder, model_name=None: DummyLLM(model_name=model_name)), \ | |
| patch.object(container_module, "RagasEvaluationAdapter", side_effect=fake_ragas_adapter), \ | |
| patch.object(container_module, "NoOpEvaluationAdapter", return_value=SimpleNamespace()), \ | |
| patch.object(container_module, "NativeRetrievalAdapter", return_value=SimpleNamespace()), \ | |
| patch.object(container_module, "RagPromptBuilderAdapter", return_value=SimpleNamespace()), \ | |
| patch.object(container_module, "AskQuestionService", return_value=SimpleNamespace()), \ | |
| patch.object(container_module, "SubmitFeedbackService", return_value=SimpleNamespace()), \ | |
| patch.object(container_module, "LoggingObservabilityAdapter", return_value=SimpleNamespace()), \ | |
| patch.object(container_module, "LangfuseObservabilityAdapter", return_value=SimpleNamespace()): | |
| container_module.Container() | |
| assert created_ragas_kwargs["llm_port"].get_model_name() == "ragas-llm" | |
| assert created_ragas_kwargs["embedding_port"].get_model_name() == "ragas-embed" | |