Spaces:
Runtime error
In this 2/11/24 Issue I use AI to pair program a science fiction and fantasy storytelling app to serve as a personalized creative writing team.
I need your help with a guide I am making to teach about Transhuman Space where my encyclodia dataset Can explain all the Core Technologies, the Nations, the Memes, the Institutions, the Organizations, the War, the Military, the Outlaws, and the Terrorists Where Characters and Technology even SpaceCraft Design create an intricately detailed work of science fiction told through markdown outlines and tables off each including the ability to define and probe concepts that are evolving in the year 2024 which is the year of the AI singularity. For each line and cell even title in the classification tables tell the top ten list of those areas and use appropriate emojis for each and buttons and ui as streamlit following the patterns in the streamlit python app below. Transition it From Health basedd to Transhuman Space based defined by the concepts I mention with you being the creative writing genius with literary wit and wild use of emojis for Sccience Fiction writing and Fantasy writing. : RemixableAIForScienceFictionAndFantasyStoryTelling ---
title: RemixableAIForScienceFictionAndFantasyStoryTelling
emoji:
colorFrom: red
colorTo: gray
sdk: streamlit
sdk_version: 1.30.0
app_file: app.py
pinned: false
license: mit
import streamlit as st
import os
import json
from PIL import Image
st.set_page_config(page_title="๐ง ๐โ๏ธRemixable AI๐จ๐๐จโ๐ซ", page_icon="๐", layout="wide")
glossary = {
"๐ Vaccinate": ["mRNA vaccines", "Nanoparticle delivery systems", "Universal flu vaccine"],
"๐ฉบ Diagnose": ["AI-driven diagnostic tools", "Wearable health monitors", "Liquid biopsies"],
"๐ฅ Hospital": ["Telemedicine", "Robot-assisted surgery", "Smart hospitals"],
"๐ Emergency": ["Point-of-care testing", "Drone delivery for medical supplies", "Mobile stroke units"],
"๐ Meds": ["Precision medicine", "Biologics for chronic diseases", "Pharmacogenomics"],
"๐ฉน Bandage": ["Smart bandages", "Biodegradable bandages", "Hydrogel bandages"],
"๐งฌ DNA": ["Gene editing (CRISPR-Cas9)", "Gene therapy for inherited diseases", "Synthetic biology"],
"๐ฌ Research": ["Big Data in healthcare", "3D bioprinting of tissues", "Nanotechnology in medicine"],
"๐ก๏ธ Temperature": ["Wearable temperature monitors", "Infrared thermography", "Microfluidic devices"],
"๐ Nutrition": ["Personalized nutrition", "Nutrigenomics", "Functional foods"],
}
Directory to store scores
score_dir = "scores"
os.makedirs(score_dir, exist_ok=True)
Function to generate a unique key for each button
def generate_key(label, header, idx):
return f"{header}{label}{idx}"
Function to increment score and save it
def update_score(key, increment=1):
score_file = os.path.join(score_dir, f"{key}.json")
if os.path.exists(score_file):
with open(score_file, "r") as file:
score_data = json.load(file)
else:
score_data = {"clicks": 0, "score": 0}
score_data["clicks"] += 1
score_data["score"] += increment
with open(score_file, "w") as file:
json.dump(score_data, file)
return score_data["score"]
Function to load score
def load_score(key):
score_file = os.path.join(score_dir, f"{key}.json")
if os.path.exists(score_file):
with open(score_file, "r") as file:
score_data = json.load(file)
return score_data["score"]
return 0
Function to display the glossary for a selected area
def display_glossary(area):
st.subheader(f"Glossary for {area}")
terms = glossary[area]
for term in terms:
st.write(f"- {term}")
Display headers and buttons with scores
def display_buttons_with_scores():
headers = ["Inputs", "Outputs", "Health", "Learning", "AI", "Writing"]
buttons = [
["๐ Text", "๐ Read", "๐ท Photo", "๐ผ๏ธ View", "๐๏ธ Record", "๐ง Listen", "๐ฅ Video", "๐น Capture"],
["๐ฌ Chat", "โ๏ธ Write", "๐จ Art", "๐ Create", "๐ต Music", "๐ถ Compose", "๐ผ Watch", "๐ฟ Movies"],
["๐ Vaccinate", "๐ฉบ Diagnose", "๐ฅ Hospital", "๐ Emergency", "๐ Meds", "๐ฉน Bandage", "๐งฌ DNA", "๐ฌ Research", "๐ก๏ธ Temperature", "๐ Nutrition"],
["๐ Study", "๐ง Brain", "๐ฉโ๐ Graduate", "๐ Measure", "๐ Search", "๐ Analyze", "๐ Plan", "๐๏ธ Write", "๐จโ๐ซ Teach", "๐งฉ Puzzle"],
["๐ค Robot", "๐พ Game", "๐ป Code", "๐งฎ Calculate", "๐ก Connect", "๐ Power", "๐น๏ธ Play", "๐ฅ๏ธ Display", "๐งโ๐ป Develop", "๐จโ๐ฌ Experiment"],
["โ๏ธ Author", "๐ Note", "๐๏ธ Pen", "๐๏ธ Sign", "๐ Library", "๐ Bookmark", "๐ Journal", "โ๏ธ Ink", "๐ Scroll"]
]
cols = st.columns(len(headers))
for idx, (col, header, buttons_list) in enumerate(zip(cols, headers, buttons)):
with col:
st.markdown(f"### {header}")
for button_idx, button_label in enumerate(buttons_list, start=1):
key = generate_key(button_label, header, button_idx)
score = load_score(key)
if st.button(f"{button_label} {score}", key=key):
new_score = update_score(key)
# Reload the page to reflect the updated score
st.experimental_rerun()
# Display buttons for each area
cols = st.columns(5)
for i, (area, terms) in enumerate(glossary.items()):
if cols[i % 5].button(area):
display_glossary(area)
Main application logic
if name == "main":
st.markdown('# Remixable!')
display_buttons_with_scores()
def fetch_wikipedia_summary(keyword):
# Placeholder function for fetching Wikipedia summaries
# In a real app, you might use requests to fetch from the Wikipedia API
return f"Summary for {keyword}. For more information, visit Wikipedia."
def create_search_url_youtube(keyword):
base_url = "https://www.youtube.com/results?search_query="
return base_url + keyword.replace(' ', '+')
def create_search_url_bing(keyword):
base_url = "https://www.bing.com/search?q="
return base_url + keyword.replace(' ', '+')
def create_search_url_wikipedia(keyword):
base_url = "https://www.wikipedia.org/search-redirect.php?family=wikipedia&language=en&search="
return base_url + keyword.replace(' ', '+')
def create_search_url_google(keyword):
base_url = "https://www.google.com/search?q="
return base_url + keyword.replace(' ', '+')
def display_images_and_wikipedia_summaries():
st.title('Gallery with Related Stories')
image_files = [f for f in os.listdir('.') if f.endswith('.png')]
if not image_files:
st.write("No PNG images found in the current directory.")
return
for image_file in image_files:
image = Image.open(image_file)
st.image(image, caption=image_file, use_column_width=True)
keyword = image_file.split('.')[0] # Assumes keyword is the file name without extension
# Display Wikipedia and Google search links
wikipedia_url = create_search_url_wikipedia(keyword)
google_url = create_search_url_google(keyword)
youtube_url = create_search_url_youtube(keyword)
bing_url = create_search_url_bing(keyword)
links_md = f"""
[Wikipedia]({wikipedia_url}) |
[Google]({google_url}) |
[YouTube]({youtube_url}) |
[Bing]({bing_url})
"""
st.markdown(links_md)
display_images_and_wikipedia_summaries()
st.markdown('# ๐ฉบ Remixable AI/UI/UX for Healers by Aaron Wacker')
def get_all_query_params(key):
return st.query_params().get(key, [])
def clear_query_params():
st.query_params()
st.markdown("### Query Parameters - These Deep Link Map to Remixable Methods")
st.write("Current Query Parameters:", st.query_params)
Example: Using query parameters to navigate or trigger functionalities
if 'action' in st.query_params:
action = st.query_params()['action'][0] # Get the first (or only) 'action' parameter
if action == 'show_message':
st.success("Showing a message because 'action=show_message' was found in the URL.")
elif action == 'clear':
clear_query_params()
st.experimental_rerun()
Handling repeated keys
if 'multi' in st.query_params:
multi_values = get_all_query_params('multi')
st.write("Values for 'multi':", multi_values)
Manual entry for demonstration
st.write("Enter query parameters in the URL like this: ?action=show_message&multi=1&multi=2")
Clear query parameters button
if st.button("Clear Query Parameters"):
clear_query_params()
st.experimental_rerun()
guide 1