Spaces:
Runtime error
Runtime error
import gradio as gr | |
from langchain_groq import ChatGroq | |
from langchain_core.prompts import ChatPromptTemplate | |
from langchain_core.output_parsers import StrOutputParser | |
import os | |
api_key = os.getenv('GROQ_API_KEY') | |
def get_transcript(video_url): | |
from langchain_community.document_loaders import YoutubeLoader | |
loader = YoutubeLoader.from_youtube_url( | |
video_url, add_video_info=False | |
) | |
document = loader.load() | |
transcript = document[0].page_content | |
return transcript | |
def summarize_video(video_url, language): | |
transcript = get_transcript(video_url) | |
model = ChatGroq( | |
model="llama-3.1-70b-versatile", | |
temperature=0, | |
max_tokens=None, | |
timeout=None, | |
max_retries=2, | |
api_key=api_key | |
) | |
system_template = """Below you will see a text. Read the text. First provide the major points that they discuss and then provide summaries for each major point. Your response should be in the language specified below. | |
Transcript: {transcript} | |
Language: {language}""" | |
prompt_template = ChatPromptTemplate.from_messages( | |
[("system", system_template)] | |
) | |
parser = StrOutputParser() | |
chain = prompt_template | model | parser | |
response = chain.invoke({"transcript": transcript, "language": language}) | |
return response | |
iface = gr.Interface( | |
fn=summarize_video, | |
inputs=[ | |
gr.Textbox(label="YouTube Video URL"), | |
gr.Textbox(label="Language for Summary") | |
], | |
outputs="text", | |
title="YouTube Video Summarizer", | |
description="Enter a YouTube video URL and the desired language for the summary." | |
) | |
iface.launch() |