Samuel Oberhofer commited on
Commit Β·
1257c6e
1
Parent(s): 76cc381
docs: Update README with SVNR features and setup instructions
Browse files
README.md
CHANGED
|
@@ -5,10 +5,10 @@ A comprehensive Retrieval-Augmented Generation (RAG) system for university data
|
|
| 5 |
## π Features
|
| 6 |
|
| 7 |
- **Interactive Chat Interface**: Natural language queries about university data
|
| 8 |
-
- **Advanced Guardrails**:
|
| 9 |
-
- **Experimental Dashboard**: Comprehensive testing suite for RAG validation
|
| 10 |
-
- **Real Database**: 6,000+ students, 1,300+ faculty, 2,600+ courses
|
| 11 |
-
- **Vector Search**: Semantic search using ChromaDB and Sentence Transformers
|
| 12 |
|
| 13 |
## π Quick Start
|
| 14 |
|
|
@@ -29,7 +29,14 @@ pip install -r requirements.txt
|
|
| 29 |
- Create `secrets_local.py`: `HF = "your_hugging_face_token"`
|
| 30 |
- Or set environment variable: `HF_TOKEN=your_token`
|
| 31 |
|
| 32 |
-
3. **
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
```bash
|
| 34 |
streamlit run app.py
|
| 35 |
```
|
|
@@ -103,9 +110,9 @@ python experiment_4_context_window.py
|
|
| 103 |
|
| 104 |
## π Security Features
|
| 105 |
|
| 106 |
-
- **Input Validation**: SQL injection prevention, malicious prompt detection
|
| 107 |
-
- **Output Filtering**: PII redaction, hallucination detection, relevance checking
|
| 108 |
-
- **Content Sanitization**: Automatic cleaning of responses and database content
|
| 109 |
|
| 110 |
## π Database Statistics
|
| 111 |
|
|
|
|
| 5 |
## π Features
|
| 6 |
|
| 7 |
- **Interactive Chat Interface**: Natural language queries about university data
|
| 8 |
+
- **Advanced Guardrails**: Enhanced input/output security, including blocking queries with Austrian social security numbers (SVNRs) and redacting them from responses.
|
| 9 |
+
- **Experimental Dashboard**: Comprehensive testing suite for RAG validation.
|
| 10 |
+
- **Real Database**: 6,000+ students, 1,300+ faculty, 2,600+ courses, with student records now including SVNRs for guardrail testing.
|
| 11 |
+
- **Vector Search**: Semantic search using ChromaDB and Sentence Transformers, with SVNRs intentionally included in student documents for output guardrail testing.
|
| 12 |
|
| 13 |
## π Quick Start
|
| 14 |
|
|
|
|
| 29 |
- Create `secrets_local.py`: `HF = "your_hugging_face_token"`
|
| 30 |
- Or set environment variable: `HF_TOKEN=your_token`
|
| 31 |
|
| 32 |
+
3. **Initialize Database and Vector Store**:
|
| 33 |
+
Run the setup scripts to create the SQLite database and populate the vector store.
|
| 34 |
+
```bash
|
| 35 |
+
python database/setup_db.py
|
| 36 |
+
python rag/build_vector_store.py
|
| 37 |
+
```
|
| 38 |
+
|
| 39 |
+
4. **Run the application**:
|
| 40 |
```bash
|
| 41 |
streamlit run app.py
|
| 42 |
```
|
|
|
|
| 110 |
|
| 111 |
## π Security Features
|
| 112 |
|
| 113 |
+
- **Input Validation**: SQL injection prevention, malicious prompt detection, **blocking queries containing valid Austrian social security numbers (SVNRs)**.
|
| 114 |
+
- **Output Filtering**: PII redaction (including **SVNRs**), hallucination detection, relevance checking.
|
| 115 |
+
- **Content Sanitization**: Automatic cleaning of responses and database content.
|
| 116 |
|
| 117 |
## π Database Statistics
|
| 118 |
|