Spaces:
Build error
Build error
| import os | |
| import random | |
| import gradio as gr | |
| #links | |
| Article = "" | |
| Article = Article + " Gallery UI documentation: https://gradio.app/docs/" | |
| Article = Article + " Unsplash free image source requires 5MP or larger images: https://unsplash.com/" | |
| Article = Article + " Github should also be a worthy alternative with free repos. " | |
| Article = Article + " Raw git content can be accessed by URL like so: https://raw.github.com/AaronCWacker/Yggdrasil/images/" | |
| Article = Article + " Originals go here: https://github.com/AaronCWacker/Yggdrasil/tree/main/images" | |
| # Aaron_Wacker_health_and_medical_icon_set_on_white_background_bba24b60-9fcf-411b-9c00-dd1ba1e3553c.png | |
| import os | |
| import csv | |
| import gradio as gr | |
| from gradio import inputs, outputs | |
| import huggingface_hub | |
| from huggingface_hub import Repository | |
| from datetime import datetime | |
| DATASET_REPO_URL = "https://huggingface.co/datasets/awacke1/BookComposer" | |
| DATA_FILENAME = "BookComposer.csv" | |
| DATA_FILE = os.path.join("data", DATA_FILENAME) | |
| HF_TOKEN = os.environ.get("HF_TOKEN") | |
| print("is none?", HF_TOKEN is None) | |
| print("hfh", huggingface_hub.__version__) | |
| # overriding/appending to the gradio template | |
| SCRIPT = """ | |
| <script> | |
| if (!window.hasBeenRun) { | |
| window.hasBeenRun = true; | |
| console.log("should only happen once"); | |
| document.querySelector("button.submit").click(); | |
| } | |
| </script> | |
| """ | |
| #with open(os.path.join(gr.networking.STATIC_TEMPLATE_LIB, "frontend", "index.html"), "a") as f: | |
| # f.write(SCRIPT) | |
| # -------------------------------------------- For Memory - you will need to set up a dataset and HF_TOKEN --------- | |
| UseMemory=False | |
| DATASET_REPO_URL="https://huggingface.co/datasets/awacke1/ChatbotMemory.csv" | |
| DATASET_REPO_ID="awacke1/ChatbotMemory.csv" | |
| DATA_FILENAME="ChatbotMemory.csv" | |
| DATA_FILE=os.path.join("data", DATA_FILENAME) | |
| HF_TOKEN=os.environ.get("HF_TOKEN") | |
| if UseMemory: | |
| 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") | |
| repo = Repository( | |
| local_dir="data", clone_from=DATASET_REPO_URL, use_auth_token=HF_TOKEN | |
| ) | |
| def get_df(name: str): | |
| dataset = load_dataset(str, split="train") | |
| return dataset | |
| #def store_message(name: str, message: str) -> str: | |
| def store_message(name: str, message: str): | |
| if name and message: | |
| with open(DATA_FILE, "a") as csvfile: | |
| writer = csv.DictWriter(csvfile, fieldnames=[ "time", "message", "name", ]) | |
| writer.writerow( | |
| {"time": str(datetime.now()), "message": message.strip(), "name": name.strip() } | |
| ) | |
| commit_url = repo.push_to_hub() | |
| # test api retrieval of any dataset that is saved, then return it... | |
| # app = FastAPI() | |
| # see: https://gradio.app/sharing_your_app/#api-page | |
| # f=get_df(DATASET_REPO_ID) | |
| # print(f) | |
| #return commit_url | |
| return "" | |
| # ----------------------------------------------- For Memory | |
| repo = Repository( | |
| local_dir="data", clone_from=DATASET_REPO_URL, use_auth_token=HF_TOKEN | |
| ) | |
| def generate_html() -> str: | |
| with open(DATA_FILE) as csvfile: | |
| reader = csv.DictReader(csvfile) | |
| rows = [] | |
| for row in reader: | |
| rows.append(row) | |
| rows.reverse() | |
| if len(rows) == 0: | |
| return "no messages yet" | |
| else: | |
| html = "<div class='chatbot'>" | |
| for row in rows: | |
| html += "<div>" | |
| html += f"<span>{row['name']}</span>" | |
| html += f"<span class='message'>{row['message']}</span>" | |
| html += "</div>" | |
| html += "</div>" | |
| return html | |
| return generate_html() | |
| def gan(): | |
| images = [ | |
| (random.choice( | |
| [ | |
| "Comectress.png", | |
| "Comic Plate 1 - Amnesia.png", | |
| "Comic Plate 1 - Depths.png", | |
| "Comic Plate 1 - Helion.png", | |
| "Comic Plate 1 - Kitsune.png", | |
| "Comic Plate 1 - Sinbad.png", | |
| "Comic Plate 1 - Vampiress.png", | |
| "Comic Plate 2 - Amnesia.png", | |
| "Comic Plate 2 - Depths.png", | |
| "Comic Plate 2 - Helion.png", | |
| "Comic Plate 2 - Kitsune.png", | |
| "Comic Plate 2 - Sinbad.png", | |
| "Comic Plate 2 - Vampiress.png", | |
| "Comic Plate 3 - Amnesia.png", | |
| "Comic Plate 3 - Depths.png", | |
| "Comic Plate 3 - Helion.png", | |
| "Comic Plate 3 - Kitsune.png", | |
| "Comic Plate 3 - Vampiress.png", | |
| "Comic Plate 4 - Amnesia.png", | |
| "Comic Plate 4 - Depths.png", | |
| "Comic Plate 4 - Helion.png", | |
| "Comic Plate 4 - Kitsune.png", | |
| "Comic Plate 4 - Sinbad.png", | |
| "Comic Plate 4 - Vampiress.png", | |
| "Comic Plate 5 - Vampiress.png", | |
| "Gold Suit.png", | |
| "Heavens.png", | |
| "Red Dot Sight.png", | |
| "Starfire.png", | |
| "Vamp 1.png", | |
| "Vamp 2.png", | |
| "Vamp 3.png", | |
| "Vamp 4.png", | |
| "Whirlwind.png", | |
| "Zyphoria.png", | |
| ] | |
| ), f"label {i}" if i != 0 else "label" * 50) | |
| for i in range(10) | |
| ] | |
| return images | |
| with gr.Blocks() as demo: | |
| with gr.Column(variant="panel"): | |
| [ | |
| inputs.Textbox(placeholder="Your name"), | |
| inputs.Textbox(placeholder="Your message", lines=2), | |
| ] | |
| with gr.Row(variant="compact"): | |
| text = gr.Textbox( | |
| label="Health and Medical Icon Sets", | |
| show_label=False, | |
| max_lines=1, | |
| placeholder="Enter your prompt", | |
| ).style( | |
| container=False, | |
| ) | |
| btn = gr.Button("Generate image").style(full_width=False) | |
| btn2 = gr.Button("Generate story").style(full_width=False) | |
| gallery = gr.Gallery( | |
| label="Generated images", show_label=False, elem_id="gallery" | |
| ).style(grid=[2], height="auto") | |
| gallery2 = gr.Gallery( | |
| label="Generated images 2", show_label=False, elem_id="gallery" | |
| ).style(grid=[2], height="auto") | |
| btn.click(gan, None, gallery) | |
| if __name__ == "__main__": | |
| demo.launch() |