diff --git a/open_notebook/plugins/podcasts.py b/open_notebook/plugins/podcasts.py index b35083e..7f2a23a 100644 --- a/open_notebook/plugins/podcasts.py +++ b/open_notebook/plugins/podcasts.py @@ -52,12 +52,17 @@ class PodcastConfig(ObjectModel): raise ValueError("Both voice1 and voice2 must be provided") return self - def generate_episode(self, episode_name, text, longform=False, instructions=None): + def generate_episode( + self, + episode_name: str, + text: str, + instructions: str = "", + longform: bool = False, + ): self.user_instructions = ( instructions if instructions else self.user_instructions ) conversation_config = { - "longform": longform, "conversation_style": self.conversation_style, "roles_person1": self.person1_role, "roles_person2": self.person2_role, @@ -87,10 +92,6 @@ class PodcastConfig(ObjectModel): }, } - logger.debug( - f"Generating episode {episode_name} with config {conversation_config}" - ) - api_key_label = None llm_model_name = None if self.transcript_model_provider: @@ -104,12 +105,17 @@ class PodcastConfig(ObjectModel): api_key_label = "GEMINI_API_KEY" llm_model_name = self.transcript_model + logger.debug( + f"Generating episode {episode_name} with config {conversation_config} and using model {llm_model_name}" + ) + audio_file = generate_podcast( conversation_config=conversation_config, text=text, tts_model=self.provider, llm_model_name=llm_model_name, api_key_label=api_key_label, + longform=longform, ) episode = PodcastEpisode( name=episode_name, diff --git a/pages/5_🎙️_Podcasts.py b/pages/5_🎙️_Podcasts.py index 841ee8b..e9539c9 100644 --- a/pages/5_🎙️_Podcasts.py +++ b/pages/5_🎙️_Podcasts.py @@ -246,9 +246,6 @@ with templates_tab: or pd_config.transcript_model not in transcript_provider_models[pd_config.transcript_model_provider] ): - st.warning( - f"Transcript Model {pd_config.transcript_model} not setup. Changing to default." - ) index = 0 else: index = transcript_provider_models[ @@ -268,9 +265,6 @@ with templates_tab: key=f"provider_{pd_config.id}", ) if pd_config.model not in provider_models[pd_config.provider]: - st.warning( - f"Audio Model {pd_config.model} not setup. Changing to default." - ) index = 0 else: index = provider_models[pd_config.provider].index(pd_config.model) diff --git a/pages/stream_app/chat.py b/pages/stream_app/chat.py index a513c60..97cdef6 100644 --- a/pages/stream_app/chat.py +++ b/pages/stream_app/chat.py @@ -98,7 +98,7 @@ def chat_sidebar(current_notebook: Notebook, current_session: ChatSession): with st.spinner("Go grab a coffee, almost there..."): selected_template.generate_episode( episode_name=episode_name, - text=context, + text=str(context), longform=longform, instructions=instructions, ) diff --git a/pages/stream_app/consts.py b/pages/stream_app/consts.py index eb2446a..60aadb0 100644 --- a/pages/stream_app/consts.py +++ b/pages/stream_app/consts.py @@ -6,6 +6,5 @@ source_context_icons = [ note_context_icons = [ "⛔ not in context", - "🟡 summary", "🟢 full content", ] diff --git a/poetry.lock b/poetry.lock index 7494da1..13ad0ef 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2430,13 +2430,13 @@ six = "*" [[package]] name = "langgraph" -version = "0.2.46" +version = "0.2.47" description = "Building stateful, multi-actor applications with LLMs" optional = false python-versions = "<4.0,>=3.9.0" files = [ - {file = "langgraph-0.2.46-py3-none-any.whl", hash = "sha256:7ca4031bc8f06cb3697ccee21ca80464588656391d3888090b6790dd89bffad1"}, - {file = "langgraph-0.2.46.tar.gz", hash = "sha256:f1a39ba0d9b3df3b807b14015e682bc2b445ceb760d113e75ab34209a7eaadef"}, + {file = "langgraph-0.2.47-py3-none-any.whl", hash = "sha256:597bad088c245741b79d46aea351df1b9bc0b2b127122c39ca2a7c0164e40b4f"}, + {file = "langgraph-0.2.47.tar.gz", hash = "sha256:23b6ea1fe5c6d57f510dee9a66fbc2cdb546ab6c13756fc28534343b36b7935f"}, ] [package.dependencies] @@ -3807,13 +3807,13 @@ files = [ [[package]] name = "podcastfy" -version = "0.3.5" +version = "0.3.6" description = "An Open Source alternative to NotebookLM's podcast feature: Transforming Multimodal Content into Captivating Multilingual Audio Conversations with GenAI" optional = false python-versions = "<4.0,>=3.11" files = [ - {file = "podcastfy-0.3.5-py3-none-any.whl", hash = "sha256:c5aef31a1320800e5d22257ee763abb0e748a115112e1914084f5331462d1a32"}, - {file = "podcastfy-0.3.5.tar.gz", hash = "sha256:5b3111a28aaadd31c6e13983719996f05de7b70a7f656dd56ce6ed74e294e1ef"}, + {file = "podcastfy-0.3.6-py3-none-any.whl", hash = "sha256:8584fd044f63e236d30678a75188f5e7c7335170e24f80e647f7a480661e0c13"}, + {file = "podcastfy-0.3.6.tar.gz", hash = "sha256:b4c787b999b4dda70504f99520802b0dfc99e76703089443a9b4a76c85bf5047"}, ] [package.dependencies] diff --git a/pyproject.toml b/pyproject.toml index eb5c000..7cc700f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "open-notebook" -version = "0.0.11" +version = "0.1.0" description = "An open source implementation of a research assistant, inspired by Google Notebook LM" authors = ["Luis Novo "] license = "MIT"