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()