File size: 3,863 Bytes
4d40495
 
36a4776
 
5cb2fe9
 
36a4776
 
 
 
4d40495
5cb2fe9
4d40495
4f46a2a
 
5cb2fe9
 
b6c6f86
 
90b2663
4f46a2a
 
 
d7735ce
 
286369d
d7735ce
62f6c6c
4f46a2a
5cb2fe9
286369d
d7735ce
4d40495
550a11e
4f46a2a
 
 
 
550a11e
 
 
 
 
 
 
 
 
 
5cb2fe9
4d40495
4f46a2a
05878aa
944d3ae
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
55
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(Ciclo, Ciclo_Max, numero_creditos, NroDiasAtraso, NroCuotaDias, DiasCancel, DiaRestPago, PctPagoDias_Prom, PctPagoDias, Tipo_Cancelacion, Rango_PagoPlazo, NroCuotasC, SemanaCancelacion, deposit, ESTADO_CIVIL):
    prompt = generate_prompt(Ciclo, Ciclo_Max, numero_creditos, NroDiasAtraso, NroCuotaDias, DiasCancel, DiaRestPago, PctPagoDias_Prom, PctPagoDias, Tipo_Cancelacion, Rango_PagoPlazo, NroCuotasC, SemanaCancelacion, deposit, ESTADO_CIVIL)
    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 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= "Miio Model",
                      description = description,
                      inputs=[
                              gr.inputs.Textbox(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.Textbox(lines=1, placeholder="2", label='DiasCancel'),
                              gr.inputs.Textbox(lines=1, placeholder="-26", label='DiaRestPago'),
                              gr.inputs.Textbox(lines=1, placeholder="7,143", label='PctPagoDias_Prom'),
                              gr.inputs.Textbox(lines=1, placeholder="7,143", label='PctPagoDias'),
                              gr.inputs.Textbox(lines=1, placeholder="No_Liquidado_Vig", label='Tipo_Cancelacion'),
                              gr.inputs.Textbox(lines=1, placeholder="e. No_Liq_vig", label='Rango_%PagoPlazo'),
                              gr.inputs.Textbox(lines=1, placeholder="4", label='NroCuotas'),
                              gr.inputs.Textbox(lines=1, placeholder="2", label='SemanaCancelación'),
                              gr.inputs.Textbox(lines=1, placeholder="500", label='deposit'),
                              gr.inputs.Textbox(lines=1, placeholder="Casado", label='ESTADO_CIVIL'),
                              ],
                      outputs=[
                               gr.outputs.Textbox(label="Resultado"),
                              ],
                      examples= examples
                     )
iface.launch(enable_queue=True)