File size: 2,912 Bytes
b6582d0
 
 
 
 
cc9e61e
 
069f015
 
b6582d0
 
 
f918da0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f0d25d5
069f015
f918da0
f0d25d5
f918da0
 
f0d25d5
 
 
 
 
 
 
f1b201b
f918da0
f0d25d5
 
 
 
 
f1b201b
 
f918da0
f1b201b
f0d25d5
 
 
f918da0
b6582d0
aa1d4a4
 
 
 
 
2fc5a34
 
 
b6582d0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import gradio as gr
import google.generativeai as genai
import os 
token=os.environ.get("TOKEN")

description_french = " Esseu je dois encore expliquer ?"


e = ""
genai.configure(
    api_key=token
)
generation_config = {
  "temperature": 1,
  "top_p": 0.95,
  "top_k": 64,
  "max_output_tokens": 8192,
}

safety_settings = [
  {
    "category": "HARM_CATEGORY_HARASSMENT",
    "threshold": "BLOCK_NONE"
  },
  {
    "category": "HARM_CATEGORY_HATE_SPEECH",
    "threshold": "BLOCK_NONE"
  },
  {
    "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
    "threshold": "BLOCK_NONE"
  },
  {
    "category": "HARM_CATEGORY_DANGEROUS_CONTENT",
    "threshold": "BLOCK_NONE"
  },
]

model = genai.GenerativeModel(model_name="gemini-1.5-flash-latest",
                              generation_config=generation_config,
                              safety_settings=safety_settings)


def gpt_francais(french_prompt, choix, autheur):
    global e
    if not french_prompt:
        return "Veuillez saisir un thème."

    if choix == "discuter":
        de = """Je veux faire mon travail de français de niveau lycé sous la forme d'une discussion argumentatif. 
        La question du travail est la suivante : "{french_prompt}". Tu devras discuter ce thème. 
        J'ai besoin d'une introduction (avec une problématique et l'annonce du plan), de 3 arguments (avec explication et exemple et illustration) pour la première partie. 
        Idem pour la deuxième partie (3 arguments pour l'antithèse). Je veux une phrase de transition entre les deux parties et, à la fin, une conclusion avec une ouverture (donnée sous forme de phrase interrogative). 
        Je veux que tu utilises le style d'écriture de : {autheur}"""
        answer = model.generate_content(de)
        e = answer.text
        return e
    else:
        fi_prompt = f"""Je veux faire mon travail de français de niveau lycé sous la forme d'un travail argumentatif. 
        La question du travail est la suivante : "{french_prompt}". Tu devras {choix} ce thème. 
        J'ai besoin d'une introduction (avec une problématique et l'annonce du plan), de 3 arguments (avec explication et exemple et illustration) et d'une conclusion avec une ouverture (donnée sous forme de phrase interrogative). 
        Je veux que tu utilises le style d'écriture de : {autheur}"""
        response = model.generate_content(fi_prompt)
        e = response.text
        return e

markdown = r"""
{e}
""".format(e=e)

    

iface = gr.Interface(
    fn=gpt_francais,
    title="Mariam-French",
    description=description_french,
    inputs=[gr.Textbox(label="Sujet:", lines=3),gr.Radio(["Etaye","refute"]),gr.Radio(["Victor Hugo","Marcel Proust","Albert Camus","Marguerite Duras","Gustave Flaubert","Prof"],label="Style d'ecriture")],
    outputs=gr.Markdown(markdown, latex_delimiters=[{ "left":"$$", "right":"$$", "display": True }]))


iface.launch()