|
import openai |
|
import os |
|
import gradio as gr |
|
|
|
|
|
openai.api_key = os.environ['OpenaiKey'] |
|
|
|
def writing_assistant(debut, suite, instructions): |
|
|
|
|
|
with open('instructions.txt', 'r') as fichier: |
|
|
|
instructions = fichier.read() + "\n" + instructions |
|
|
|
prompt = f"DEBUT = '{debut}'\n SUITE = '{suite}' \n INSTRUCTIONS = {instructions}" |
|
|
|
messages = [ |
|
{"role": "system", "content": f"Tu es un assistant d'écriture. Tu aides un auteur contemporain à écrire, en t'inspirant de son style littéraire."}, |
|
{"role": "user", "content": prompt} |
|
] |
|
|
|
|
|
response = openai.ChatCompletion.create( |
|
model="gpt-3.5-turbo", |
|
messages=messages, |
|
temperature=0.9 |
|
) |
|
|
|
|
|
texte_reecrit = response.choices[0].message['content'].strip() |
|
|
|
return texte_reecrit |
|
|
|
|
|
with open('debut_par_defaut.txt', 'r') as fichier: |
|
|
|
debut_par_defaut = fichier.read() |
|
|
|
with open('suite_par_defaut.txt', 'r') as fichier: |
|
|
|
suite_par_defaut = fichier.read() |
|
|
|
|
|
iface = gr.Interface( |
|
fn=writing_assistant, |
|
inputs=[ |
|
gr.inputs.Textbox(lines=5, label="Début", default = debut_par_defaut), |
|
gr.inputs.Textbox(lines=5, label="Suite", default = suite_par_defaut), |
|
gr.inputs.Textbox(lines=2, label="Instructions additionnelles") |
|
], |
|
outputs=gr.outputs.Textbox(label="Texte réécrit"), |
|
title="Assistant d'écriture", |
|
description="Réécrit un brouillon en respectant un début avec un style donné." |
|
) |
|
|
|
|
|
iface.launch() |