# This is a sample Python script. # Press ⌃R to execute it or replace it with your code. # Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings. import gradio as gr import time import random import math import pandas as pd import openai import os from display_json import get_podcast from invoke_rss import get_rss_output, get_recommendations from search_recommend import search_chat_respond with gr.Blocks(theme='bethecloud/storj_theme', css=".gradio-container {background: url('file=image.png');background-size: cover}") as demo: gr.Markdown("""

Podcaster PodcastPulse: Unveiling Insights

Can be used to search and get recommended about podcasts, process newsletter insights over podcasts etc.

""") with gr.Tabs(): with gr.TabItem("Search Podcasts and get their RSS feeds"): with gr.Accordion("Open for Search"): with gr.Box(): gr.Markdown( """ ### Search Podcasts and get their RSS feeds -- Currently Not Enabled as ListenNotes only offers limited free API calls/month """) # with gr.Column(): # normal_chatbot = gr.Chatbot() # normal_msg = gr.Textbox() # normal_clear = gr.Button("Clear") # normal_msg.submit(search_chat_respond, [normal_msg, normal_chatbot], [normal_msg, normal_chatbot]) # normal_clear.click(lambda: None, None, normal_chatbot, queue=False) with gr.TabItem("PreProcessed Podcasts"): with gr.Box(): gr.Markdown( """ ### PreProcessed Podcasts """) with gr.Column(): dropdown_few = gr.Dropdown(["In Machines We trust - MIT", "TWIML", ], label="Select Podcast") btn = gr.Button("See") with gr.Row().style(equal_height=True): Title = gr.Textbox(label="Title") Episode_Name = gr.Textbox(label="Episode Name") Episode_Image = gr.Image(label="Episode Image") podcast_summary = gr.Textbox(label="Summary") with gr.Row().style(equal_height=True): podcast_guest = gr.Textbox(label="podcast guest") podcast_guest_org = gr.Textbox(label="Podcast Guest Organization") podcast_guest_title = gr.Textbox(label="Guest Title") podcast_guest_wikipedia = gr.Textbox(label="Guest Wikipedia Info") podcast_highlights = gr.Textbox(label="Highlights") podcast_key_moments = gr.Textbox(label="Key Moments and Key Topics") with gr.Accordion("Open for Full Dialog Transcript"): podcast_gpt_transcript = gr.Textbox() btn.click(fn=get_podcast, inputs=dropdown_few, outputs=[Title,Episode_Name,Episode_Image,podcast_summary, podcast_guest, podcast_guest_org, \ podcast_guest_title, podcast_guest_wikipedia,podcast_highlights, podcast_key_moments, \ podcast_gpt_transcript]) with gr.TabItem("Process New Podcast using RSS feed"): with gr.Accordion("Open to process insights on a Podcast"): with gr.Box(): gr.Markdown( """ ### Get details related to an RSS feed --Currently diabled due to OpenAI rate cost issues do ping me on slack if you wanna check something out """) # with gr.Column(): #rss_feed = gr.Textbox(label="Enter Rss Feed here") # podcast_id_text = gr.Textbox(label="Enter Podcast ID here") # btn_2 = gr.Button("See") # with gr.Row().style(equal_height=True): # Title_2 = gr.Textbox(label="Title") # Episode_Name_2 = gr.Textbox(label="Episode Name") # Episode_Image_2 = gr.Image(label="Episode Image") # podcast_summary_2 = gr.Textbox(label="Summary") # with gr.Row().style(equal_height=True): # podcast_guest_2 = gr.Textbox(label="podcast guest") # podcast_guest_org_2 = gr.Textbox(label="Podcast Guest Organization") # podcast_guest_title_2 = gr.Textbox(label="Guest Title") # podcast_guest_wikipedia_2 = gr.Textbox(label="Guest Wikipedia Info") # podcast_highlights_2 = gr.Textbox(label="Highlights") # podcast_key_moments_2 = gr.Textbox(label="Key Moments and Key Topics") # with gr.Accordion("Open for Full Dialog Transcript"): # podcast_gpt_transcript_2 = gr.Textbox() # recommend_chatbot = gr.Chatbot(label="See recommendations here") # btn_recommend = gr.Button("Get Recommendations") # btn_2.click(fn=get_rss_output, inputs=rss_feed, # outputs=[Title_2, Episode_Name_2, Episode_Image_2, podcast_summary_2, podcast_guest_2, # podcast_guest_org_2, \ # podcast_guest_title_2, podcast_guest_wikipedia_2, podcast_highlights_2, # podcast_key_moments_2, \ # podcast_gpt_transcript_2]) # btn_recommend.click(fn=get_recommendations, inputs=[podcast_id_text,recommend_chatbot], outputs= recommend_chatbot) if __name__ == "__main__": demo.queue(concurrency_count=1, api_open=False) demo.launch(debug=True, share=False)