File size: 3,048 Bytes
a255fdc
c43e925
a255fdc
1f51e41
a255fdc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c43e925
 
 
 
 
 
 
 
183aaf8
bb86c51
 
 
 
c43e925
 
 
bb86c51
c43e925
 
 
 
 
 
 
 
 
bb86c51
 
c43e925
 
 
 
e59763c
756935c
 
bb86c51
1279ad7
bb86c51
6832ee5
658534a
 
 
 
 
6832ee5
 
183aaf8
 
 
 
658534a
6832ee5
51c2e7d
183aaf8
380ddb3
 
 
 
ffb5d20
 
 
756935c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import gradio as gr
import os
from transformers import pipeline
title = "❤️🧠MindfulStory📖💾MemoryMaker"
examples = [
    ["Music and art make me feel"],
    ["Feel better each day when you awake by"],
    ["Feel better physically by"],
    ["Practicing mindfulness each day"],
    ["Be happier by"],
    ["Meditation can improve health"],
    ["Spending time outdoors"],
    ["Stress is relieved by quieting your mind, getting exercise and time with nature"],
    ["Break the cycle of stress and anxiety"],
    ["Feel calm in stressful situations"],
    ["Deal with work pressure"],
    ["Learn to reduce feelings of overwhelmed"]
]
from gradio import inputs
from gradio.inputs import Textbox
from gradio import outputs

# PersistDataset -----
import os
import csv
import gradio as gr
from gradio import inputs, outputs
import huggingface_hub
from huggingface_hub import Repository, hf_hub_download, upload_file
from datetime import datetime

# created new dataset as awacke1/MindfulStory.csv
DATASET_REPO_URL = "https://huggingface.co/datasets/awacke1/MindfulStory.csv"
DATASET_REPO_ID = "awacke1/MindfulStory.csv"
DATA_FILENAME = "MindfulStory.csv"
DATA_FILE = os.path.join("data", DATA_FILENAME)
HF_TOKEN = os.environ.get("HF_TOKEN")

# Download dataset repo using hub download
try:
    hf_hub_download(
        repo_id=DATASET_REPO_ID,
        filename=DATA_FILENAME,
        cache_dir=DATA_DIRNAME,
        force_filename=DATA_FILENAME
    )
except:
    print("file not found")

# Set up cloned dataset from repo for operations
repo = Repository(
    local_dir="data", clone_from=DATASET_REPO_URL, use_auth_token=HF_TOKEN
)

generator1 = gr.Interface.load("huggingface/gpt2-large", api_key=HF_TOKEN)
generator2 = gr.Interface.load("huggingface/EleutherAI/gpt-neo-2.7B", api_key=HF_TOKEN)
generator3 = gr.Interface.load("huggingface/EleutherAI/gpt-j-6B", api_key=HF_TOKEN)

SplitterInputBox = gr.inputs.Textbox(lines=5, label="Enter a sentence to get another sentence.")

def AIMemory(name: str):
    if name and message:
        with open(DATA_FILE, "a") as csvfile:
            writer = csv.DictWriter(csvfile, fieldnames=["name", "message", "time"])
            writer.writerow({"name": name, "message": message, "time": str(datetime.now())})
        commit_url = repo.push_to_hub()
        
    return message


with open('Mindfulness.txt', 'r') as file:
        context = file.read()
    
#parallelModel = gr.Parallel(generator1, generator2, generator3, 
parallelModel = gr.Parallel(generator1, generator2, generator3, 
#inputs = SplitterInputBox, 
inputs=[
            #gr.inputs.Textbox(lines=7, default=context, label=""), 
            gr.inputs.Textbox(lines=3, default=context, label="Story starter")],
            examples=examples,
            title="Mindfulness Story Generation with Persistent Dataset Memory",
            description=f"Mindfulness Story Generation with Persistent Dataset Memory",
            article=f"Memory Dataset URL: [{DATASET_REPO_URL}]({DATASET_REPO_URL})" )
parallelModel.launch(share=False)