|
import streamlit as st |
|
import pandas as pd |
|
|
|
|
|
sem_mem = [{"fact": "The Earth is round", "category": "science", "source": "NASA"}, {"fact": "Pizza is delicious", "category": "food", "source": "me"}] |
|
epi_mem = [{"event": "I went to the beach", "sentiment": "happy", "date": "2022-02-28"}, {"event": "I had a fight with my friend", "sentiment": "sad", "date": "2022-02-25"}] |
|
|
|
|
|
def save_data(): |
|
sem_df = pd.DataFrame(sem_mem) |
|
sem_df.to_csv("semantic_memory.csv", index=False) |
|
epi_df = pd.DataFrame(epi_mem) |
|
epi_df.to_csv("episodic_memory.csv", index=False) |
|
|
|
|
|
def load_data(): |
|
try: |
|
sem_df = pd.read_csv("semantic_memory.csv") |
|
sem_mem = sem_df.to_dict("records") |
|
except: |
|
sem_mem = [{"fact": "The Earth is round", "category": "science", "source": "NASA"}, {"fact": "Pizza is delicious", "category": "food", "source": "me"}] |
|
try: |
|
epi_df = pd.read_csv("episodic_memory.csv") |
|
epi_mem = epi_df.to_dict("records") |
|
except: |
|
epi_mem = [{"event": "I went to the beach", "sentiment": "happy", "date": "2022-02-28"}, {"event": "I had a fight with my friend", "sentiment": "sad", "date": "2022-02-25"}] |
|
return sem_mem, epi_mem |
|
|
|
|
|
def add_fact(fact, category, source): |
|
sem_mem.append({"fact": fact, "category": category, "source": source}) |
|
|
|
|
|
def add_event(event, sentiment, date): |
|
epi_mem.append({"event": event, "sentiment": sentiment, "date": date}) |
|
|
|
|
|
def display_sem_mem(): |
|
st.write("# Semantic Memory") |
|
for item in sem_mem: |
|
st.write(f"**{item['fact']}** ({item['category']}) - {item['source']}") |
|
|
|
|
|
def display_epi_mem(): |
|
st.write("# Episodic Memory") |
|
for item in epi_mem: |
|
st.write(f"**{item['event']}** ({item['sentiment']}) - {item['date']}") |
|
|
|
|
|
sem_mem, epi_mem = load_data() |
|
|
|
|
|
st.title("Cognitive Agent") |
|
option = st.sidebar.selectbox("Select an option", ["View Semantic Memory", "View Episodic Memory", "Add Fact to Semantic Memory", "Add Event to Episodic Memory"]) |
|
|
|
|
|
if option == "View Semantic Memory": |
|
display_sem_mem() |
|
elif option == "View Episodic Memory": |
|
display_epi_mem() |
|
elif option == "Add Fact to Semantic Memory": |
|
fact = st.text_input("Enter a fact") |
|
category = st.text_input("Enter a category") |
|
source = st.text_input("Enter a source") |
|
if st.button("Add Fact"): |
|
add_fact(fact, category, source) |
|
save_data() |
|
st.success("Fact added to semantic memory!") |
|
st.sidebar.success("Fact added to semantic memory!") |
|
elif option == "Add Event to Episodic Memory": |
|
event = st.text_input("Enter an event") |
|
sentiment = st.selectbox("Select a sentiment", ["happy", "sad", "neutral"]) |
|
date = st.date_input("Select a date") |
|
if st.button("Add Event"): |
|
add_event(event, sentiment, date) |
|
save_data() |
|
st.success("Event added to episodic memory!") |
|
st.sidebar.success("Event added to episodic memory!") |
|
else: |
|
st.write("Please select an option from the sidebar.") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|