maurya commited on
Commit
bbf8ef9
1 Parent(s): 6c4f24b

Make it works

Browse files
Files changed (1) hide show
  1. app.py +26 -20
app.py CHANGED
@@ -4,36 +4,42 @@ from transformers import AutoTokenizer, AutoModelForSeq2SeqLM
4
  tokeniser = AutoTokenizer.from_pretrained("rbawden/CCASS-semi-auto-titrages-base")
5
  model = AutoModelForSeq2SeqLM.from_pretrained("rbawden/CCASS-semi-auto-titrages-base")
6
 
 
 
7
 
8
- def generate_titre(matiere_and_titrage_prefix):
9
- inputs = tokeniser(matiere_and_titrage_prefix, return_tensors="pt")
10
- outputs = model.generate(inputs["input_ids"])
11
- res = tokeniser.batch_decode(
12
- outputs, skip_special_tokens=True, clean_up_tokenisation_spaces=True
13
- )
14
- if not (
15
- confirm := gr.inputs.Confirm(
16
- label=f"Le modèle prédit que le titre est {res}. Est-ce le cas ?",
17
- default=False,
18
- ).value
19
- ):
20
- return {"FAIL"}
21
- pred_titre += f"<t> {res} <t>"
22
- inputs = tokeniser(matiere_and_titrage_prefix, return_tensors="pt")
23
  outputs = model.generate(inputs["input_ids"])
24
  res = tokeniser.batch_decode(
25
  outputs, skip_special_tokens=True, clean_up_tokenisation_spaces=True
26
  )
27
- return {"next_prediction": res}
 
28
 
29
 
30
- input_matter = gr.inputs.Textbox(label="Matière")
31
- input_sommaire = gr.inputs.Textbox(label="Sommaire")
32
- output_text = gr.outputs.Textbox(label="Next Prediction")
33
  pred_titre = ""
34
- matiere_and_titrage_prefix = f"{input_matter} {pred_titre} {input_sommaire}"
 
 
 
 
 
 
 
 
 
 
 
 
35
 
36
 
 
37
  gr.Interface(
38
  fn=generate_titre, inputs=matiere_and_titrage_prefix, outputs=output_text
39
  ).launch()
 
 
 
4
  tokeniser = AutoTokenizer.from_pretrained("rbawden/CCASS-semi-auto-titrages-base")
5
  model = AutoModelForSeq2SeqLM.from_pretrained("rbawden/CCASS-semi-auto-titrages-base")
6
 
7
+ def yes_button_func():
8
+ return True
9
 
10
+ memory_titres = ""
11
+
12
+ def generate_titre(matiere, sommaire):
13
+ global memory_titres
14
+ inp = [' '.join([matiere, memory_titres," <t> ", sommaire])]
15
+ inputs = tokeniser(inp, return_tensors="pt")
 
 
 
 
 
 
 
 
 
16
  outputs = model.generate(inputs["input_ids"])
17
  res = tokeniser.batch_decode(
18
  outputs, skip_special_tokens=True, clean_up_tokenisation_spaces=True
19
  )
20
+ memory_titres += f" <t> {res[0]}"
21
+ return res[0]
22
 
23
 
 
 
 
24
  pred_titre = ""
25
+ with gr.Blocks() as demo:
26
+ with gr.Tab("Titrage"):
27
+ input_matter = gr.Textbox(label="Matière")
28
+ input_sommaire = gr.Textbox(label="Sommaire")
29
+ output_text = gr.Textbox(label="Titre prédit")
30
+ pred_button = gr.Button("Prédiction du prochain titre")
31
+ #yes_button = gr.Button("Bon titre")
32
+ gr.Examples([["SECURITE SOCIALE", "L'article R. 243-59 du code de la sécurité sociale n'exige pas que l'avis préalable qu'il prévoit mentionne le caractère concerté du contrôle. Dès lors, c'est à bon droit que la cour d'appel, sans encourir les griefs du moyen, a dit que la circonstance que l'avis préalable ne fasse pas mention que le contrôle s'inscrivait dans le cadre d'un contrôle concerté, décidé par l'Agence centrale des organismes de sécurité sociale, était sans incidence sur sa régularité (1er moyen). Aux termes de l'article L. 243-7-2 du code de la sécurité sociale, afin d'en restituer le véritable caractère, les organismes mentionnés aux articles L. 213-1 et L. 752-1 sont en droit d'écarter, comme ne leur étant pas opposables, les actes constitutifs d'un abus de droit, soit que ces actes aient un caractère fictif, soit que, recherchant le bénéfice d'une application littérale des textes à l'encontre des objectifs poursuivis par leurs auteurs, ils n'aient pu être inspirés par aucun autre motif que celui d'éluder ou d'atténuer les contributions et cotisations sociales d'origine légale ou conventionnelle auxquelles le cotisant est tenu au titre de la législation sociale ou que le cotisant, s'il n'avait pas passé ces actes, aurait normalement supportées, eu égard à sa situation ou à ses activités réelles. Lorsque l'organisme de sécurité sociale écarte un acte juridique dans les conditions ci-dessus, il se place nécessairement sur le terrain de l'abus de droit. Il en résulte qu'il doit se conformer à la procédure prévue par le texte précité et les articles R. 243-60-1 et R. 243-60-3 du code de la sécurité sociale et qu'à défaut de ce faire, les opérations de contrôle et celles, subséquentes, de recouvrement sont entachées de nullité. Viole ces textes, dans leur rédaction applicable au litige, la cour d'appel qui, alors qu'elle constatait que l'organisme de recouvrement avait écarté la convention litigieuse au motif qu'elle avait pour seul objet d'éluder le paiement des cotisations sociales, ce dont il résultait qu'il s'était implicitement placé sur le terrain de l'abus de droit pour opérer le redressement, n'a pas tiré les conséquences légales de ses constatations (2e moyen)"]], [input_matter, input_sommaire])
33
+ matiere_and_titrage_prefix = [input_matter, input_sommaire]
34
+ print(matiere_and_titrage_prefix)
35
+
36
+ pred_button.click(fn=generate_titre, inputs=matiere_and_titrage_prefix, outputs=output_text)
37
+ #yes_button.click(fn=generate_titre, inputs=matiere_and_titrage_prefix, outputs=output_text)
38
 
39
 
40
+ """
41
  gr.Interface(
42
  fn=generate_titre, inputs=matiere_and_titrage_prefix, outputs=output_text
43
  ).launch()
44
+ """
45
+ demo.launch()