NicolasGaudemet commited on
Commit
1ef0daf
0 Parent(s):

Duplicate from NicolasGaudemet/WritingAssistant

Browse files
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: WritingAssistant
3
+ emoji: 📚
4
+ colorFrom: yellow
5
+ colorTo: indigo
6
+ sdk: gradio
7
+ sdk_version: 3.27.0
8
+ app_file: writing_assistant_app.py
9
+ pinned: true
10
+ duplicated_from: NicolasGaudemet/WritingAssistant
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
debut_par_defaut.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ Longtemps, je me suis couché de bonne heure. Parfois, à peine ma bougie éteinte, mes yeux se fermaient si vite que je n’avais pas le temps de me dire : « Je m’endors. » Et, une demi-heure après, la pensée qu’il était temps de chercher le sommeil m’éveillait ; je voulais poser le volume que je croyais avoir encore dans les mains et souffler ma lumière ; je n’avais pas cessé en dormant de faire des réflexions sur ce que je venais de lire, mais ces réflexions avaient pris un tour un peu particulier ; il me semblait que j’étais moi-même ce dont parlait l’ouvrage : une église, un quatuor, la rivalité de François Ier et de Charles Quint. Cette croyance survivait pendant quelques secondes à mon réveil ; elle ne choquait pas ma raison mais pesait comme des écailles sur mes yeux et les empêchait de se rendre compte que le bougeoir n’était plus allumé. Puis elle commençait à me devenir inintelligible, comme après la métempsycose les pensées d’une existence antérieure ; le sujet du livre se détachait de moi, j’étais libre de m’y appliquer ou non ; aussitôt je recouvrais la vue et j’étais bien étonné de trouver autour de moi une obscurité, douce et reposante pour mes yeux, mais peut-être plus encore pour mon esprit, à qui elle apparaissait comme une chose sans cause, incompréhensible, comme une chose vraiment obscure. Je me demandais quelle heure il pouvait être ; j’entendais le sifflement des trains qui, plus ou moins éloigné, comme le chant d’un oiseau dans une forêt, relevant les distances, me décrivait l’étendue de la campagne déserte où le voyageur se hâte vers la station prochaine ; et le petit chemin qu’il suit va être gravé dans son souvenir par l’excitation qu’il doit à des lieux nouveaux, à des actes inaccoutumés, à la causerie récente et aux adieux sous la lampe étrangère qui le suivent encore dans le silence de la nuit, à la douceur prochaine du retour.
instructions.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ Peux-tu réécrire SUITE en reprenant exactement le style littéraire de DEBUT
2
+ (ton, rythme, registre de vocabulaire, type de mots, taille des phrases, ponctuation...) ?
3
+ N'ajoute pas d'autres éléments narratifs que ceux mentionnés dans SUITE.
requirements.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ openai
suite_par_defaut.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ je bois du thé avec ma tante. je bouffe une madeleine.
writing_assistant_app.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import openai
2
+ import os
3
+ import gradio as gr
4
+
5
+ # Configure votre clé API
6
+ openai.api_key = os.environ['OpenaiKey']
7
+
8
+ def writing_assistant(debut, suite, instructions):
9
+ # Construction de la requête
10
+
11
+ with open('instructions.txt', 'r') as fichier:
12
+ # Lecture du contenu du fichier
13
+ instructions = fichier.read() + "\n" + instructions
14
+
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 API
23
+ response = openai.ChatCompletion.create(
24
+ model="gpt-3.5-turbo",
25
+ messages=messages,
26
+ temperature=0.9
27
+ )
28
+
29
+ # Get generated text
30
+ texte_reecrit = response.choices[0].message['content'].strip()
31
+
32
+ return texte_reecrit
33
+
34
+ # Définition d'inputs par défaut
35
+ with open('debut_par_defaut.txt', 'r') as fichier:
36
+ # Lecture du contenu du fichier
37
+ debut_par_defaut = fichier.read()
38
+
39
+ with open('suite_par_defaut.txt', 'r') as fichier:
40
+ # Lecture du contenu du fichier
41
+ suite_par_defaut = fichier.read()
42
+
43
+ # Création de l'interface Gradio
44
+ iface = 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'interface
57
+ iface.launch()