ancerlop commited on
Commit
a7ec4d5
·
1 Parent(s): 74743c6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +120 -8
app.py CHANGED
@@ -6,8 +6,91 @@ client = InferenceClient(
6
  "mistralai/Mistral-7B-Instruct-v0.1"
7
  )
8
 
9
- rag_text = "Este es el texto RAG"
10
- prompt_template_text = "Este es el texto del template de prompt"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
 
12
  def format_prompt(message):
13
  prompt = "<s>"
@@ -34,10 +117,39 @@ def generate(prompt):
34
 
35
  def process_input(text, rag, prompt_template):
36
  prompt = text
37
- if rag:
38
- prompt += rag_text
39
- if prompt_template:
40
- prompt += prompt_template_text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  output = generate(prompt)
42
 
43
  # Generamos el archivo JSON
@@ -66,8 +178,8 @@ def create_interface():
66
  return output, classification_types_checkboxes
67
 
68
  examples = [
69
- ["Ejemplo de texto", True, False],
70
- ["Otro ejemplo", False, True]
71
  ]
72
 
73
  # Creamos la interfaz
 
6
  "mistralai/Mistral-7B-Instruct-v0.1"
7
  )
8
 
9
+ system_prompt = """[INST] <<SYS>>
10
+ You are a helpful, respectful and honest assistant. Always answer in spanish. Never answer in English. Always answer as
11
+ helpfully as possible, while being safe.
12
+
13
+
14
+ If a question does not make any sense, or is not factually coherent, explain
15
+ why instead of answering something not correct. If you don't know the answer
16
+ to a question, please don't share false information.
17
+
18
+
19
+ Your goal is to provide answers relating to a legal document, making classifications of arguments inside an allegation.<</SYS>>
20
+ """
21
+
22
+ rag_text = """
23
+ """
24
+
25
+ format_text = """{
26
+ 'tipo': 'clasificación del argumento (Argumento tipo X)',
27
+ 'descripcion': 'Descripcion breve del argumento',
28
+ 'texto_referencia': 'texto original completo perteneciente a dicho argumento'
29
+ }"""
30
+
31
+ prompt_template_text = """
32
+ --- Lista Argumentos ---
33
+ * Argumento tipo 49 (Desvirtuación de los hechos, el denunciado no está de acuerdo con el relato de los hechos)
34
+ * Argumento tipo 304 (El denunciado solicita medios de prueba)
35
+ * Argumento tipo 994 (El denunciado solicita fotografía como medio de prueba, desafiando el relato del agente denunciante)
36
+ * Argumento tipo 1002 (Prescripción, el delito ha prescrito)
37
+ * Argumento tipo 2014 (Principio de proporcionalidad, denunciado considera sanción excesiva)
38
+ * Argumento tipo 2027 (Niega desobediencia de señales de tráfico de prohibición)
39
+ * Argumento tipo 2002 (Denuncia no notificada en el momento en el que se formuló)
40
+ * Argumento tipo 1001 (Defecto de forma en la denuncia, la sanción contiene algún error)
41
+ """
42
+
43
+ recorte = """
44
+ PRIMERA.- Que los hechos descritos en la denuncia no se corresponden con la realidad de lo
45
+ sucedido, por lo que los niego expresamente. La carga de la prueba corresponde al órgano instructor
46
+ del procedimiento, en virtud del principio de presunción de inocencia recogido en el art.24 de la
47
+ Constitución Española y en el art. 53 de la Ley 39/2015 de 1 de Octubre del Procedimiento
48
+ Administrativo Común de las Administraciones Públicas.
49
+
50
+
51
+ SEGUNDA.- Que como consecuencia de lo manifestado con anterioridad, intereso la apertura del
52
+ periodo de prueba, conforme al el art. 13 del Real Decreto 320/1994 en relación con los arts. 77 y 78
53
+ de la Ley 39/2015 y propongo la práctica de los medios de prueba, conforme a lo dispuesto en el 13.1
54
+ del RD. 320/1994, que esta parte considera imprescindibles para poder ejercer su derecho a la
55
+ defensa, con expresa petición de la notificación de su resultado y sin perjuicio de que una vez recibidas
56
+ pueda realizar cuantas alegaciones estime pertinentes, que se deja interesada como sigue:
57
+
58
+
59
+ A- Documental, para que se incorpore al expediente INFORME DEL AGENTE DENUNCIANTE
60
+ relativo a las circunstancias de la presunta infracción, con expresión en concreto de su consideración
61
+ acerca de la relación entre la conducta del presunto infractor y su determinación como infracción
62
+ tipificada
63
+
64
+
65
+ TERCERA.- .Que sobre los hechos denunciados, resulta excesiva la sanción, siendo de
66
+ aplicación el principio de proporcionalidad que se recoge en el art.129 de la Ley 39/2015 de 1 de
67
+ Octubre del Procedimiento Administrativo Común de las Administraciones Públicas:
68
+
69
+
70
+ “La iniciativa que se proponga deberá contener la regulación imprescindible para atender la
71
+
72
+
73
+ necesidad a cubrir con la norma, tras constatar que no existen otras medidas menos restrictivas de
74
+ derechos, o que impongan menos obligaciones a los destinatarios.”
75
+
76
+
77
+ Es por lo que esta parte no logra entender por que se ha impuesto la sanción en su grado máximo.
78
+
79
+
80
+ CUARTA .- Que conforme al art.53.2 a) de la Ley 39/2015 de 1 de Octubre del Procedimiento
81
+ Administrativo Común de las Administraciones Públicas, SOLICITO la comunicación de la identidad
82
+ de la autoridad competente para imponerla sanción y de la norma que le atribuya tal competencia.
83
+ """
84
+
85
+ recorte2 = """
86
+ "PRIMERO.- Que entendemos que la actuación policial debe regirse en todo momento por los “principios .de oportunidad, congruencia y proporcionalidad, entendiendo esta parte que ha existido una confusión de apreciación en el momento de la denuncia, pues no existe más prueba en contra que la foto adjuntada a la denuncia, apreciando claramente como venimos diciendo que las luces de freno están activadas por el conductor.
87
+
88
+
89
+ SEGUNDO.- Se debe alegar la PRESCRIPCION de la infracción, ya que, en el presente expediente, entre la última gestión llevada a cabo por la administración y la actual notificación, ha transcurrido, cumplidamente, el plazo establecido en el artículo 112.1 del RDL 6/2015, de 30 de octubre, por el que se aprueba el Texto Refundido de la Ley sobre Tráfico, Circulación de Vehículos a Motor y Seguridad Vial, el cual establece que será de tres meses para las infracciones leves y de seis meses para las graves y muy graves, comenzando a_contar a partir del mismo día en que los hechos se hubiesen cometido o desde la última gestión realizada en el expediente.
90
+
91
+
92
+ TERCERO.- Niego los hechos que se imputan, y a tales efectos solicito la aportación por el Agente denunciante de los elementos probatorios en que se fundamenta el hecho denunciado, al efecto de desvirtuar la presunción de veracidad “iuris tantum” establecida por el"
93
+ """
94
 
95
  def format_prompt(message):
96
  prompt = "<s>"
 
117
 
118
  def process_input(text, rag, prompt_template):
119
  prompt = text
120
+ if not(rag):
121
+ rag_text = " "
122
+ if not(prompt_template):
123
+ prompt_template_text = " "
124
+
125
+ prompt = f"""
126
+ {system_prompt}
127
+
128
+ Teniendo en cuenta que los argumentos se clasifican de la siguiente manera:
129
+ {prompt_template_text}
130
+
131
+ Partiendo del siguiente fragmento de texto:
132
+
133
+ Fragmento:
134
+ ---------------------------------------------------------------
135
+ {text}
136
+ --------------------------------------------------------------
137
+
138
+
139
+ Identifica y clasifica los argumentos expuestos en el anterior fragmento de texto siguiendo estos pasos:
140
+ - Primero: Determina cúantos argumentos se exponen en el fragmento proporcionado.
141
+ - Segundo: Determina el contenido de cada uno de los argumentos encontrados.
142
+ - Tercero: Clasifica cada uno de los argumentos encontrados en el fragmento con el tipo de argumento que le corresponda según la 'Lista Argumentos''
143
+ - Cuarto: Este es el paso más importante. Devuelve una lista de JSON, cuya longitud será igual al número de argumentos encontrados, que contenga los argumentos clasificados con el siguiente formato:
144
+ {format_text}
145
+
146
+
147
+ Recuerda responder en español. Los argumentos que no se puedan clasificar o que *claramente* no encajen con ningún tipo predefinido serán clasificados como 'Desconocido'. Recuerda que los tipos de argumentos de representan con un número que puedes encontrar en la información anterior.
148
+ Respira profundamente y piensa paso a paso.
149
+ [/INST]
150
+
151
+
152
+ """
153
  output = generate(prompt)
154
 
155
  # Generamos el archivo JSON
 
178
  return output, classification_types_checkboxes
179
 
180
  examples = [
181
+ [recorte, False, True],
182
+ [recorte, False, True]
183
  ]
184
 
185
  # Creamos la interfaz