Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,11 +1,6 @@
|
|
1 |
import gradio as gr
|
2 |
-
import
|
3 |
-
from pdf2image import convert_from_path
|
4 |
from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration
|
5 |
-
import os
|
6 |
-
|
7 |
-
# Initialisiere EasyOCR für Deutsch
|
8 |
-
reader = easyocr.Reader(['de']) # für die deutsche Sprache
|
9 |
|
10 |
# Initialisiere das deutsche Modell und den Tokenizer für RAG
|
11 |
model_name = "deepset/gbert-base" # Beispiel für ein deutsches Modell
|
@@ -13,23 +8,22 @@ tokenizer = RagTokenizer.from_pretrained(model_name)
|
|
13 |
model = RagSequenceForGeneration.from_pretrained(model_name)
|
14 |
retriever = RagRetriever.from_pretrained(model_name, index_name="exact", use_dummy_dataset=True)
|
15 |
|
16 |
-
#
|
17 |
def extract_text_from_pdf(file):
|
18 |
-
#
|
19 |
-
|
20 |
|
|
|
21 |
text = ""
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
for detection in ocr_result:
|
26 |
-
text += detection[1] + "\n"
|
27 |
|
28 |
return text
|
29 |
|
30 |
# Funktion zur Generierung einer Antwort basierend auf dem hochgeladenen Dokument
|
31 |
def get_rag_answer(input_message, uploaded_file):
|
32 |
-
# Extrahiere den Text aus dem hochgeladenen PDF-Dokument
|
33 |
document_text = extract_text_from_pdf(uploaded_file)
|
34 |
|
35 |
# Simuliere den Retrieval-Mechanismus, indem wir den extrahierten Text verwenden
|
|
|
1 |
import gradio as gr
|
2 |
+
import fitz # PyMuPDF
|
|
|
3 |
from transformers import RagTokenizer, RagRetriever, RagSequenceForGeneration
|
|
|
|
|
|
|
|
|
4 |
|
5 |
# Initialisiere das deutsche Modell und den Tokenizer für RAG
|
6 |
model_name = "deepset/gbert-base" # Beispiel für ein deutsches Modell
|
|
|
8 |
model = RagSequenceForGeneration.from_pretrained(model_name)
|
9 |
retriever = RagRetriever.from_pretrained(model_name, index_name="exact", use_dummy_dataset=True)
|
10 |
|
11 |
+
# Funktion zur Textextraktion aus PDF (ohne OCR)
|
12 |
def extract_text_from_pdf(file):
|
13 |
+
# Öffne die PDF-Datei mit PyMuPDF
|
14 |
+
doc = fitz.open(file.name)
|
15 |
|
16 |
+
# Extrahiere Text aus jeder Seite der PDF
|
17 |
text = ""
|
18 |
+
for page_num in range(len(doc)):
|
19 |
+
page = doc.load_page(page_num)
|
20 |
+
text += page.get_text("text") # Extrahiert den Text der Seite
|
|
|
|
|
21 |
|
22 |
return text
|
23 |
|
24 |
# Funktion zur Generierung einer Antwort basierend auf dem hochgeladenen Dokument
|
25 |
def get_rag_answer(input_message, uploaded_file):
|
26 |
+
# Extrahiere den Text aus dem hochgeladenen PDF-Dokument
|
27 |
document_text = extract_text_from_pdf(uploaded_file)
|
28 |
|
29 |
# Simuliere den Retrieval-Mechanismus, indem wir den extrahierten Text verwenden
|