pmelnechuk commited on
Commit
02cfe6e
verified
1 Parent(s): 5b6723c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +59 -59
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\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
-
 
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
+