File size: 3,404 Bytes
4d40495
 
36a4776
 
5cb2fe9
 
36a4776
 
 
 
4d40495
5cb2fe9
4d40495
4f46a2a
 
5cb2fe9
 
 
90b2663
4f46a2a
 
 
d7735ce
 
5cb2fe9
d7735ce
62f6c6c
4f46a2a
5cb2fe9
 
d7735ce
4d40495
4f46a2a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5cb2fe9
4d40495
4f46a2a
05878aa
 
131353d
b8b622c
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
52
53
54
import gradio as gr

import os

# Use a pipeline as a high-level helper
from transformers import pipeline
from huggingface_hub import login

HF_TOKEN = os.getenv('HF_TOKEN')
login(token=HF_TOKEN)

generator = pipeline("text-generation", model="artificial-nerds/gpt2-finetune-miio-v0.1")

def generate_prompt(Ciclo, Ciclo_Max, numero_creditos, NroDiasAtraso, NroCuotaDias, DiasCancel, DiaRestPago, PctPagoDias_Prom, PctPagoDias, Tipo_Cancelacion, Rango_PagoPlazo, NroCuotasC, SemanaCancelacion, deposit, ESTADO_CIVIL):
  prompt = f'Ciclo: {Ciclo}\nCiclo_Max: {Ciclo_Max}\nnumero_creditos: {numero_creditos}\nNroDiasAtraso: {NroDiasAtraso}\nNroCuotaDias: {NroCuotaDias}\nDiasCancel: {DiasCancel}\nDiaRestPago: {DiaRestPago}\nPctPagoDias_Prom: {PctPagoDias_Prom}\nPctPagoDias: {PctPagoDias}\nTipo_Cancelacion: {Tipo_Cancelacion}\nRango_PagoPlazo: {Rango_PagoPlazo}\nNroCuotasC: {NroCuotasC}\nSemanaCancelacion: {SemanaCancelacion}\ndeposit: {deposit}\nESTADO_CIVIL: {ESTADO_CIVIL}\n\nA partir de la información anterior, indica si el registro es Bueno o Malo para un crédito:'
  return prompt

def test(prompt):
    outputs = generator(prompt, max_length=768, num_return_sequences=1, do_sample=True, top_p=0.95, top_k=50)
    text = outputs[0]["generated_text"]
    result = text.splitlines()[-1].split(":")[-1].strip()
    return result

description = """
Test GPT2 Model
"""

examples = [["1", "1", "1", "2", "28", "2", "-26", "7,143", "7,143", "No_Liquidado_Vig", "e. No_Liq_vig", "4", "2", "500", "Casado" ]]
iface = gr.Interface(fn=test,
                      title= "GPT2 Model",
                      description = description,
                      inputs=[
                              gr.inputs.Text(lines=1, placeholder="1", label='Ciclo'),
                              gr.inputs.Textbox(lines=1, placeholder="1", label='Ciclo_Max'),
                              gr.inputs.Textbox(lines=1, placeholder="1", label='numero_creditos'),
                              gr.inputs.Textbox(lines=1, placeholder="2", label='NroDiasAtraso'),
                              gr.inputs.Textbox(lines=1, placeholder="28", label='NroCuotasDias'),
                              gr.inputs.Text(lines=1, placeholder="2", label='DiasCancel'),
                              gr.inputs.Text(lines=1, placeholder="-26", label='DiaRestPago'),
                              gr.inputs.Text(lines=1, placeholder="7,143", label='PctPagoDias_Prom'),
                              gr.inputs.Text(lines=1, placeholder="7,143", label='PctPagoDias'),
                              gr.inputs.Text(lines=1, placeholder="No_Liquidado_Vig", label='Tipo_Cancelacion'),
                              gr.inputs.Text(lines=1, placeholder="e. No_Liq_vig", label='Rango_%PagoPlazo'),
                              gr.inputs.Text(lines=1, placeholder="4", label='NroCuotas'),
                              gr.inputs.Text(lines=1, placeholder="2", label='SemanaCancelación'),
                              gr.inputs.Text(lines=1, placeholder="500", label='deposit'),
                              gr.inputs.Text(lines=1, placeholder="Casado", label='ESTADO_CIVIL'),
                              ],
                      outputs=[
                               gr.outputs.Textbox(label="Resultado"),
                              ],
                      examples= [default_prompt]
                     )
iface.launch(enable_queue=True)