AIRider commited on
Commit
4a45930
ยท
verified ยท
1 Parent(s): 294d02a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -17
app.py CHANGED
@@ -3,7 +3,7 @@ from gradio_client import Client
3
  import json
4
  import logging
5
  import ast
6
- import openai # OpenAI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€
7
  import os
8
  import random
9
  import re
@@ -91,18 +91,7 @@ def call_api(prompt, max_tokens, temperature, top_p):
91
 
92
  # ํ…์ŠคํŠธ ์š”์•ฝ ํ•จ์ˆ˜
93
  def summarize_text(text):
94
- prompt = f"""๋‹น์‹ ์€ YouTube ๋น„๋””์˜ค ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์š”์•ฝํ•˜๋Š” AI ์–ด์‹œ์Šคํ„ดํŠธ์ž…๋‹ˆ๋‹ค.
95
- ์•„๋ž˜ ์ œ๊ณต๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ฐ„๊ฒฐํ•˜๋ฉด์„œ๋„ ํฌ๊ด„์ ์œผ๋กœ ์š”์•ฝํ•ด์ฃผ์„ธ์š”.
96
- ๋น„๋””์˜ค์˜ ์ฃผ์š” ์ฃผ์ œ, ํ•ต์‹ฌ ํฌ์ธํŠธ, ์ „๋ฐ˜์ ์ธ ๋ฉ”์‹œ์ง€์— ์ดˆ์ ์„ ๋งž์ถ”์„ธ์š”.
97
- ์š”์•ฝ์€ ์ž˜ ๊ตฌ์กฐํ™”๋˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์•ผ ํ•˜๋ฉฐ, ๋‚ด์šฉ์˜ ๋ณธ์งˆ์„ ํฌ์ฐฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
98
- ๋ฐ˜๋“œ์‹œ ํ•œ๊ตญ์–ด๋กœ ์š”์•ฝ์„ ์ œ๊ณตํ•˜์„ธ์š”.
99
- ๋‹ค์Œ ๊ตฌ์กฐ๋กœ ์š”์•ฝ์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”:
100
- 1. ๋น„๋””์˜ค์˜ ์ฃผ์š” ์ฃผ์ œ ๋˜๋Š” ํ…Œ๋งˆ
101
- 2. ์ œ์‹œ๋œ ์ฃผ์š” ํฌ์ธํŠธ ๋˜๋Š” ๋…ผ์ 
102
- 3. ์ค‘์š”ํ•œ ๊ฒฐ๋ก  ๋˜๋Š” ์‹œ์‚ฌ์ 
103
- ์š”์•ฝํ•  ์Šคํฌ๋ฆฝํŠธ:
104
- {text}
105
- ์œ„ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์š”์•ฝ์„ ์ œ๊ณตํ•ด์ฃผ์„ธ์š”. ์š”์•ฝ์€ ๊ฐ„๊ฒฐํ•˜๋ฉด์„œ๋„ ์ •๋ณด๊ฐ€ ํ’๋ถ€ํ•ด์•ผ ํ•˜๋ฉฐ, ๋น„๋””์˜ค ๋‚ด์šฉ์˜ ํ•ต์‹ฌ์„ ํฌ์ฐฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."""
106
 
107
  try:
108
  return call_api(prompt, max_tokens=2000, temperature=0.3, top_p=0.9)
@@ -112,7 +101,7 @@ def summarize_text(text):
112
 
113
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •
114
  with gr.Blocks() as demo:
115
- gr.Markdown("## YouTube Script Extractor with Summary")
116
 
117
  youtube_url_input = gr.Textbox(label="YouTube URL ์ž…๋ ฅ")
118
  analyze_button = gr.Button("๋ถ„์„ํ•˜๊ธฐ")
@@ -135,13 +124,19 @@ with gr.Blocks() as demo:
135
  script_html = f"""<h2 style='font-size:24px;'>{title}</h2>
136
  <details>
137
  <summary><h3>์›๋ฌธ ์Šคํฌ๋ฆฝํŠธ (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)</h3></summary>
138
- <pre>{formatted_script}</pre>
139
  </details>"""
140
  return script_html
141
 
142
  def generate_summary(script):
143
  summary = summarize_text(script)
144
- summary_html = f"<h3>์š”์•ฝ:</h3>\n<pre>{summary}</pre>"
 
 
 
 
 
 
145
  return summary_html
146
 
147
  def analyze(url, cache):
@@ -166,4 +161,4 @@ with gr.Blocks() as demo:
166
  )
167
 
168
  # ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
169
- demo.launch(share=True)
 
3
  import json
4
  import logging
5
  import ast
6
+ import openai
7
  import os
8
  import random
9
  import re
 
91
 
92
  # ํ…์ŠคํŠธ ์š”์•ฝ ํ•จ์ˆ˜
93
  def summarize_text(text):
94
+ prompt = text # ํ”„๋กฌํ”„ํŠธ๋ฅผ ์›๋ณธ ํ…์ŠคํŠธ๋กœ ์„ค์ •ํ•˜์—ฌ self-discover ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•จ
 
 
 
 
 
 
 
 
 
 
 
95
 
96
  try:
97
  return call_api(prompt, max_tokens=2000, temperature=0.3, top_p=0.9)
 
101
 
102
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์„ค์ •
103
  with gr.Blocks() as demo:
104
+ gr.Markdown("## YouTube ์Šคํฌ๋ฆฝํŠธ ์ถ”์ถœ ๋ฐ ์š”์•ฝ ๋„๊ตฌ")
105
 
106
  youtube_url_input = gr.Textbox(label="YouTube URL ์ž…๋ ฅ")
107
  analyze_button = gr.Button("๋ถ„์„ํ•˜๊ธฐ")
 
124
  script_html = f"""<h2 style='font-size:24px;'>{title}</h2>
125
  <details>
126
  <summary><h3>์›๋ฌธ ์Šคํฌ๋ฆฝํŠธ (ํด๋ฆญํ•˜์—ฌ ํŽผ์น˜๊ธฐ)</h3></summary>
127
+ <div style="white-space: pre-wrap;">{formatted_script}</div>
128
  </details>"""
129
  return script_html
130
 
131
  def generate_summary(script):
132
  summary = summarize_text(script)
133
+ # ์š”์•ฝ ๊ฒฐ๊ณผ๋ฅผ ์ž˜ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด div ํƒœ๊ทธ์™€ CSS ์Šคํƒ€์ผ ์ ์šฉ
134
+ summary_html = f"""
135
+ <h3>์š”์•ฝ:</h3>
136
+ <div style="white-space: pre-wrap; max-height: 400px; overflow-y: auto; border: 1px solid #ccc; padding: 10px;">
137
+ {summary}
138
+ </div>
139
+ """
140
  return summary_html
141
 
142
  def analyze(url, cache):
 
161
  )
162
 
163
  # ์ธํ„ฐํŽ˜์ด์Šค ์‹คํ–‰
164
+ demo.launch(share=True)