Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from langchain.document_loaders.generic import GenericLoader | |
| from langchain.document_loaders.parsers import OpenAIWhisperParser | |
| from langchain.document_loaders.blob_loaders.youtube_audio import YoutubeAudioLoader | |
| import openai | |
| import os | |
| import platform | |
| # Set OpenAI API Key | |
| os.environ['OPENAI_API_KEY'] = "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" | |
| openai.api_key = os.environ['OPENAI_API_KEY'] | |
| def add_link(url): | |
| # Detect the running platform (laptop or mobile) | |
| running_platform = platform.system().lower() | |
| # Define saving directory based on the platform | |
| if running_platform == 'linux' or running_platform == 'darwin': | |
| save_dir = "docs/youtube/laptop/" | |
| elif running_platform == 'windows': | |
| save_dir = "docs/youtube/desktop/" | |
| else: | |
| save_dir = "files/docs/youtube/unknown_platform/" | |
| # Ensure the directory exists | |
| os.makedirs(save_dir, exist_ok=True) | |
| # Create loader and parser | |
| loader = GenericLoader( | |
| YoutubeAudioLoader([url], save_dir), | |
| OpenAIWhisperParser() | |
| ) | |
| # Load documents | |
| docs = loader.load() | |
| # Show a message indicating the downloading process is complete | |
| completion_message = f"Downloading process for {url} is complete. Saved in {save_dir}" | |
| return completion_message | |
| # Create Gradio interface | |
| demo = gr.Interface(fn=add_link, inputs='text', outputs='text') | |
| # Launch the interface | |
| if __name__ == "__main__": | |
| demo.launch(debug=False, share=True) | |