Spaces:
Sleeping
Sleeping
# Tests Directory | |
This directory contains test files for the Phase 1 RAG implementation. | |
## Test Files | |
### π§ `test_implementation_structure.py` | |
- **Purpose**: Validates implementation structure without requiring API keys | |
- **Tests**: Imports, method signatures, class attributes, configuration options | |
- **Usage**: `python tests/test_implementation_structure.py` | |
- **Status**: β All 5/5 tests passing | |
### π§ͺ `test_retrieval_methods.py` | |
- **Purpose**: Comprehensive testing of all retrieval methods with real data | |
- **Tests**: Similarity, MMR, BM25, Hybrid search methods | |
- **Usage**: `python tests/test_retrieval_methods.py` | |
- **Requirements**: OpenAI and Google API keys needed for full functionality | |
### π `test_data_usage.py` | |
- **Purpose**: Demonstrates available methods and checks existing data | |
- **Features**: Data validation, method documentation, deployment readiness | |
- **Usage**: `python tests/test_data_usage.py` | |
- **Status**: β Ready with existing transformer paper data | |
## Running Tests | |
### Quick Structure Check (No API Keys) | |
```bash | |
cd /path/to/Markit_v2 | |
source .venv/bin/activate | |
python tests/test_implementation_structure.py | |
``` | |
### Full Functionality Test (Requires API Keys) | |
```bash | |
# Set environment variables first | |
export OPENAI_API_KEY="your-key" | |
export GOOGLE_API_KEY="your-key" | |
python tests/test_retrieval_methods.py | |
``` | |
### Data Usage Demo | |
```bash | |
python tests/test_data_usage.py | |
``` | |
## Test Results Summary | |
- **Structure Tests**: β 5/5 passed | |
- **Implementation**: β Complete and functional | |
- **Data**: β Transformer paper data available (0.92 MB) | |
- **Deployment**: β All installation files updated | |
## Available Retrieval Methods | |
1. **Similarity** (`retrieval_method='similarity'`) | |
2. **MMR** (`retrieval_method='mmr'`) | |
3. **BM25** (`vector_store_manager.get_bm25_retriever()`) | |
4. **Hybrid** (`retrieval_method='hybrid'`) | |
All methods are ready for production use once API keys are configured. |