Spaces:
Sleeping
Sleeping
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 | |
with open("rr.txt",'w') as var: | |
var.write(str(e)) | |
return e | |
markdown = r""" | |
{e} | |
""".format(e=e) | |
css = """ | |
.generating { | |
display: none | |
} | |
""" | |
app1 = gr.Interface( | |
fn=gpt_francais, | |
title="Mariam-TA", | |
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 | Etude de texte", | |
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", "Étude de texte"]) | |
iface.launch() |