File size: 3,829 Bytes
506e4bb
d4693e1
528a3b9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cf6c151
 
528a3b9
cf6c151
fdf1635
528a3b9
0ac4753
528a3b9
e29067d
528a3b9
 
 
 
 
0ac4753
 
 
6de3f2b
1626664
 
 
 
 
babe8c4
1626664
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d493af9
506e4bb
2d8d102
 
 
bb13c60
5ade1d1
f72605e
 
 
 
 
 
 
 
 
 
 
 
5ade1d1
 
506e4bb
 
 
d1c3bb2
506e4bb
045337f
506e4bb
1af4d9f
56b46de
1626664
506e4bb
 
 
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import gradio as gr
import os

# 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")
    
def AIMemory(title: str, story: str):
    if title and story:
        with open(DATA_FILE, "a") as csvfile:
            writer = csv.DictWriter(csvfile, fieldnames=["title", "story", "time"])
            writer.writerow({"title": title, "story": story, "time": str(datetime.now())})
        commit_url = repo.push_to_hub()
    return ""


# 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)

def calculator(intro, operator, outro):
    if operator == "add":
        output = generator2(intro) + generator3(outro)
        title = intro + " " + outro
        saved = AIMemory(title, output)
        return output
    elif operator == "subtract":
        output = generator2(outro) + generator3(intro)
        title = outro + " " + intro
        saved = AIMemory(title, output)
        output = output.replace(intro, "").replace(outro, "")
        return output
    elif operator == "multiply":
        output = generator1(intro) + generator2(outro) + generator3(intro)
        title = intro + " " + outro + " " + intro
        saved = AIMemory(title, output)
        return output
    elif operator == "divide":
        output = generator1(outro) + generator2(intro) + generator3(outro)
        title = outro + " " + intro + " " + outro
        saved = AIMemory(title, output)
        output = output.replace(intro, "").replace(outro, "")
        return output

#with open('Mindfulness.txt', 'r') as file:
#    context = file.read()
#contextBox = gr.Textbox(lines=3, default=context, label="Story starter")

examples = [
    ["Music and art make me feel", "add", "Path to Health and Happiness"],
    ["Feel better each day when you awake by", "add", "Mental Body Scan"],
    ["Feel better physically by", "add", "Stretch, Calm, Breath"],
    ["Practicing mindfulness each day", "add", "Walk Feel"],
    ["Be happier by", "add", "Brain gamification"],
    ["Meditation can improve health", "add", "Deep Breaths"],
    ["Spending time outdoors", "add", "Find Joy"],
    ["Stress is relieved by quieting your mind, getting exercise and time with nature", "add", "Relieve Pain"],
    ["Break the cycle of stress and anxiety", "add", "Yoga and Meditation"],
    ["Feel calm in stressful situations", "add", "Neocortex Tools and Techniques"],
    ["Deal with work pressure", "add", "Strengthen Attention"],
    ["Learn to reduce feelings of overwhelmed", "add", "Easy Daily Activities"]
]

demo = gr.Interface(
    calculator,
    [
        "text",
        gr.Radio(["add", "subtract", "multiply", "divide"]),
        "text"
    ],
    "text",
    examples=examples,
    article="Saved story memory is at URL: https://huggingface.co/datasets/awacke1/MindfulStory.csv",
    live=True,
)
demo.launch()