File size: 2,845 Bytes
b9f4a34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: apache-2.0
title: Chatbot Q&A
sdk: streamlit
colorFrom: blue
short_description: A RAG app using DeepSeek to answer questions based on .pdf
---

# 📄 RAG PDF Q&A με Quantized DeepSeek-7B

**Ένας βοηθός που απαντάει στις ερωτήσεις του χρήστη αποκλειστικά με βάση το κείμενο που του δόθηκε από τον χρήστη (PDF) και όχι με βάση την εσωτερική του γνώση.**

---

## 🚀 Βασίζεται σε:

- **LangChain** για chunking και ανάκτηση συμφραζομένων (retrieval)
- **MiniLM (sentence-transformers/all-MiniLM-L6-v2)** για embeddings
- **ChromaDB** ως προσωρινό vector store
- **DeepSeek LLM (deepseek-ai/deepseek-llm-7b-chat)** σε 4-bit quantization
- **Streamlit** για το περιβάλλον χρήστη
- **langid** για αναγνώριση γλώσσας

---

## 🏷️ Χαρακτηριστικά

✅ **Ανέβασμα PDF** (Ελληνικά ή Αγγλικά)  
✅ Αυτόματη εξαγωγή κειμένου  
✅ **Chunking** με μέγεθος 1000 και overlap 300  
✅ Δημιουργία embeddings με **MiniLM**  
✅ **ChromaDB** για προσωρινό vector store  
✅ **Καθαρισμός retriever και vectorstore** όταν αλλάζει PDF (δεν κρατά παλιές πληροφορίες)  
✅ **Αναγνώριση γλώσσας** (langid)  
✅ **Απάντηση στη γλώσσα της ερώτησης** (με αυτόματη μετάφραση όταν χρειάζεται)  
✅ Επιστροφή **IDs των chunks** που χρησιμοποιήθηκαν για τη δημιουργία της απάντησης  
✅ Αν δεν βρεθεί σχετική πληροφορία, απαντά **"I do not know."** ή **"Δεν γνωρίζω."**  
✅ **Quantization 4-bit** του **DeepSeek LLM** για αποδοτική χρήση GPU (A10g)  
✅ **Cache** του LLM και των pipelines για αποφυγή επανυπολογισμών

---

## 🗂️ Αρχεία

| Όνομα αρχείου    | Περιγραφή                      |
|------------------|-------------------------------|
| `app.py`         | Κύριο Streamlit app           |
| `requirements.txt` | Απαιτούμενες βιβλιοθήκες    |
| `Dockerfile`     | Ρυθμίσεις για Hugging Face Space |
| `README.md`      | Αυτό το αρχείο                |

---

**Σημείωση:**  
✔ Υποστηρίζεται paraphrasing μόνο για ερωτήσεις στα Αγγλικά.  
✔ Για Ελληνικά paraphrasing δεν υπάρχει κατάλληλο διαθέσιμο μοντέλο αυτή τη στιγμή στο Hugging Face.