File size: 1,099 Bytes
7d6d701
 
 
1ad0dcf
 
 
 
7d6d701
 
 
ac47f5e
7d6d701
ac47f5e
 
21a5617
7d6d701
21a5617
7d6d701
 
 
ac47f5e
7d6d701
 
 
 
 
ac47f5e
7d6d701
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import gradio as gr
import openai, os

from langchain.document_loaders.generic import GenericLoader
from langchain.document_loaders.parsers import OpenAIWhisperParser
from langchain.document_loaders.blob_loaders.youtube_audio import YoutubeAudioLoader

from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())

openai.api_key = os.environ["OPENAI_API_KEY"]

def invoke(url):
    url = url
    save_dir = "docs/youtube/"
    loader = GenericLoader(
        YoutubeAudioLoader([url], save_dir),
        OpenAIWhisperParser()
    )
    docs = loader.load()
    return docs[0].page_content

description = """<a href='https://www.gradio.app/'>Gradio</a> UI using <a href='https://platform.openai.com/'>OpenAI</a> API with Whisper 1 foundation model."""

gr.close_all()
demo = gr.Interface(fn=invoke, 
                    inputs = [gr.Textbox(label = "YouTube URL", lines = 1)],
                    outputs = [gr.Textbox(label = "Automatic Speech Recognition", lines = 1)],
                    title = "Generative AI - Audio",
                    description = description)
demo.launch()