File size: 1,224 Bytes
7d6d701
 
 
1ad0dcf
 
 
 
7d6d701
 
 
ac47f5e
7d6d701
ac47f5e
7dd9274
ac47f5e
6aebe5f
7d6d701
21a5617
7d6d701
 
bef0bbf
6a692b8
 
a5004a0
85c7f65
9f7cbec
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
32
33
34
35
36
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):
    loader = None
    url = url
    save_dir = "/docs/youtube"
    loader = GenericLoader(
        YoutubeAudioLoader([url], save_dir),
        OpenAIWhisperParser()
    )
    docs = loader.load()
    print(url)
    print(docs[0].page_content)
    if (len(docs) > 1):
        print(docs[1].page_content)
    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()