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