victorafarias commited on
Commit
7e3649a
·
1 Parent(s): 0cdbf35

evoluções do campo de contexto

Browse files
Files changed (1) hide show
  1. app.py +12 -10
app.py CHANGED
@@ -187,6 +187,7 @@ def process():
187
  log_print(f"=== GENERATE_STREAM INICIADO - Mode: {current_mode} ===")
188
 
189
  solicitacao_usuario = form_data.get('solicitacao', '')
 
190
 
191
  if current_mode == 'test':
192
  log_print("=== MODO TESTE EXECUTADO ===")
@@ -209,7 +210,7 @@ def process():
209
  log_print("=== INICIANDO PROCESSAMENTO REAL ===")
210
  json_data = safe_json_dumps({'progress': 0, 'message': 'Processando arquivos e extraindo contexto...'})
211
  yield f"data: {json_data}\n\n"
212
- rag_context = get_relevant_context(file_paths, solicitacao_usuario)
213
  log_print(f"=== RAG CONTEXT OBTIDO: {len(rag_context)} chars ===")
214
 
215
  output_parser = StrOutputParser()
@@ -251,7 +252,7 @@ def process():
251
  "MAX_CHARS_PLACEHOLDER", str(max_chars)
252
  ).replace("<role>", f"<role>\n {contexto}") #injeta contexto
253
 
254
- prompt = PromptTemplate(template=updated_prompt_template, input_variables=["solicitacao_usuario", "rag_context"])
255
  json_data = safe_json_dumps({'progress': 15, 'message': 'Iniciando processamento paralelo...'})
256
  yield f"data: {json_data}\n\n"
257
 
@@ -262,7 +263,7 @@ def process():
262
  return
263
 
264
  chain = prompt | llm | output_parser
265
- thread = threading.Thread(target=run_chain_with_timeout, args=(chain, {"solicitacao_usuario": solicitacao_usuario, "rag_context": rag_context}, name))
266
  threads.append(thread)
267
  thread.start()
268
 
@@ -336,9 +337,9 @@ def process():
336
  return
337
 
338
  log_print("=== PROCESSANDO GROK ===")
339
- prompt_grok = PromptTemplate(template=updated_grok_template, input_variables=["solicitacao_usuario", "rag_context"])
340
  chain_grok = prompt_grok | grok_llm | output_parser
341
- resposta_grok = chain_grok.invoke({"solicitacao_usuario": solicitacao_usuario, "rag_context": rag_context})
342
 
343
  log_print(f"=== GROK TERMINOU: {len(resposta_grok)} chars ===")
344
 
@@ -363,10 +364,10 @@ def process():
363
  return
364
 
365
  log_print("=== PROCESSANDO SONNET ===")
366
- prompt_sonnet = PromptTemplate(template=updated_sonnet_template, input_variables=["solicitacao_usuario", "texto_para_analise"])
367
  claude_with_max_tokens = claude_llm.bind(max_tokens=20000)
368
  chain_sonnet = prompt_sonnet | claude_with_max_tokens | output_parser
369
- resposta_sonnet = chain_sonnet.invoke({"solicitacao_usuario": solicitacao_usuario, "texto_para_analise": resposta_grok})
370
 
371
  log_print(f"=== SONNET TERMINOU: {len(resposta_sonnet)} chars ===")
372
 
@@ -391,9 +392,9 @@ def process():
391
  return
392
 
393
  log_print("=== PROCESSANDO GEMINI ===")
394
- prompt_gemini = PromptTemplate(template=updated_gemini_template, input_variables=["solicitacao_usuario", "texto_para_analise"])
395
  chain_gemini = prompt_gemini | gemini_llm | output_parser
396
- resposta_gemini = chain_gemini.invoke({"solicitacao_usuario": solicitacao_usuario, "texto_para_analise": resposta_sonnet})
397
 
398
  log_print(f"=== GEMINI TERMINOU: {len(resposta_gemini)} chars ===")
399
 
@@ -455,7 +456,7 @@ def merge():
455
  "MAX_CHARS_PLACEHOLDER", str(max_chars)
456
  ).replace("<role>", f"<role>\n {contexto}") # injeta contexto
457
 
458
- prompt_merge = PromptTemplate(template=updated_merge_template, input_variables=["solicitacao_usuario", "texto_para_analise_grok", "texto_para_analise_sonnet", "texto_para_analise_gemini"])
459
 
460
  # MUDANÇA: Usar Claude Sonnet para o merge
461
  claude_with_max_tokens = claude_llm.bind(max_tokens=64000)
@@ -471,6 +472,7 @@ def merge():
471
  return
472
 
473
  resposta_merge = chain_merge.invoke({
 
474
  "solicitacao_usuario": data.get('solicitacao_usuario'),
475
  "texto_para_analise_grok": data.get('grok_text'),
476
  "texto_para_analise_sonnet": data.get('sonnet_text'),
 
187
  log_print(f"=== GENERATE_STREAM INICIADO - Mode: {current_mode} ===")
188
 
189
  solicitacao_usuario = form_data.get('solicitacao', '')
190
+ contexto = form_data.get('contexto', '')
191
 
192
  if current_mode == 'test':
193
  log_print("=== MODO TESTE EXECUTADO ===")
 
210
  log_print("=== INICIANDO PROCESSAMENTO REAL ===")
211
  json_data = safe_json_dumps({'progress': 0, 'message': 'Processando arquivos e extraindo contexto...'})
212
  yield f"data: {json_data}\n\n"
213
+ rag_context = get_relevant_context(file_paths, solicitacao_usuario, contexto)
214
  log_print(f"=== RAG CONTEXT OBTIDO: {len(rag_context)} chars ===")
215
 
216
  output_parser = StrOutputParser()
 
252
  "MAX_CHARS_PLACEHOLDER", str(max_chars)
253
  ).replace("<role>", f"<role>\n {contexto}") #injeta contexto
254
 
255
+ prompt = PromptTemplate(template=updated_prompt_template, input_variables=["contexto", "solicitacao_usuario", "rag_context"])
256
  json_data = safe_json_dumps({'progress': 15, 'message': 'Iniciando processamento paralelo...'})
257
  yield f"data: {json_data}\n\n"
258
 
 
263
  return
264
 
265
  chain = prompt | llm | output_parser
266
+ thread = threading.Thread(target=run_chain_with_timeout, args=(chain, {"contexto": contexto, "solicitacao_usuario": solicitacao_usuario, "rag_context": rag_context}, name))
267
  threads.append(thread)
268
  thread.start()
269
 
 
337
  return
338
 
339
  log_print("=== PROCESSANDO GROK ===")
340
+ prompt_grok = PromptTemplate(template=updated_grok_template, input_variables=["contexto", "solicitacao_usuario", "rag_context"])
341
  chain_grok = prompt_grok | grok_llm | output_parser
342
+ resposta_grok = chain_grok.invoke({"contexto": contexto, "solicitacao_usuario": solicitacao_usuario, "rag_context": rag_context})
343
 
344
  log_print(f"=== GROK TERMINOU: {len(resposta_grok)} chars ===")
345
 
 
364
  return
365
 
366
  log_print("=== PROCESSANDO SONNET ===")
367
+ prompt_sonnet = PromptTemplate(template=updated_sonnet_template, input_variables=["contexto", "solicitacao_usuario", "texto_para_analise"])
368
  claude_with_max_tokens = claude_llm.bind(max_tokens=20000)
369
  chain_sonnet = prompt_sonnet | claude_with_max_tokens | output_parser
370
+ resposta_sonnet = chain_sonnet.invoke({"contexto": contexto, "solicitacao_usuario": solicitacao_usuario, "texto_para_analise": resposta_grok})
371
 
372
  log_print(f"=== SONNET TERMINOU: {len(resposta_sonnet)} chars ===")
373
 
 
392
  return
393
 
394
  log_print("=== PROCESSANDO GEMINI ===")
395
+ prompt_gemini = PromptTemplate(template=updated_gemini_template, input_variables=["contexto", "solicitacao_usuario", "texto_para_analise"])
396
  chain_gemini = prompt_gemini | gemini_llm | output_parser
397
+ resposta_gemini = chain_gemini.invoke({"contexto": contexto, "solicitacao_usuario": solicitacao_usuario, "texto_para_analise": resposta_sonnet})
398
 
399
  log_print(f"=== GEMINI TERMINOU: {len(resposta_gemini)} chars ===")
400
 
 
456
  "MAX_CHARS_PLACEHOLDER", str(max_chars)
457
  ).replace("<role>", f"<role>\n {contexto}") # injeta contexto
458
 
459
+ prompt_merge = PromptTemplate(template=updated_merge_template, input_variables=["contexto", "solicitacao_usuario", "texto_para_analise_grok", "texto_para_analise_sonnet", "texto_para_analise_gemini"])
460
 
461
  # MUDANÇA: Usar Claude Sonnet para o merge
462
  claude_with_max_tokens = claude_llm.bind(max_tokens=64000)
 
472
  return
473
 
474
  resposta_merge = chain_merge.invoke({
475
+ "contexto": data.get('contexto'),
476
  "solicitacao_usuario": data.get('solicitacao_usuario'),
477
  "texto_para_analise_grok": data.get('grok_text'),
478
  "texto_para_analise_sonnet": data.get('sonnet_text'),