From fcd883f393c9c528db0d5e1d8d28e807b4bdc710 Mon Sep 17 00:00:00 2001 From: LUIS NOVO Date: Fri, 1 Nov 2024 21:32:13 -0300 Subject: [PATCH] add common checks to all pages --- app_home.py | 42 +--------------------------------------- pages/2_📒_Notebooks.py | 4 ++-- pages/3_🔍_Search.py | 8 ++++---- pages/5_🎙️_Podcasts.py | 4 ++-- pages/7_⚙️_Settings.py | 4 ++-- pages/8_🛝_Playground.py | 4 ++-- 6 files changed, 13 insertions(+), 53 deletions(-) diff --git a/app_home.py b/app_home.py index 9840c6c..4badc36 100644 --- a/app_home.py +++ b/app_home.py @@ -1,43 +1,3 @@ import streamlit as st -from open_notebook.database.migrate import MigrationManager - -# from open_notebook.config import DEFAULT_MODELS -from open_notebook.domain.models import DefaultModels -from stream_app.utils import version_sidebar - -default_models = DefaultModels.load() - -version_sidebar() -mm = MigrationManager() -if mm.needs_migration: - st.warning("The Open Notebook database needs a migration to run properly.") - if st.button("Run Migration"): - mm.run_migration_up() - st.success("Migration successful") - st.rerun() -elif ( - not default_models.default_chat_model - or not default_models.default_transformation_model -): - st.warning( - "You don't have default chat and transformation models selected. Please, select them on the settings page." - ) -elif not default_models.default_embedding_model: - st.warning( - "You don't have a default embedding model selected. Vector search will not be possible and your assistant will be less able to answer your queries. Please, select one on the settings page." - ) -elif not default_models.default_speech_to_text_model: - st.warning( - "You don't have a default speech to text model selected. Your assistant will not be able to transcribe audio. Please, select one on the settings page." - ) -elif not default_models.default_text_to_speech_model: - st.warning( - "You don't have a default text to speech model selected. Your assistant will not be able to generate audio and podcasts. Please, select one on the settings page." - ) -elif not default_models.large_context_model: - st.warning( - "You don't have a large context model selected. Your assistant will not be able to process large documents. Please, select one on the settings page." - ) -else: - st.switch_page("pages/2_📒_Notebooks.py") +st.switch_page("pages/2_📒_Notebooks.py") diff --git a/pages/2_📒_Notebooks.py b/pages/2_📒_Notebooks.py index e6302a3..2193425 100644 --- a/pages/2_📒_Notebooks.py +++ b/pages/2_📒_Notebooks.py @@ -5,13 +5,13 @@ from open_notebook.domain.notebook import Notebook from stream_app.chat import chat_sidebar from stream_app.note import add_note, note_card from stream_app.source import add_source, source_card -from stream_app.utils import setup_stream_state, version_sidebar +from stream_app.utils import page_commons, setup_stream_state st.set_page_config( layout="wide", page_title="📒 Open Notebook", initial_sidebar_state="expanded" ) -version_sidebar() +page_commons() def notebook_header(current_notebook): diff --git a/pages/3_🔍_Search.py b/pages/3_🔍_Search.py index cdfa4fc..b092af3 100644 --- a/pages/3_🔍_Search.py +++ b/pages/3_🔍_Search.py @@ -1,17 +1,17 @@ import streamlit as st -from open_notebook.config import load_default_models from open_notebook.domain.notebook import text_search, vector_search +from open_notebook.models import model_manager from stream_app.note import note_list_item from stream_app.source import source_list_item -from stream_app.utils import version_sidebar +from stream_app.utils import page_commons st.set_page_config( layout="wide", page_title="🔍 Search", initial_sidebar_state="expanded" ) -version_sidebar() +page_commons() -DEFAULT_MODELS, EMBEDDING_MODEL, SPEECH_TO_TEXT_MODEL = load_default_models() +EMBEDDING_MODEL = model_manager.get_default_model("embedding") # search_tab, ask_tab = st.tabs(["Search", "Ask"]) # notebooks = Notebook.get_all() diff --git a/pages/5_🎙️_Podcasts.py b/pages/5_🎙️_Podcasts.py index db1273c..baec9c0 100644 --- a/pages/5_🎙️_Podcasts.py +++ b/pages/5_🎙️_Podcasts.py @@ -12,13 +12,13 @@ from open_notebook.plugins.podcasts import ( engagement_techniques, participant_roles, ) -from stream_app.utils import version_sidebar +from stream_app.utils import page_commons st.set_page_config( layout="wide", page_title="🎙️ Podcasts", initial_sidebar_state="expanded" ) -version_sidebar() +page_commons() text_to_speech_models = Model.get_models_by_type("text_to_speech") diff --git a/pages/7_⚙️_Settings.py b/pages/7_⚙️_Settings.py index 209814c..6bfc899 100644 --- a/pages/7_⚙️_Settings.py +++ b/pages/7_⚙️_Settings.py @@ -4,12 +4,12 @@ import streamlit as st from open_notebook.domain.models import DefaultModels, Model from open_notebook.models import MODEL_CLASS_MAP -from stream_app.utils import version_sidebar +from stream_app.utils import page_commons st.set_page_config( layout="wide", page_title="⚙️ Settings", initial_sidebar_state="expanded" ) -version_sidebar() +page_commons() st.title("⚙️ Settings") diff --git a/pages/8_🛝_Playground.py b/pages/8_🛝_Playground.py index 53de8f9..b7151a5 100644 --- a/pages/8_🛝_Playground.py +++ b/pages/8_🛝_Playground.py @@ -3,12 +3,12 @@ import yaml from open_notebook.domain.models import Model from open_notebook.graphs.multipattern import graph as pattern_graph -from stream_app.utils import version_sidebar +from stream_app.utils import page_commons st.set_page_config( layout="wide", page_title="🛝 Playground", initial_sidebar_state="expanded" ) -version_sidebar() +page_commons() st.title("🛝 Playground") with open("transformations.yaml", "r") as file: