edumunozsala's picture
Update app.py
0deea1d
raw
history blame contribute delete
No virus
21.7 kB
import gradio as gr
import torch
from transformers import (
AutoModelForCausalLM,
AutoTokenizer,
BitsAndBytesConfig,
pipeline
)
model_id = "somosnlp/gemma-7b-it-legal-refugiados-es"
tokenizer_id = "philschmid/gemma-tokenizer-chatml"
tokenizer = AutoTokenizer.from_pretrained(tokenizer_id)
# Cargamos el modelo en 4 bits para agilizar la inferencia
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.float16,
bnb_4bit_use_double_quant=True,
)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto",
quantization_config=quantization_config,
)
print(f"Model loaded in {model.device}")
# Generamos el pipeline de generación de texto
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
# Definimos el eos token para el modelo
eos_token = tokenizer("<|im_end|>",add_special_tokens=False)["input_ids"][0]
def generate_inference(instruction, input, temperature):
prompt = pipe.tokenizer.apply_chat_template([{"role": "user",
"content": f"{instruction}/n{input}"}], tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, num_beams=1, temperature=float(temperature), top_k=50, top_p=0.95,
max_time= 300, eos_token_id=eos_token)
return outputs[0]['generated_text'][len(prompt):].strip()
examples=[
"¿Podrías explicar en qué supuestos se puede sustituir la resolución de expulsión por la salida obligatoria de un extranjero en España?",
"¿Podrías describir en detalle las circunstancias excepcionales que permiten obtener una autorización de residencia temporal por colaboración con autoridades, seguridad nacional o interés público?",
"Detalle paso a paso el procedimiento para obtener la autorización de trabajo tras solicitar la autorización de residencia temporal.",
"¿Podrías explicar detalladamente las causas de inadmisión a trámite de una solicitud de asilo según el apartado 6 del artículo 5 de la Ley 5/1984?",
"¿Podrías explicar detalladamente cuál es el procedimiento para presentar una solicitud de asilo dentro del territorio español dentro del plazo establecido por ley?",
]
contexts=[
"Salvo en supuestos en que se hubiera impuesto un periodo de cumplimiento voluntario de la sanción y éste hubiera sido inatendido por el extranjero, en caso de que éste dispusiera de medios económicos y asumiera el coste de la repatriación de manera voluntaria, el Delegado o Subdelegado del Gobierno que hubiera dictado dicha resolución podrá acordar, de oficio o a instancia de parte, su sustitución por la salida obligatoria si se cumplen las siguientes condiciones: a) Que la infracción que haya motivado la resolución de expulsión sea la contenida en el artículo 53.1.a) y b) de la Ley Orgánica 4/2000, de 11 de enero; b) Que existan garantías suficientes o pueda comprobarse la realización de la oportuna salida obligatoria prevista en el artículo 28.3.c) de la Ley Orgánica 4/2000; y c) Que el extranjero esté por su nacionalidad sometido a la obligación de visado para cruzar las fronteras exteriores en aplicación de un acuerdo de régimen común de visados, de carácter internacional, en el que España sea parte. 6. La salida del territorio nacional podrá acreditarse mediante certificado emitido por funcionario del puesto fronterizo, en el que conste la identidad del extranjero, su número de pasaporte, datos del medio de transporte y fecha en que abandonó el territorio nacional. 7. Si el extranjero formulase petición de protección internacional, se suspenderá la ejecución de la resolución de expulsión hasta que se haya inadmitido a trámite o resuelto, de conformidad con lo establecido en la normativa de protección internacional.",
"siempre que haya recaído resolución judicial finalizadora del procedimiento judicial en la que se establezca la condición de víctima de tales delitos. 2. A los extranjeros que acrediten sufrir una enfermedad sobrevenida de carácter grave que requiera asistencia sanitaria especializada, no accesible en su país de origen, y que el hecho de ser interrumpida o de no recibirla suponga un grave riesgo para la salud o la vida. A los efectos de acreditar la necesidad, será preciso un informe clínico expedido por la autoridad sanitaria correspondiente. Excepcionalmente, no se requerirá que la enfermedad sea sobrevenida en el caso de necesidad de prolongar la permanencia de un menor extranjero que se haya desplazado temporalmente a España a efectos de tratamiento médico en base a lo previsto en el artículo 187 de este Reglamento, una vez agotada la posibilidad de prorrogar la situación de estancia y siempre que dicha permanencia sea imprescindible para la continuación del tratamiento. La renovación de este tipo de autorizaciones se vinculará al tiempo mínimo necesario para completar el tratamiento. 3. A los extranjeros que acrediten que su traslado al país del que son originarios o proceden, a efectos de solicitar el visado que corresponda, implica un peligro para su seguridad o la de su familia, y que reúnen los demás requisitos para obtener una autorización temporal de residencia o de residencia y trabajo. Artículo 127. Autorización de residencia temporal por circunstancias excepcionales de colaboración con autoridades, razones de seguridad nacional o interés público. 1. Se podrá conceder una autorización a las personas que colaboren con las autoridades administrativas, policiales, fiscales o judiciales en cuestiones ajenas a la lucha contra redes organizadas, o cuando concurran razones de interés público o seguridad nacional que justifiquen la necesidad de autorizar su residencia en España.",
"En el plazo de un mes, contado desde la notificación de la resolución, salvo retrasos por causa justificada, el interesado deberá solicitar la autorización de residencia temporal prevista en el apartado 3 del artículo 45 del Reglamento de la Ley Orgánica 4/2000, de 11 de enero, sobre derechos y libertades de los extranjeros en España y su integración social. Una vez solicitada esta autorización, la resolución del Ministro del Interior por la que se autoriza la permanencia del interesado en España surtirá efectos de autorización de trabajo y permitirá, en su caso, el alta del interesado en la Seguridad Social, hasta que recaiga resolución expresa sobre la BOLETÍN OFICIAL DEL ESTADO LEGISLACIÓN CONSOLIDADA Página 12",
"CAPÍTULO II Inadmisión a trámite Sección 1.ª Procedimiento ordinario de inadmisión a trámite Artículo 17. Valoración de las causas de inadmisión a trámite. 1. La Oficina de Asilo y Refugio, cuando al valorar el contenido de una solicitud de asilo estime que en la misma concurre de modo manifiesto alguna de las circunstancias previstas en el apartado 6 del artículo 5 de la Ley 5/1984, reguladora del derecha de asilo y de la condición de refugiado, propondrá al Ministro de Justicia e Interior, a través del Director general de Procesos Electorales, Extranjería y Asilo; su inadmisión a trámite. La correspondiente propuesta motivada e individualizada deberá ir acompañada de la copia de la notificación dirigida al representante en España del ACNUR e informe del mismo, en su caso, que deberá emitirse en el plazo máximo de diez días desde la recepción de dicha comunicación. 2. La propuesta motivada de inadmisión a trámite deberá elevarse al Ministro de Justicia e Interior, en el plazo máximo de treinta días, desde la presentación de la solicitud. El transcurso del plazo de sesenta días desde la presentación de la solicitud sin que ésta se hubiera elevado al Ministro de Justicia e Interior, o sin que este órgano hubiere resuelto la misma, determinará la admisión a trámite de la solicitud. En este supuesto la dependencia que corresponda proveerá al solicitante de la autorización de permanencia a que se refiere el apartado 2 del artículo 13 del presente Reglamento. Sección 2.ª Inadmisión en frontera Artículo 18. Criterios de aplicación.",
"presentado la solicitud facilitará al solicitante atención médica cuando fuese preciso y le orientará acerca de los servicios sociales existentes para la cobertura de sus necesidades humanas inmediatas. Artículo 6. Remisión de la solicitud a la Oficina de Asilo y Refugio y comunicación a los organismos y entidades interesadas. 1. La remisión y comunicación de solicitudes de asilo e informes sobre las mismas a los órganos competentes y entre los organismos y entidades interesadas, se realizará utilizando las técnicas y medios electrónicos, informáticos y telemáticos más avanzados de que se disponga. 2. Las solicitudes de asilo presentadas en el extranjero serán cursadas a la Oficina de Asilo y Refugio a través del Ministerio de Asuntos Exteriores, acompañadas del correspondiente informe de la Misión Diplomática u Oficina Consular. 3. En los demás casos, las solicitudes de asilo, acompañadas de la documentación correspondiente, se remitirán por las dependencias mencionadas en el artículo 4 a la Oficina de Asilo y Refugio de forma directa e inmediata. 4. La Oficina de Asilo y Refugio comunicará la presentación de toda solicitud de asilo al representante en España del ACNUR. Esta comunicación se realizará dentro del plazo máximo de veinticuatro horas, a partir de su recepción por parte de la Oficina de Asilo y Refugio. Artículo 7. Tiempo de presentación de la solicitud. 1. La solicitud de asilo en el interior del territorio español habrá de presentarse en un plazo de un mes a contar desde la entrada del mismo, salvo en los supuestos en que el extranjero disfrute de un período de estancia legal superior al citado, en cuyo caso podrá presentarse antes de la expiración del mismo.",
]
gt_responses=[
"Un extranjero en España puede sustituir la resolución de expulsión por la salida obligatoria en los siguientes supuestos: 1. No se ha cumplido un periodo de cumplimiento voluntario de la sanción previamente impuesto. 2. El extranjero tiene medios económicos y está dispuesto a asumir el coste de la repatriación voluntaria. 3. La infracción que motivó la resolución de expulsión debe estar recogida en los artículos 53.1.a) y b) de la Ley Orgánica 4/2000, de 11 de enero. 4. Existen garantías suficientes o se puede comprobar la realización de la salida obligatoria prevista en el artículo 28.3.c) de la Ley Orgánica 4/2000. 5. El extranjero está sujeto a la obligación de visado para cruzar las fronteras exteriores en aplicación de un acuerdo de régimen común de visados de carácter internacional, en el que España sea parte. La salida del territorio nacional debe acreditarse mediante un certificado emitido por un funcionario del puesto fronterizo, en el que consten la identidad del extranjero, su número de pasaporte, datos del medio de transporte y fecha en que abandonó el territorio nacional. Si el extranjero presenta una petición de protección internacional, la ejecución de la resolución de expulsión se suspenderá hasta que se haya inadmitido a trámite o resuelto, de conformidad con la normativa de protección internacional.",
"La autorización de residencia temporal por circunstancias excepcionales relacionadas con la colaboración con autoridades, seguridad nacional o interés público, se puede otorgar en los siguientes casos: 1. A las víctimas de delitos graves, siempre que exista una resolución judicial final que determine su condición de víctima. 2. A los extranjeros que hayan adquirido una enfermedad grave y requieran asistencia sanitaria especializada que no esté disponible en su país de origen. Esto aplica si la interrupción o falta de tratamiento representa un grave riesgo para su salud o vida. Se requerirá un informe clínico de la autoridad sanitaria correspondiente para acreditar la necesidad. Sin embargo, no será necesario que la enfermedad sea sobrevenida en el caso de menores extranjeros que necesiten prolongar su estadía en España para tratamiento médico, siempre que la permanencia sea esencial para continuar con el tratamiento. La renovación de este tipo de autorizaciones estará vinculada al tiempo mínimo necesario para completar el tratamiento. 3. A los extranjeros que puedan acreditar que su regreso a su país de origen o procedencia implica un peligro para su seguridad o la de su familia, y que cumplan con los demás requisitos para obtener una autorización temporal de residencia o de residencia y trabajo. 4. Se podrá conceder una autorización a las personas que colaboren con las autoridades administrativas, policiales, fiscales o judiciales en asuntos ajenos a la lucha contra redes organizadas, siempre que existan razones de interés público o seguridad nacional que justifiquen la necesidad de autorizar su residencia en España",
"Claro, te detallaré paso a paso el procedimiento para obtener la autorización de trabajo después de solicitar la autorización de residencia temporal en España: 1. **Espera la resolución de tu solicitud de autorización de residencia temporal:** Una vez que hayas presentado tu solicitud, tendrás que esperar la resolución del Ministerio del Interior. Este proceso puede tardar hasta un mes, contado desde la notificación de la resolución, aunque puede haber retrasos justificados. 2. **Solicita la autorización de residencia temporal:** Después de recibir la notificación de la resolución que autoriza tu permanencia en España, tienes un plazo de un mes para solicitar la autorización de residencia temporal. Esta solicitud se hace de acuerdo con el apartado 3 del artículo 45 del Reglamento de la Ley Orgánica 4/2000, de 11 de enero, sobre derechos y libertades de los extranjeros en España y su integración social. 3. **Espera la resolución de la autorización de trabajo:** Una vez que hayas solicitado la autorización de residencia temporal, la resolución del Ministro del Interior que autoriza tu permanencia en España tendrá efectos de autorización de trabajo. Esto significa que podrás trabajar legalmente en España mientras se produce la resolución expresa sobre tu solicitud. 4. **Realiza el alta en la Seguridad Social:** Si es applicable, una vez que tengas la autorización de trabajo, podrás darte de alta en la Seguridad Social. Recuerda que este procedimiento se basa en la información proporcionada en el contexto y en el Reglamento de la Ley Orgánica 4/2000, de 11 de enero, sobre derechos y libertades de los extranjeros en España y su integración social. Es importante que consultes siempre la legislación actual y, si es necesario, busques asesoramiento legal especializado.",
"De acuerdo con el artículo 5 de la Ley 5/1984, reguladora del derecho de asilo y de la condición de refugiado, existen ciertas circunstancias que pueden dar lugar a la inadmisión a trámite de una solicitud de asilo. En particular, el apartado 6 del mencionado artículo establece las siguientes causas de inadmisión: 1. Cuando el solicitante de asilo posea una nacionalidad que le haga disfrutar de la condición de refugiado en virtud de los acuerdos internacionales celebrados por España. 2. Cuando el solicitante de asilo tenga acceso a una protección efectiva en un tercer país. 3. Cuando el solicitante de asilo se haya trasladado a España directamente desde un país en el que estuviera seguro, a menos que acredite haberlo abandonado por un miedo fundado a ser perseguido. 4. Cuando el solicitante de asilo haya tenido una oportunidad real de solicitar asilo en un tercer país en el que estuviera seguro y no lo haya hecho, a menos que acredite haberlo abandonado por un miedo fundado a ser perseguido. 5. Cuando la solicitud de asilo se considere manifiestamente infundada o fraudulenta. Cuando la Oficina de Asilo y Refugio valore el contenido de una solicitud de asilo y estime que concurre alguna de estas circunstancias de manera manifiesta, propondrá al Ministro de Justicia e Interior, a través del Director general de Procesos Electorales, Extranjería y Asilo, su inadmisión a trámite. La propuesta de inadmisión debe ir acompañada de la copia de la notificación dirigida al representante en España del ACNUR e informe del mismo, en su caso, que deberá emitirse en el plazo máximo de diez días desde la recepción de dicha comunicación. Es importante tener en cuenta que la propuesta motivada de inadmisión a trámite debe elevarse al Ministro de Justicia e Interior en el plazo máximo de treinta días desde la presentación de la solicitud. Si transcurren sesenta días desde la presentación de la solicitud sin que ésta se haya elevado al Ministro de Justicia e Interior o sin que este órgano haya resuelto la misma, se entenderá que la solicitud ha sido admitida a trámite y la dependencia correspondiente proveerá al solicitante de la autorización de permanencia a la que se refiere el apartado 2 del artículo 13 del presente Reglamento.",
"El procedimiento para presentar una solicitud de asilo dentro del territorio español dentro del plazo establecido por ley es el siguiente: 1. La solicitud de asilo debe presentarse en un plazo de un mes a contar desde la entrada en España, excepto en los casos en que el extranjero disfrute de un período de estancia legal superior al citado, en cuyo caso podrá presentarse antes de la expiración del mismo. (Artículo 7.1) 2. La solicitud debe presentarse en las dependencias mencionadas en el artículo 4, y será remitida directa e inmediatamente a la Oficina de Asilo y Refugio, acompañada de la documentación correspondiente. 3. La Oficina de Asilo y Refugio comunicará la presentación de toda solicitud de asilo al representante en España del ACNUR dentro del plazo máximo de veinticuatro horas, a partir de su recepción. (Artículo 6.4) 4. La presentación de la solicitud facilitará al solicitante atención médica cuando fuese preciso y le orientará acerca de los servicios sociales existentes para la cobertura de sus necesidades humanas inmediatas. (Artículo 6.1) 5. Las solicitudes de asilo presentadas en el extranjero serán cursadas a la Oficina de Asilo y Refugio a través del Ministerio de Asuntos Exteriores, acompañadas del correspondiente informe de la Misión Diplomática u Oficina Consular. 6. La remisión y comunicación de solicitudes de asilo e informes sobre las mismas a los órganos competentes y entre los organismos y entidades interesadas, se realizará utilizando las técnicas y medios electrónicos, informáticos y telemáticos más avanzados de que se disponga. (Artículo 6.2 y 6.3) Es importante tener en cuenta que la solicitud de asilo debe ser presentada dentro del plazo establecido y acompañada de la documentación correspondiente para garantizar un proceso exitoso."
]
def get_context(inp):
if inp in examples:
return contexts[examples.index(inp)]
else:
return ""
def clean_output():
return ""
def clean_all():
return "¿Quién es un solicitante de asilo/ protección internacional?","", "" #inp, cont, out
with gr.Blocks(theme="snehilsanyal/scikit-learn", title="QA Legal Refugiados") as demo:
title="Question Answering - Legal Refugiados v1.0"
gr.HTML("""
<p align="center">
<img src="/file=images/markus-winkler-Je1MDuITTF4-unsplash.jpg" width="300" height="150">
</p>
<h1 align="center">Question Answering - Legal Refugiados v1.0</h1>
<h2 align="center">Apoyo para informar y responder a consultas acerca de procedimientos y leyes de actuación y protección a asiliados y refugiados.</h2>
""")
inp = gr.Textbox(label="🌐 Pregunta a resolver",
info="Introduce la duda o pregunta que la que deseas obtener información.",
value="¿Quién es un solicitante de asilo/ protección internacional?",
interactive=True,
)
context=gr.Textbox(label="📰 Contexto",
info="Introduce el contexto de la pregunta",
placeholder="Contexto de la pregunta",
interactive=True,
)
out = gr.Textbox(label="🚀 Respuesta e información",
interactive=False,
placeholder="Aquí aparecerá la respuesta o información solicitada",
)
inp.change(clean_output, inputs=[], outputs=out)
with gr.Row():
with gr.Column(scale=3, min_width=600):
exam_box = gr.Examples(examples,
inp,
context,
fn=get_context,
run_on_click= True,
label= "📌 Ejemplos de cuestiones. Se les asignara el contexto automáticamente")
with gr.Column(scale=1, min_width=200):
temperature=gr.Slider(minimum=0.1, maximum=0.8, step=0.1, value=0.3, label="🌡 Temperature", visible=True)
inference_btn = gr.Button("Responder")
inference_btn.click(fn=generate_inference, inputs=[inp, context, temperature], outputs=out)
clean_context_btn = gr.Button("Limpiar contexto")
clean_context_btn.click(fn=clean_output, inputs=[], outputs=context)
clean_btn = gr.Button("Limpiar todo")
clean_btn.click(fn=clean_all, inputs=[], outputs=[inp, context, out])
#demo.queue(max_size=None)
demo.launch(debug=True, share=False, allowed_paths=["images/markus-winkler-Je1MDuITTF4-unsplash.jpg"])