Spaces:
Runtime error
Runtime error
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 dataset: https://huggingface.co/datasets/awacke1/MindfulStory.csv with available models to use from text gen: https://huggingface.co/models?pipeline_tag=text-generation&sort=downloads", | |
live=True, | |
) | |
demo.launch() |