WritingAssistant / writing_assistant_app.py
NicolasGaudemet's picture
Duplicate from NicolasGaudemet/WritingAssistant
1ef0daf
import openai
import os
import gradio as gr
# Configure votre clé API
openai.api_key = os.environ['OpenaiKey']
def writing_assistant(debut, suite, instructions):
# Construction de la requête
with open('instructions.txt', 'r') as fichier:
# Lecture du contenu du 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}
]
# Call GPT-3.5-turbo API
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=messages,
temperature=0.9
)
# Get generated text
texte_reecrit = response.choices[0].message['content'].strip()
return texte_reecrit
# Définition d'inputs par défaut
with open('debut_par_defaut.txt', 'r') as fichier:
# Lecture du contenu du fichier
debut_par_defaut = fichier.read()
with open('suite_par_defaut.txt', 'r') as fichier:
# Lecture du contenu du fichier
suite_par_defaut = fichier.read()
# Création de l'interface Gradio
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="par Nicolas \nRéécrit un brouillon en respectant un début avec un style donné."
)
# Lancer l'interface
iface.launch()