Mauro24 commited on
Commit
4d88f3d
·
verified ·
1 Parent(s): 1288297

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +2 -65
app.py CHANGED
@@ -7,68 +7,5 @@ from sklearn.metrics.pairwise import cosine_similarity
7
  import numpy as np
8
  import zipfile
9
 
10
-
11
- # Percorso del file ZIP
12
- zip_path = '/home/user/app/en_core_web_sm-3.0.0.zip' # Assicurati che il percorso sia corretto
13
-
14
- # Verifica se il file esiste
15
- if os.path.exists(zip_path):
16
- # Directory di estrazione
17
- extract_dir = '/home/user/app/en_core_web_sm' # Dove vuoi estrarre il modello
18
-
19
- # Estrai il file ZIP
20
- with zipfile.ZipFile(zip_path, 'r') as zip_ref:
21
- zip_ref.extractall(extract_dir)
22
-
23
- # Carica il modello Spacy
24
- spacy.cli.link(extract_dir, 'en_core_web_sm')
25
- else:
26
- print(f"Il file {zip_path} non è stato trovato!")
27
-
28
- # Carica il modello
29
- nlp = spacy.load(extract_dir)
30
- #nlp = spacy.load('en_core_web_sm')
31
-
32
- # Carica il modello SentenceTransformer
33
- model = SentenceTransformer('sentence-transformers/all-mpnet-base-v2', device='cpu')
34
-
35
- # Preprocessamento manuale (carica il manuale da un file o base di dati)
36
- with open('testo.txt', 'r', encoding='utf-8') as file:
37
- text = file.read()
38
-
39
- # Tokenizza il testo in frasi usando SpaCy
40
- doc = nlp(text)
41
- sentences = [sent.text for sent in doc.sents] # Estrarre frasi dal testo
42
-
43
- # Crea gli embedding per il manuale
44
- embeddings = model.encode(sentences, batch_size=8, show_progress_bar=True)
45
-
46
- # Funzione per ottenere le frasi più rilevanti
47
- def find_relevant_sentences(query):
48
- query_embedding = model.encode([query])
49
- similarities = cosine_similarity(query_embedding, embeddings).flatten()
50
-
51
- # Filtra i risultati in base alla similitudine
52
- threshold = 0.5
53
- filtered_results = [(idx, sim) for idx, sim in enumerate(similarities) if sim >= threshold]
54
-
55
- # Ordina i risultati per similitudine
56
- filtered_results.sort(key=lambda x: x[1], reverse=True)
57
-
58
- # Ottieni le frasi più rilevanti
59
- top_n = 4
60
- relevant_sentences = [sentences[idx] for idx, _ in filtered_results[:top_n]]
61
-
62
- return relevant_sentences
63
-
64
- # Interfaccia Gradio
65
- iface = gr.Interface(
66
- fn=find_relevant_sentences,
67
- inputs=gr.Textbox(label="Insert your query"),
68
- outputs=gr.Textbox(label="Relevant sentences"),
69
- title="Manual Querying System",
70
- description="Enter a question about the machine, and this tool will find the most relevant sentences from the manual."
71
- )
72
-
73
- # Avvia l'app Gradio
74
- iface.launch()
 
7
  import numpy as np
8
  import zipfile
9
 
10
+ print(os.getcwd()) # Stampa il percorso della directory corrente
11
+ print(os.listdir()) # Mostra i file nella directory corrente