Spaces:
Sleeping
Sleeping
Upload CHANGES.md with huggingface_hub
Browse files- CHANGES.md +79 -0
CHANGES.md
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Izmene u kodu
|
| 2 |
+
|
| 3 |
+
## Problem koji je rešen
|
| 4 |
+
|
| 5 |
+
**Originalni problem**: Space je vraćao samo kratke fragmente teksta umesto kompletnih članaka zakona.
|
| 6 |
+
|
| 7 |
+
**Uzrok**: Metoda `search_semantic` u `doc_searcher_v2.py` je vraćala samo skorove iz reranker-a, bez kompletnog payload-a iz Qdrant baze.
|
| 8 |
+
|
| 9 |
+
## Izmene
|
| 10 |
+
|
| 11 |
+
### 1. `doc_searcher_v2.py` - Metoda `search_semantic`
|
| 12 |
+
|
| 13 |
+
**Pre:**
|
| 14 |
+
- Vraćala je samo `scores` (lista skorova)
|
| 15 |
+
- Gubili su se svi podaci iz payload-a
|
| 16 |
+
|
| 17 |
+
**Posle:**
|
| 18 |
+
- Vraća listu dict-ova sa kompletnim podacima:
|
| 19 |
+
```python
|
| 20 |
+
{
|
| 21 |
+
"score": float, # Rerank skor
|
| 22 |
+
"id": str, # ID iz Qdrant-a
|
| 23 |
+
"text": str, # Tekst dokumenta
|
| 24 |
+
"payload": dict # Kompletan payload sa svim podacima
|
| 25 |
+
}
|
| 26 |
+
```
|
| 27 |
+
- Mapira rerank skorove sa originalnim hit-ovima iz Qdrant-a
|
| 28 |
+
- Vraća top 10 rezultata sa kompletnim informacijama
|
| 29 |
+
|
| 30 |
+
### 2. `reranker.py` - Model
|
| 31 |
+
|
| 32 |
+
**Pre:**
|
| 33 |
+
- Koristio `Qwen/Qwen3-Reranker-4B` (zahteva ~16GB RAM)
|
| 34 |
+
|
| 35 |
+
**Posle:**
|
| 36 |
+
- Koristi `Qwen/Qwen3-Reranker-0.6B` (zahteva ~2GB RAM)
|
| 37 |
+
- Manje memorije, brže učitavanje
|
| 38 |
+
|
| 39 |
+
## Kako testirati lokalno
|
| 40 |
+
|
| 41 |
+
1. **Instalirajte zavisnosti:**
|
| 42 |
+
```bash
|
| 43 |
+
pip install -r requirements.txt
|
| 44 |
+
```
|
| 45 |
+
|
| 46 |
+
2. **Kreirajte .env fajl:**
|
| 47 |
+
```bash
|
| 48 |
+
cp .env.example .env
|
| 49 |
+
# Popunite sa vašim vrednostima
|
| 50 |
+
```
|
| 51 |
+
|
| 52 |
+
3. **Pokrenite test:**
|
| 53 |
+
```bash
|
| 54 |
+
python test_local.py
|
| 55 |
+
```
|
| 56 |
+
|
| 57 |
+
## Kako deploy-ovati na Space
|
| 58 |
+
|
| 59 |
+
1. **Commit-ujte izmene:**
|
| 60 |
+
```bash
|
| 61 |
+
git add .
|
| 62 |
+
git commit -m "Ispravka: vraćanje kompletnih podataka umesto samo skorova"
|
| 63 |
+
```
|
| 64 |
+
|
| 65 |
+
2. **Push na Hugging Face:**
|
| 66 |
+
```bash
|
| 67 |
+
git push
|
| 68 |
+
```
|
| 69 |
+
|
| 70 |
+
3. **Space će se automatski rebuild-ovati**
|
| 71 |
+
|
| 72 |
+
## Rezultat
|
| 73 |
+
|
| 74 |
+
Sada API vraća:
|
| 75 |
+
- ✅ Kompletan tekst članka zakona
|
| 76 |
+
- ✅ Svi podaci iz payload-a (broj člana, naziv zakona, itd.)
|
| 77 |
+
- ✅ Rerank skor za relevantnost
|
| 78 |
+
- ✅ ID dokumenta iz Qdrant-a
|
| 79 |
+
|