groupeonepoint/WritingAssistant
3
1import openai2import os 3import gradio as gr4 5# Configure votre clé API6openai.api_key = os.environ['OpenaiKey']7 8def writing_assistant(debut, suite, instructions):9 # Construction de la requête10 11 with open('instructions.txt', 'r') as fichier:12 # Lecture du contenu du fichier13 instructions = fichier.read() + "\n" + instructions14 15 prompt = f"DEBUT = '{debut}'\n SUITE = '{suite}' \n INSTRUCTIONS = {instructions}"16 17 messages = [18 {"role": "system", "content": f"Tu es un assistant d'écriture. Tu aides un auteur contemporain à écrire, en t'inspirant de son style littéraire."},19 {"role": "user", "content": prompt}20 ]21 22 # Call GPT-3.5-turbo API23 response = openai.ChatCompletion.create(24 model="gpt-3.5-turbo",25 messages=messages,26 temperature=0.927 )28 29 # Get generated text30 texte_reecrit = response.choices[0].message['content'].strip()31 32 return texte_reecrit 33 34# Définition d'inputs par défaut35with open('debut_par_defaut.txt', 'r') as fichier:36 # Lecture du contenu du fichier37 debut_par_defaut = fichier.read()38 39with open('suite_par_defaut.txt', 'r') as fichier:40 # Lecture du contenu du fichier41 suite_par_defaut = fichier.read()42 43# Création de l'interface Gradio44iface = gr.Interface(45 fn=writing_assistant,46 inputs=[47 gr.inputs.Textbox(lines=5, label="Début", default = debut_par_defaut),48 gr.inputs.Textbox(lines=5, label="Suite", default = suite_par_defaut),49 gr.inputs.Textbox(lines=2, label="Instructions additionnelles")50 ],51 outputs=gr.outputs.Textbox(label="Texte réécrit"),52 title="Assistant d'écriture",53 description="par Nicolas \nRéécrit un brouillon en respectant un début avec un style donné."54)55 56# Lancer l'interface57iface.launch()