Spaces:
Sleeping
Sleeping
File size: 1,953 Bytes
21c909d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# 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. |