123 / app.py
iewniy's picture
Update app.py
4e1429c verified
import gradio as gr
import random
# 假設有一個函數可以從影片連結中提取字幕
def extract_subtitles(video_url):
# 此處應該有真正提取字幕的代碼
# 這裡僅使用簡單的示例字幕文本
subtitles = [
"影片介紹了機器學習的基本概念。",
"機器學習主要分為監督學習和非監督學習。",
"決策樹是一種常用的機器學習算法。",
"神經網絡是深度學習的基礎。",
"支持向量機適用於分類問題。",
"在訓練過程中,我們需要使用大量的數據。",
"模型過擬合是機器學習中的一個常見問題。",
"正則化技術可以幫助防止過擬合。",
"卷積神經網絡在圖像處理中有廣泛應用。",
"強化學習是一種基於獎勵的學習方法。"
]
return subtitles
# 定義生成問題的函數
def generate_questions(video_url):
subtitles = extract_subtitles(video_url)
questions = []
for i in range(10):
sentence = random.choice(subtitles)
question = f"根據影片中的以下句子生成問題: '{sentence}'"
questions.append(question)
return questions
# 使用 Gradio 建立界面
def interface():
with gr.Blocks() as demo:
gr.Markdown("## 影片習題產生器")
# 輸入影片連結
video_url = gr.Textbox(label="影片連結")
# 生成題目按鈕
generate_btn = gr.Button("生成題目")
# 顯示生成的題目
questions_output = gr.Textbox(label="生成的題目", lines=10)
# 點擊按鈕時,生成題目
generate_btn.click(fn=generate_questions, inputs=video_url, outputs=questions_output)
return demo
# 運行 Gradio 應用
demo = interface()
demo.launch()