DHEIVER commited on
Commit
9962ed4
·
verified ·
1 Parent(s): e0164c8

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -5
app.py CHANGED
@@ -72,7 +72,8 @@ def answer_question(question, knowledge_state):
72
  # Etapa de Recuperação (sem alterações)
73
  question_embedding = retriever_model.encode(question, convert_to_tensor=True)
74
  cosine_scores = util.cos_sim(question_embedding, knowledge_base_embeddings)
75
- top_k = min(5, len(knowledge_base)) # Aumentado para 5 para mais contexto
 
76
  top_results = torch.topk(cosine_scores, k=top_k, dim=-1)
77
  retrieved_context = "\n---\n".join([knowledge_base[i] for i in top_results.indices[0]])
78
 
@@ -84,9 +85,13 @@ def answer_question(question, knowledge_state):
84
  print(f"Pergunta: {question}")
85
  print(f"Contexto Recuperado (Top {top_k}):\n{retrieved_context}")
86
 
87
- # MUDANÇA PRINCIPAL: Prompt muito mais direto para forçar o uso do contexto
88
  prompt = f"""### Instruction:
89
- Use estritamente a informação fornecida no 'Contexto' para responder à 'Pergunta'. Não adicione informações externas. Se a pergunta for sobre explicar o documento, resuma os pontos principais do contexto.
 
 
 
 
90
 
91
  **Contexto:**
92
  {retrieved_context}
@@ -103,7 +108,8 @@ Use estritamente a informação fornecida no 'Contexto' para responder à 'Pergu
103
  # Ajuste nos parâmetros de geração
104
  outputs = generator_model.generate(
105
  input_ids,
106
- max_new_tokens=300, # Aumentado para permitir resumos mais longos
 
107
  do_sample=False,
108
  eos_token_id=generator_tokenizer.eos_token_id,
109
  pad_token_id=generator_tokenizer.eos_token_id
@@ -120,7 +126,7 @@ with gr.Blocks(theme=gr.themes.Soft()) as interface:
120
  knowledge_state = gr.State()
121
  gr.Markdown(
122
  """
123
- # 🤖 RAG - Auditor de Documentos (v6 - Prompt Corrigido)
124
  **1. Carregue seus arquivos**: Envie um ou mais certificados ou documentos nos formatos `.pdf` ou `.txt`.
125
  **2. Processe os arquivos**: Clique no botão para criar a base de conhecimento.
126
  **3. Faça perguntas**: Após o processamento, faça perguntas sobre o conteúdo dos documentos.
 
72
  # Etapa de Recuperação (sem alterações)
73
  question_embedding = retriever_model.encode(question, convert_to_tensor=True)
74
  cosine_scores = util.cos_sim(question_embedding, knowledge_base_embeddings)
75
+ # MUDANÇA: Aumentado para 7 para mais contexto
76
+ top_k = min(7, len(knowledge_base))
77
  top_results = torch.topk(cosine_scores, k=top_k, dim=-1)
78
  retrieved_context = "\n---\n".join([knowledge_base[i] for i in top_results.indices[0]])
79
 
 
85
  print(f"Pergunta: {question}")
86
  print(f"Contexto Recuperado (Top {top_k}):\n{retrieved_context}")
87
 
88
+ # MUDANÇA PRINCIPAL: Prompt mais inteligente para interpretar documentos técnicos
89
  prompt = f"""### Instruction:
90
+ Você é um assistente de IA especialista em análise de documentos técnicos. Sua tarefa é analisar o 'Contexto' para responder à 'Pergunta'.
91
+ Regras importantes:
92
+ 1. Use APENAS a informação do 'Contexto'. Não invente nada.
93
+ 2. Não use cabeçalhos de tabelas ou definições de siglas (como 'VI' ou 'VRef') como respostas. Encontre os valores reais associados a eles no texto.
94
+ 3. Responda de forma direta e concisa.
95
 
96
  **Contexto:**
97
  {retrieved_context}
 
108
  # Ajuste nos parâmetros de geração
109
  outputs = generator_model.generate(
110
  input_ids,
111
+ # MUDANÇA: Aumentado para permitir respostas mais detalhadas
112
+ max_new_tokens=350,
113
  do_sample=False,
114
  eos_token_id=generator_tokenizer.eos_token_id,
115
  pad_token_id=generator_tokenizer.eos_token_id
 
126
  knowledge_state = gr.State()
127
  gr.Markdown(
128
  """
129
+ # 🤖 RAG - Auditor de Documentos (v7 - Prompt Inteligente)
130
  **1. Carregue seus arquivos**: Envie um ou mais certificados ou documentos nos formatos `.pdf` ou `.txt`.
131
  **2. Processe os arquivos**: Clique no botão para criar a base de conhecimento.
132
  **3. Faça perguntas**: Após o processamento, faça perguntas sobre o conteúdo dos documentos.