Spaces:
Running
Running
# 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 | |
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(""" | |
<div style= "display:block; | |
align-items: center; | |
gap: 0.8rem;"> | |
<h1 style='text-align: center; color:orange'> <img src="file/logo.png" alt="Podcaster" style="height: 80px; width:100px; flex: 0 0 auto; margin-right: 100px;"> PodcastPulse: Unveiling Insights </h1> | |
<h2 style='text-align: center;color:yellow'>Can be used to search and get recommended about podcasts, process newsletter insights over podcasts etc.</h2> | |
</div> | |
""") | |
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") | |
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() | |
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]) | |
if __name__ == "__main__": | |
demo.queue(concurrency_count=1, api_open=False) | |
demo.launch(debug=True, share=False) | |