File size: 1,902 Bytes
efe1674
 
5447dec
 
efe1674
 
3de38ef
efe1674
5447dec
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
efe1674
 
 
e43ad01
efe1674
 
e43ad01
 
5447dec
efe1674
 
 
 
5447dec
efe1674
5447dec
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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()