Spaces:
Runtime error
Runtime error
update app.py
Browse files
app.py
CHANGED
@@ -174,7 +174,8 @@ model = LSGMBartForConditionalGeneration.from_pretrained(path, use_auth_token=au
|
|
174 |
tokenizer = AutoTokenizer.from_pretrained(path, use_auth_token=auth_token)
|
175 |
pipe = pipeline("text2text-generation", model=model, tokenizer=tokenizer)
|
176 |
|
177 |
-
|
|
|
178 |
prefix = "[Frais irrépétibles ; article 700]"
|
179 |
q_type = int(question[0])
|
180 |
num_beams = None if num_beams == 0 else num_beams
|
@@ -182,6 +183,11 @@ def sim(question, num_beams, text):
|
|
182 |
question = "Qui sont les demandeurs initiaux (ceux qui assignent) ?"
|
183 |
elif q_type == 1:
|
184 |
question = "Qui sont les demandeurs, le résultat de chaque demande et les quanta obtenus?"
|
|
|
|
|
|
|
|
|
|
|
185 |
|
186 |
text = prefix + " " + question + " <sep> " + text
|
187 |
generated_text = pipe(
|
@@ -197,25 +203,38 @@ def sim(question, num_beams, text):
|
|
197 |
generated_tokens = generated_text[0]["generated_token_ids"]
|
198 |
tokens = generated_tokens.tolist()
|
199 |
sentence = tokenizer.decode(tokens).replace("<s>", "").replace("</s>", "").strip()
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
elif q_type == 1:
|
205 |
demandes = sentence.split("<demande>")
|
206 |
final_results = []
|
207 |
for i, demande in enumerate(demandes):
|
208 |
results = []
|
209 |
elems = demande.split("<sep>")
|
210 |
-
for prefix, elem in zip(
|
211 |
results.append(prefix + "\n".join(elem.split("<liste>")))
|
212 |
final_results.append("Demande " + str(i+1) + "\n\n" +"\n".join(results))
|
213 |
return "\n\n".join(final_results)
|
214 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
iface = gr.Interface(
|
216 |
sim,
|
217 |
inputs=[
|
218 |
-
gr.Dropdown([
|
|
|
|
|
|
|
|
|
|
|
|
|
219 |
gr.Slider(label="Nombre de Beams", minimum=0, maximum=10, value=5, step=1),
|
220 |
gr.Textbox(label= "Décision de justice", placeholder="Décision à traiter...", lines=25)
|
221 |
],
|
@@ -225,7 +244,7 @@ iface = gr.Interface(
|
|
225 |
allow_flagging="auto",
|
226 |
title="Extraction",
|
227 |
description="Extrait les demandes relatives à l'article 700",
|
228 |
-
examples=[["Récapitulatif des demandes", 5, example_1]],
|
229 |
#live=True,
|
230 |
)
|
231 |
iface.launch()
|
|
|
174 |
tokenizer = AutoTokenizer.from_pretrained(path, use_auth_token=auth_token)
|
175 |
pipe = pipeline("text2text-generation", model=model, tokenizer=tokenizer)
|
176 |
|
177 |
+
|
178 |
+
def sim(question, X, num_beams, text):
|
179 |
prefix = "[Frais irrépétibles ; article 700]"
|
180 |
q_type = int(question[0])
|
181 |
num_beams = None if num_beams == 0 else num_beams
|
|
|
183 |
question = "Qui sont les demandeurs initiaux (ceux qui assignent) ?"
|
184 |
elif q_type == 1:
|
185 |
question = "Qui sont les demandeurs, le résultat de chaque demande et les quanta obtenus?"
|
186 |
+
elif q_type == 2:
|
187 |
+
if X == "":
|
188 |
+
return "Aucune partie renseignée."
|
189 |
+
prefix = "[Frais irrépétibles ; article 700" + X + "]"
|
190 |
+
question = "Combien a obtenu ce demandeur et quel est le résultat de sa demande ?"
|
191 |
|
192 |
text = prefix + " " + question + " <sep> " + text
|
193 |
generated_text = pipe(
|
|
|
203 |
generated_tokens = generated_text[0]["generated_token_ids"]
|
204 |
tokens = generated_tokens.tolist()
|
205 |
sentence = tokenizer.decode(tokens).replace("<s>", "").replace("</s>", "").strip()
|
206 |
+
|
207 |
+
|
208 |
+
def process_inputs(sentence, labels):
|
209 |
+
labels = [i + " : \n" for i in labels]
|
|
|
210 |
demandes = sentence.split("<demande>")
|
211 |
final_results = []
|
212 |
for i, demande in enumerate(demandes):
|
213 |
results = []
|
214 |
elems = demande.split("<sep>")
|
215 |
+
for prefix, elem in zip(labels, elems):
|
216 |
results.append(prefix + "\n".join(elem.split("<liste>")))
|
217 |
final_results.append("Demande " + str(i+1) + "\n\n" +"\n".join(results))
|
218 |
return "\n\n".join(final_results)
|
219 |
|
220 |
+
if q_type == 0:
|
221 |
+
sentence = sentence.split("<liste>")
|
222 |
+
return "Demandeurs initiaux :\n" + "\n".join(sentence)
|
223 |
+
elif q_type == 1:
|
224 |
+
return process_inputs(sentence, ["Demandeurs", "Résultat", "Montant obtenu"])
|
225 |
+
elif q_type == 2:
|
226 |
+
return process_inputs(sentence, ["Montant obtenu", "Résultat"])
|
227 |
+
|
228 |
iface = gr.Interface(
|
229 |
sim,
|
230 |
inputs=[
|
231 |
+
gr.Dropdown([
|
232 |
+
"0: Demandeur initial",
|
233 |
+
"1: Récapitulatif des demandes",
|
234 |
+
"2: Récapitulatif des demandes pour une partie"],
|
235 |
+
value="1: Récapitulatif des demandes",
|
236 |
+
label="Information à générer", info="Succeptible de changer."),
|
237 |
+
gr.Text(placeholder="Exemple: X..."),
|
238 |
gr.Slider(label="Nombre de Beams", minimum=0, maximum=10, value=5, step=1),
|
239 |
gr.Textbox(label= "Décision de justice", placeholder="Décision à traiter...", lines=25)
|
240 |
],
|
|
|
244 |
allow_flagging="auto",
|
245 |
title="Extraction",
|
246 |
description="Extrait les demandes relatives à l'article 700",
|
247 |
+
examples=[["Récapitulatif des demandes", "", 5, example_1]],
|
248 |
#live=True,
|
249 |
)
|
250 |
iface.launch()
|