ancerlop commited on
Commit
5a1f6bf
1 Parent(s): 6bacd20

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import numpy as np
3
+ import faiss
4
+
5
+ # Cargar el 铆ndice de Faiss
6
+ index = faiss.read_index("faiss_train_index.index")
7
+
8
+ # Funci贸n para la predicci贸n
9
+ def predecir_similitud(texto, umbral):
10
+ # Vectorizar el texto (usando la misma funci贸n que antes)
11
+ texto_vectorizado = vectorize_text(texto)
12
+
13
+ # Buscar similitud con Faiss
14
+ texto_vectorizado_np = np.array([texto_vectorizado], dtype=np.float32)
15
+ D, I = index.search(texto_vectorizado_np, 1) # Buscar el vector m谩s cercano
16
+ similitud = 1 - D[0][0] # Calcular similitud de coseno
17
+
18
+ # Comparar con el umbral y proporcionar el resultado
19
+ if similitud >= umbral:
20
+ resultado = f"Coincidencia detectada (similitud: {similitud:.2f})"
21
+ else:
22
+ resultado = f"No se detect贸 coincidencia (similitud: {similitud:.2f})"
23
+
24
+ return resultado
25
+
26
+ # Crear la interfaz de Gradio
27
+ iface = gr.Interface(
28
+ fn=predecir_similitud,
29
+ inputs=[gr.inputs.Textbox(default="Ingrese su texto aqu铆"),
30
+ gr.inputs.Slider(minimum=0, maximum=1, default=0.8, label="Umbral de Similitud")],
31
+ outputs=gr.outputs.Textbox(),
32
+ live=True,
33
+ title="Detector de Coincidencias",
34
+ description="Ingrese un texto y ajuste el umbral de similitud para detectar coincidencias con los vectores."
35
+ )
36
+
37
+ # Ejecutar la interfaz
38
+ iface.launch()