springwater commited on
Commit
d8caea7
ยท
verified ยท
1 Parent(s): 24cd442

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +47 -30
app.py CHANGED
@@ -12,40 +12,57 @@ def search_youtube_videos(keyword, limit=5, order='date'):
12
  video_urls = [video['link'] for video in results['result']]
13
  return video_urls
14
 
15
- def get_transcript(url):
16
- loader = YoutubeLoader()
17
- transcript = loader.load(url)
18
- text = " ".join([segment['text'] for segment in transcript['segments']])
19
- return text
 
 
 
 
 
 
 
20
 
21
- def summarize_text(text):
22
- response = openai.Completion.create(
23
- engine="text-davinci-003",
24
- prompt=f"์š”์•ฝ: {text}",
25
- max_tokens=150
26
- )
27
- return response.choices[0].text.strip()
 
 
28
 
29
- def process_keyword(keyword):
30
- video_urls = search_youtube_videos(keyword)
31
- summaries = []
32
- for url in video_urls:
33
- try:
34
- text = get_transcript(url)
35
- summary = summarize_text(text)
36
- summaries.append(f"URL: {url}\nSummary: {summary}\n")
37
- except Exception as e:
38
- summaries.append(f"URL: {url}\nError: {str(e)}\n")
39
- return "\n".join(summaries)
40
 
41
- # Gradio ์ธํ„ฐํŽ˜์ด์Šค
42
- interface = gr.Interface(
43
- fn=process_keyword,
44
- inputs=gr.Textbox(label="๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ"),
45
- outputs=gr.Textbox(label="๊ฒฐ๊ณผ"),
46
- )
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
- interface.launch()
49
 
50
 
51
  # from youtubesearchpython import VideosSearch
 
12
  video_urls = [video['link'] for video in results['result']]
13
  return video_urls
14
 
15
+ # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •
16
+ interface = gr.Interface(
17
+ fn=search_youtube_videos,
18
+ inputs=[
19
+ gr.Textbox(label="๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ", placeholder="YouTube์—์„œ ๊ฒ€์ƒ‰ํ•  ํ‚ค์›Œ๋“œ๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”."),
20
+ gr.Slider(minimum=1, maximum=10, default=5, label="๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ ๊ฐœ์ˆ˜"),
21
+ gr.Radio(choices=['date', 'relevance', 'rating', 'title', 'viewCount'], label="์ •๋ ฌ ์ˆœ์„œ", default='date')
22
+ ],
23
+ outputs=gr.Textbox(label="๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ"),
24
+ title="YouTube ๋น„๋””์˜ค ๊ฒ€์ƒ‰",
25
+ description="YouTube์—์„œ ๋น„๋””์˜ค๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๊ฒฐ๊ณผ์˜ ๋งํฌ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”."
26
+ )
27
 
28
+ # Gradio ์•ฑ ์‹คํ–‰
29
+ if __name__ == "__main__":
30
+ interface.launch()
31
+
32
+ # def get_transcript(url):
33
+ # loader = YoutubeLoader()
34
+ # transcript = loader.load(url)
35
+ # text = " ".join([segment['text'] for segment in transcript['segments']])
36
+ # return text
37
 
38
+ # def summarize_text(text):
39
+ # response = openai.Completion.create(
40
+ # engine="text-davinci-003",
41
+ # prompt=f"์š”์•ฝ: {text}",
42
+ # max_tokens=150
43
+ # )
44
+ # return response.choices[0].text.strip()
 
 
 
 
45
 
46
+ # def process_keyword(keyword):
47
+ # video_urls = search_youtube_videos(keyword)
48
+ # summaries = []
49
+ # for url in video_urls:
50
+ # try:
51
+ # text = get_transcript(url)
52
+ # summary = summarize_text(text)
53
+ # summaries.append(f"URL: {url}\nSummary: {summary}\n")
54
+ # except Exception as e:
55
+ # summaries.append(f"URL: {url}\nError: {str(e)}\n")
56
+ # return "\n".join(summaries)
57
+
58
+ # # Gradio ์ธํ„ฐํŽ˜์ด์Šค
59
+ # interface = gr.Interface(
60
+ # fn=process_keyword,
61
+ # inputs=gr.Textbox(label="๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ"),
62
+ # outputs=gr.Textbox(label="๊ฒฐ๊ณผ"),
63
+ # )
64
 
65
+ # interface.launch()
66
 
67
 
68
  # from youtubesearchpython import VideosSearch