mariam-francais / app.py
Docfile's picture
Update app.py
b2f4575 verified
raw
history blame
3.56 kB
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 un style d'écriture {autheur}"""
response = model.generate_content(fi_prompt)
e = response.text
return e
def gpt_francais_cc(image):
pre = "fais un tableau des outils à utiliser pour ce commentaire composé.je veux les outils, repérage, et interprétation."
response = model.generate_content([pre, image])
print(response.text)
e = response.text
return e
markdown = r"""
{e}
""".format(e=e)
css = """
.generating {
display: none
}
"""
app1 = gr.Interface(
fn=gpt_francais,
title="Mariam-French",
description=description_french,
inputs=[gr.Textbox(label="Sujet:", lines=3),gr.Radio(["Etaye","refute"]),gr.Radio(["raffiné","Normal"],label="Style d'ecriture")],
outputs=gr.Markdown(markdown, latex_delimiters=[{ "left":"$$", "right":"$$", "display": True }]))
app2 = gr.Interface(
fn=gpt_francais_cc,
title="Mariam-Commentaire",
description="Ah..banana banana...",
inputs= gr.Image(type='pil'),
outputs=gr.Markdown(markdown,show_copy_button=True, latex_delimiters=[{ "left":"$$", "right":"$$", "display": True }]),
allow_flagging="never",
css=css)
iface = gr.TabbedInterface([app1,app2],["Français TA", "Commentaire Composé"])
iface.launch()