gerador-cdu / app.py
itacaiunas's picture
Update app.py
5447dec
raw
history blame
1.9 kB
import gradio as gr
import openai
import requests
import PyPDF2
# Configure sua chave de API do OpenAI
openai.api_key = "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"
def buscar_cdu(palavras_chave):
# Carregar o arquivo PDF da URL
url = "https://huggingface.co/spaces/itacaiunas/gerador-cdu/blob/main/TABELA%20CDU%20DE%20C%C3%93DIGO%20DE%20ASSUNTO.pdf"
response = requests.get(url)
with open("dados-cdu.pdf", "wb") as file:
file.write(response.content)
# Extrair informações do arquivo PDF
classificacoes = extrair_classificacoes("dados-cdu.pdf")
# Encontrar a classificação relacionada às palavras-chave
for palavra_chave in palavras_chave:
for classificacao in classificacoes:
if palavra_chave.lower() in classificacao.lower():
return classificacao
return "Nenhuma classificação encontrada para as palavras-chave fornecidas."
def extrair_classificacoes(file_path):
classificacoes = []
with open(file_path, "rb") as file:
reader = PyPDF2.PdfFileReader(file)
for page in range(reader.numPages):
text = reader.getPage(page).extractText()
classificacoes.extend(text.split("\n"))
return classificacoes
# Interface Gradio
input_text = gr.inputs.Textbox(label="Inserir palavras-chave separadas por vírgulas")
button_label = "Gerar CDU"
output_text = gr.outputs.Textbox(label="Resultado")
def generate_cdu(palavras_chave):
if palavras_chave:
return buscar_cdu(palavras_chave.split(","))
else:
return ""
title = "Gerador de CDU"
description = "Insira palavras-chave separadas por vírgulas e clique em 'Gerar CDU' para obter a classificação relacionada."
gr.Interface(fn=generate_cdu, inputs=input_text, outputs=output_text, title=title, description=description, model_name="gpt-3.5-turbo", button_text=button_label).launch()