Spaces:
Sleeping
Sleeping
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() | |