teixeiramg commited on
Commit
5624aa2
·
verified ·
1 Parent(s): 926ff69

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -3
app.py CHANGED
@@ -1,12 +1,27 @@
1
  import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
 
3
 
4
  # Carregar o tokenizer e o modelo
5
  tokenizer = AutoTokenizer.from_pretrained("Locutusque/gpt2-xl-conversational")
6
  model = AutoModelForCausalLM.from_pretrained("Locutusque/gpt2-xl-conversational")
7
 
8
- # Função para gerar respostas
9
- def generate_response(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0.95):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
10
  inputs = tokenizer(prompt, return_tensors="pt")
11
  outputs = model.generate(
12
  inputs.input_ids,
@@ -20,7 +35,12 @@ def generate_response(prompt, max_length=100, temperature=0.7, top_k=50, top_p=0
20
  return response
21
 
22
  # Interface do Gradio
23
- iface = gr.Interface(fn=generate_response, inputs="text", outputs="text", title="GPT-2 Conversational")
 
 
 
 
 
24
 
25
  if __name__ == "__main__":
26
  iface.launch()
 
1
  import gradio as gr
2
  from transformers import AutoModelForCausalLM, AutoTokenizer
3
+ import fitz # PyMuPDF
4
 
5
  # Carregar o tokenizer e o modelo
6
  tokenizer = AutoTokenizer.from_pretrained("Locutusque/gpt2-xl-conversational")
7
  model = AutoModelForCausalLM.from_pretrained("Locutusque/gpt2-xl-conversational")
8
 
9
+ # Função para ler o PDF
10
+ def read_pdf(file_path):
11
+ doc = fitz.open(file_path)
12
+ text = ""
13
+ for page_num in range(len(doc)):
14
+ page = doc.load_page(page_num)
15
+ text += page.get_text()
16
+ return text
17
+
18
+ # Função para gerar respostas a partir do texto do PDF
19
+ def generate_response_from_pdf(pdf_file, max_length=200, temperature=0.7, top_k=50, top_p=0.95):
20
+ # Lê o conteúdo do PDF
21
+ pdf_text = read_pdf(pdf_file.name)
22
+ # Gerar prompt em português
23
+ prompt = f"Texto do PDF: {pdf_text}\nResposta em português:"
24
+ # Gera a resposta usando o texto do PDF como prompt
25
  inputs = tokenizer(prompt, return_tensors="pt")
26
  outputs = model.generate(
27
  inputs.input_ids,
 
35
  return response
36
 
37
  # Interface do Gradio
38
+ iface = gr.Interface(
39
+ fn=generate_response_from_pdf,
40
+ inputs=gr.inputs.File(label="Carregue um PDF"),
41
+ outputs="text",
42
+ title="GPT-2 Conversational com PDF em Português"
43
+ )
44
 
45
  if __name__ == "__main__":
46
  iface.launch()