jeysshon commited on
Commit
498ce53
·
verified ·
1 Parent(s): 63dc01f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -7
app.py CHANGED
@@ -13,10 +13,10 @@ import random
13
  import uuid
14
  from streamlit_pdf_viewer import pdf_viewer # Visor de PDF integrado en Streamlit
15
 
16
- # Inicializa el cliente de ChromaDB
17
  client = initialize_client()
18
 
19
- # Frases sarcásticas para el proceso de PDF
20
  sarcastic_lines = [
21
  "Cocinando el PDF... 🍳",
22
  "Esto puede tomar un momento; estoy convenciendo al PDF de que coopere... 🤔",
@@ -49,6 +49,7 @@ st.markdown("Sube tu PDF en formato de texto y haz preguntas sobre su contenido.
49
  uploaded_file = st.file_uploader("Subir PDF", type="pdf")
50
 
51
  if uploaded_file:
 
52
  document_id = generate_document_id()
53
  st.success("¡Archivo subido con éxito! Podemos comenzar.")
54
 
@@ -61,19 +62,19 @@ if uploaded_file:
61
  st.subheader("PDF Subido")
62
  pdf_viewer(pdf_bytes)
63
 
64
- # Paso 2: Procesar PDF
65
  with st.spinner("Procesando..."):
66
  st.markdown(random.choice(sarcastic_lines))
67
  pages_and_text = read_pdf(pdf_bytes)
68
  st.success("¡PDF procesado con éxito!")
69
 
70
- # Paso 3: Dividir texto en chunks
71
  with st.spinner("Dividiendo en secciones..."):
72
  st.markdown(random.choice(sarcastic_lines))
73
  processed_chunks = process_chunks(pages_and_text)
74
  st.success("¡Texto dividido en chunks!")
75
 
76
- # Paso 4: Generar embeddings
77
  with st.spinner("Creando embeddings..."):
78
  st.markdown(random.choice(sarcastic_lines))
79
  embeddings_df = embed_text_chunks(processed_chunks)
@@ -86,13 +87,14 @@ if uploaded_file:
86
  st.success(f"¡Embeddings guardados para el documento con ID: {document_id}")
87
 
88
  # Paso 6: Interacción con el chat
 
89
  query = st.chat_input("Pregunta algo sobre el documento")
90
 
91
  if query:
92
  with st.spinner("Buscando respuestas..."):
93
- context = query_chroma_db(user_id, document_id, query)
 
94
  response = query_llm(query, user_id, document_id)
95
-
96
  # Agrega la interacción al historial
97
  st.session_state.qa_history.append({"question": query, "answer": response})
98
 
 
13
  import uuid
14
  from streamlit_pdf_viewer import pdf_viewer # Visor de PDF integrado en Streamlit
15
 
16
+ # Inicializa el cliente de ChromaDB (base de datos vectorial)
17
  client = initialize_client()
18
 
19
+ # Frases sarcásticas para mostrar al usuario mientras procesa
20
  sarcastic_lines = [
21
  "Cocinando el PDF... 🍳",
22
  "Esto puede tomar un momento; estoy convenciendo al PDF de que coopere... 🤔",
 
49
  uploaded_file = st.file_uploader("Subir PDF", type="pdf")
50
 
51
  if uploaded_file:
52
+ # Genera un ID único de documento
53
  document_id = generate_document_id()
54
  st.success("¡Archivo subido con éxito! Podemos comenzar.")
55
 
 
62
  st.subheader("PDF Subido")
63
  pdf_viewer(pdf_bytes)
64
 
65
+ # Paso 2: Procesar PDF (extraer texto)
66
  with st.spinner("Procesando..."):
67
  st.markdown(random.choice(sarcastic_lines))
68
  pages_and_text = read_pdf(pdf_bytes)
69
  st.success("¡PDF procesado con éxito!")
70
 
71
+ # Paso 3: Dividir texto en oraciones y chunks
72
  with st.spinner("Dividiendo en secciones..."):
73
  st.markdown(random.choice(sarcastic_lines))
74
  processed_chunks = process_chunks(pages_and_text)
75
  st.success("¡Texto dividido en chunks!")
76
 
77
+ # Paso 4: Generar embeddings localmente
78
  with st.spinner("Creando embeddings..."):
79
  st.markdown(random.choice(sarcastic_lines))
80
  embeddings_df = embed_text_chunks(processed_chunks)
 
87
  st.success(f"¡Embeddings guardados para el documento con ID: {document_id}")
88
 
89
  # Paso 6: Interacción con el chat
90
+ # Campo de texto para que el usuario haga su pregunta
91
  query = st.chat_input("Pregunta algo sobre el documento")
92
 
93
  if query:
94
  with st.spinner("Buscando respuestas..."):
95
+ # Opcional: si quieres ver cuál es el contexto extraído, puedes llamar a:
96
+ # context = query_chroma_db(user_id, document_id, query)
97
  response = query_llm(query, user_id, document_id)
 
98
  # Agrega la interacción al historial
99
  st.session_state.qa_history.append({"question": query, "answer": response})
100