|
import gradio as gr |
|
|
|
import os |
|
|
|
|
|
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) |