DHEIVER commited on
Commit
327ff33
·
verified ·
1 Parent(s): 2073925

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -107,11 +107,13 @@ def demo():
107
  chunk_size = gr.Slider(100, 1000, value=500, label="Tamanho dos Chunks")
108
  chunk_overlap = gr.Slider(0, 200, value=50, label="Sobreposição")
109
  process_btn = gr.Button("Processar PDFs")
 
110
 
111
  with gr.Tab("🧠 Modelo"):
112
  model_selector = gr.Dropdown(list_llm_simple, label="Selecione o Modelo", value=list_llm_simple[0])
113
  temperature = gr.Slider(0, 1, value=0.7, label="Criatividade")
114
  load_model_btn = gr.Button("Carregar Modelo")
 
115
 
116
  with gr.Tab("💬 Chat"):
117
  chatbot = gr.Chatbot(height=400)
@@ -120,25 +122,28 @@ def demo():
120
 
121
  # Eventos
122
  process_btn.click(
123
- lambda files, cs, co: create_db(load_doc([f.name for f in files], cs, co), "docs"),
124
  inputs=[pdf_input, chunk_size, chunk_overlap],
125
- outputs=vector_db
126
  )
127
 
128
  load_model_btn.click(
129
- lambda model, temp: initialize_llmchain(list_llm[list_llm_simple.index(model)], temp, 512, 3, vector_db.value),
130
  inputs=[model_selector, temperature],
131
- outputs=qa_chain
132
  )
133
 
134
  def respond(message, chat_history):
 
 
135
  result = qa_chain.value({"question": message, "chat_history": chat_history})
136
  response = result["answer"]
137
  sources = "\n".join([f"📄 Página {doc.metadata['page']+1}: {doc.page_content[:50]}..."
138
  for doc in result["source_documents"][:2]])
139
- return f"{response}\n\n🔍 Fontes:\n{sources}"
 
140
 
141
- msg.submit(respond, [msg, chatbot], chatbot)
142
 
143
  demo.launch()
144
 
 
107
  chunk_size = gr.Slider(100, 1000, value=500, label="Tamanho dos Chunks")
108
  chunk_overlap = gr.Slider(0, 200, value=50, label="Sobreposição")
109
  process_btn = gr.Button("Processar PDFs")
110
+ process_status = gr.Textbox(label="Status do Processamento", interactive=False)
111
 
112
  with gr.Tab("🧠 Modelo"):
113
  model_selector = gr.Dropdown(list_llm_simple, label="Selecione o Modelo", value=list_llm_simple[0])
114
  temperature = gr.Slider(0, 1, value=0.7, label="Criatividade")
115
  load_model_btn = gr.Button("Carregar Modelo")
116
+ model_status = gr.Textbox(label="Status do Modelo", interactive=False)
117
 
118
  with gr.Tab("💬 Chat"):
119
  chatbot = gr.Chatbot(height=400)
 
122
 
123
  # Eventos
124
  process_btn.click(
125
+ lambda files, cs, co: (create_db(load_doc([f.name for f in files], cs, co), "docs"), "Documentos processados!"),
126
  inputs=[pdf_input, chunk_size, chunk_overlap],
127
+ outputs=[vector_db, process_status]
128
  )
129
 
130
  load_model_btn.click(
131
+ lambda model, temp: (initialize_llmchain(list_llm[list_llm_simple.index(model)], temp, 512, 3, vector_db.value), "Modelo carregado!"),
132
  inputs=[model_selector, temperature],
133
+ outputs=[qa_chain, model_status]
134
  )
135
 
136
  def respond(message, chat_history):
137
+ if qa_chain.value is None:
138
+ return "Por favor, carregue um modelo primeiro.", chat_history
139
  result = qa_chain.value({"question": message, "chat_history": chat_history})
140
  response = result["answer"]
141
  sources = "\n".join([f"📄 Página {doc.metadata['page']+1}: {doc.page_content[:50]}..."
142
  for doc in result["source_documents"][:2]])
143
+ chat_history.append((message, f"{response}\n\n🔍 Fontes:\n{sources}"))
144
+ return "", chat_history
145
 
146
+ msg.submit(respond, [msg, chatbot], [msg, chatbot])
147
 
148
  demo.launch()
149