|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import streamlit as st |
|
import os |
|
from datetime import datetime |
|
from gradio_client import Client |
|
|
|
def save_file(content, file_type): |
|
timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") |
|
file_name = f"{file_type}_{timestamp}.md" |
|
with open(file_name, "w") as file: |
|
file.write(content) |
|
return file_name |
|
|
|
def load_file(file_name): |
|
with open(file_name, "r") as file: |
|
content = file.read() |
|
return content |
|
|
|
def main(): |
|
st.set_page_config(page_title="Memory Flag System") |
|
st.title("Memory Flag System") |
|
|
|
client = Client("awacke1/Arxiv-Paper-Search-And-QA-RAG-Pattern") |
|
|
|
search_query = st.text_input("Search") |
|
top_n_results = st.slider("Top n results as context", min_value=4, max_value=100, value=100) |
|
search_source = st.selectbox("Search Source", ["Semantic Search - up to 10 Mar 2024", "Arxiv Search - Latest - (EXPERIMENTAL)"]) |
|
llm_model = st.selectbox("LLM Model", ["mistralai/Mixtral-8x7B-Instruct-v0.1", "mistralai/Mistral-7B-Instruct-v0.2", "google/gemma-7b-it", "None"]) |
|
|
|
if st.button("Search"): |
|
result = client.predict( |
|
search_query, |
|
top_n_results, |
|
search_source, |
|
llm_model, |
|
api_name="/update_with_rag_md" |
|
) |
|
st.markdown(result) |
|
|
|
file_type = st.radio("Select Memory Flag", ("Semantic", "Episodic")) |
|
if st.button("Save"): |
|
file_name = save_file(result, file_type) |
|
st.success(f"File saved: {file_name}") |
|
|
|
saved_files = [f for f in os.listdir(".") if f.endswith(".md")] |
|
selected_file = st.sidebar.selectbox("Saved Files", saved_files) |
|
|
|
if selected_file: |
|
file_content = load_file(selected_file) |
|
st.sidebar.markdown(file_content) |
|
|
|
if st.sidebar.button("π Edit"): |
|
edited_content = st.text_area("Edit File", value=file_content, height=400) |
|
new_file_name = st.text_input("File Name", value=selected_file) |
|
if st.button("πΎ Save"): |
|
with open(new_file_name, "w") as file: |
|
file.write(edited_content) |
|
st.success(f"File updated: {new_file_name}") |
|
|
|
if st.sidebar.button("ποΈ Delete"): |
|
os.remove(selected_file) |
|
st.warning(f"File deleted: {selected_file}") |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|