Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -1,59 +1,59 @@
|
|
1 |
-
"""
|
2 |
-
Este script realiza las siguientes tareas:
|
3 |
-
1. Carga archivos desde un directorio especificado utilizando la clase `Loader` del m贸dulo `preprocess`.
|
4 |
-
2. Procesa los archivos mediante limpieza de texto y divisi贸n en fragmentos.
|
5 |
-
3. Genera representaciones vectoriales de los textos utilizando `sentence-transformers`.
|
6 |
-
4. Almacena los vectores en una base de datos Chroma para su posterior recuperaci贸n.
|
7 |
-
5. Inicializa un modelo y ejecuta una interfaz para interactuar con los datos procesados.
|
8 |
-
|
9 |
-
M贸dulos utilizados:
|
10 |
-
- `preprocess`: Contiene la clase `Loader` para la carga y preprocesamiento de documentos.
|
11 |
-
- `vdb`: Se asume que gestiona la base de datos vectorial.
|
12 |
-
- `model_load`: M贸dulo para cargar el modelo de machine learning.
|
13 |
-
- `st`: Se asume que proporciona la interfaz de usuario.
|
14 |
-
|
15 |
-
Estructura del c贸digo:
|
16 |
-
1. Define el directorio de los archivos a procesar.
|
17 |
-
2. Carga los archivos y los procesa si el n煤mero de archivos es menor a 2.
|
18 |
-
3. Si hay m煤ltiples archivos, los procesa en un bucle y concatena los fragmentos.
|
19 |
-
4. Genera embeddings utilizando `sentence-transformers/all-MiniLM-L12-v2`.
|
20 |
-
5. Almacena los embeddings en ChromaDB y configura un recuperador basado en similitud.
|
21 |
-
6. Carga el modelo de machine learning.
|
22 |
-
7. Inicia la interfaz de usuario.
|
23 |
-
|
24 |
-
"""
|
25 |
-
|
26 |
-
from src.preprocess import Loader
|
27 |
-
import src.vdb
|
28 |
-
import src.model_load
|
29 |
-
import src.st
|
30 |
-
|
31 |
-
if __name__=="__main__":
|
32 |
-
# Definici贸n de directorio
|
33 |
-
archivo = [r"data
|
34 |
-
|
35 |
-
# Carga de archivos y procesamiento de texto
|
36 |
-
if len(archivo) < 2:
|
37 |
-
Load = Loader(archivo[0])
|
38 |
-
documentos = Load.load_docs()
|
39 |
-
textos_limpios = [Load.limpiar_texto(doc) for doc in documentos.page_content]
|
40 |
-
textos = Load.splitter(texto=textos_limpios, chunk_size=500, chunk_overlap=50)
|
41 |
-
else:
|
42 |
-
textos = []
|
43 |
-
for i in range(len(archivo)):
|
44 |
-
Load = Loader(archivo)
|
45 |
-
documentos = Load.load_docs()
|
46 |
-
textos_limpios = [Load.limpiar_texto(doc) for doc in documentos.page_content]
|
47 |
-
chunks = Load.splitter(texto=textos_limpios, chunk_size=500, chunk_overlap=50)
|
48 |
-
textos.extend(chunks)
|
49 |
-
|
50 |
-
# Generaci贸n de embeddings y almacenamiento en base de datos ChromaDB
|
51 |
-
embeddings = EmbeddingGen("sentence-transformers/all-MiniLM-L12-v2")
|
52 |
-
db = Chroma("QAMath", embedding_function=embeddings)
|
53 |
-
vectorstore = db.from_documents(chunks, embeddings)
|
54 |
-
retriever = vectorstore.as_retriever(search_type="similarity", search_kwargs={"k": 3})
|
55 |
-
|
56 |
-
# Carga del modelo y ejecuci贸n de la interfaz
|
57 |
-
load_model()
|
58 |
-
interfaz()
|
59 |
-
|
|
|
1 |
+
"""
|
2 |
+
Este script realiza las siguientes tareas:
|
3 |
+
1. Carga archivos desde un directorio especificado utilizando la clase `Loader` del m贸dulo `preprocess`.
|
4 |
+
2. Procesa los archivos mediante limpieza de texto y divisi贸n en fragmentos.
|
5 |
+
3. Genera representaciones vectoriales de los textos utilizando `sentence-transformers`.
|
6 |
+
4. Almacena los vectores en una base de datos Chroma para su posterior recuperaci贸n.
|
7 |
+
5. Inicializa un modelo y ejecuta una interfaz para interactuar con los datos procesados.
|
8 |
+
|
9 |
+
M贸dulos utilizados:
|
10 |
+
- `preprocess`: Contiene la clase `Loader` para la carga y preprocesamiento de documentos.
|
11 |
+
- `vdb`: Se asume que gestiona la base de datos vectorial.
|
12 |
+
- `model_load`: M贸dulo para cargar el modelo de machine learning.
|
13 |
+
- `st`: Se asume que proporciona la interfaz de usuario.
|
14 |
+
|
15 |
+
Estructura del c贸digo:
|
16 |
+
1. Define el directorio de los archivos a procesar.
|
17 |
+
2. Carga los archivos y los procesa si el n煤mero de archivos es menor a 2.
|
18 |
+
3. Si hay m煤ltiples archivos, los procesa en un bucle y concatena los fragmentos.
|
19 |
+
4. Genera embeddings utilizando `sentence-transformers/all-MiniLM-L12-v2`.
|
20 |
+
5. Almacena los embeddings en ChromaDB y configura un recuperador basado en similitud.
|
21 |
+
6. Carga el modelo de machine learning.
|
22 |
+
7. Inicia la interfaz de usuario.
|
23 |
+
|
24 |
+
"""
|
25 |
+
|
26 |
+
from src.preprocess import Loader
|
27 |
+
import src.vdb
|
28 |
+
import src.model_load
|
29 |
+
import src.st
|
30 |
+
|
31 |
+
if __name__=="__main__":
|
32 |
+
# Definici贸n de directorio
|
33 |
+
archivo = [r"data/Calculo_Trascendentes_Tempranas_Zill_4t.pdf"]
|
34 |
+
|
35 |
+
# Carga de archivos y procesamiento de texto
|
36 |
+
if len(archivo) < 2:
|
37 |
+
Load = Loader(archivo[0])
|
38 |
+
documentos = Load.load_docs()
|
39 |
+
textos_limpios = [Load.limpiar_texto(doc) for doc in documentos.page_content]
|
40 |
+
textos = Load.splitter(texto=textos_limpios, chunk_size=500, chunk_overlap=50)
|
41 |
+
else:
|
42 |
+
textos = []
|
43 |
+
for i in range(len(archivo)):
|
44 |
+
Load = Loader(archivo)
|
45 |
+
documentos = Load.load_docs()
|
46 |
+
textos_limpios = [Load.limpiar_texto(doc) for doc in documentos.page_content]
|
47 |
+
chunks = Load.splitter(texto=textos_limpios, chunk_size=500, chunk_overlap=50)
|
48 |
+
textos.extend(chunks)
|
49 |
+
|
50 |
+
# Generaci贸n de embeddings y almacenamiento en base de datos ChromaDB
|
51 |
+
embeddings = EmbeddingGen("sentence-transformers/all-MiniLM-L12-v2")
|
52 |
+
db = Chroma("QAMath", embedding_function=embeddings)
|
53 |
+
vectorstore = db.from_documents(chunks, embeddings)
|
54 |
+
retriever = vectorstore.as_retriever(search_type="similarity", search_kwargs={"k": 3})
|
55 |
+
|
56 |
+
# Carga del modelo y ejecuci贸n de la interfaz
|
57 |
+
load_model()
|
58 |
+
interfaz()
|
59 |
+
|