Commit
56c0ae0
ยท
verified ยท
1 Parent(s): a003bf6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -1
app.py CHANGED
@@ -1,5 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  with gr.Blocks() as demo:
2
  gr.Markdown("## ์ฃผ๊ฐ€ ๊ทธ๋ž˜ํ”„์™€ ๋‰ด์Šค ์š”์•ฝ")
3
 
4
- # CSS ์ถ”๊ฐ€
5
  demo.css("#news_output_box { background-color: #f0f0f0; padding: 20px; }")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import subprocess
2
+
3
+ # ํ•„์š”ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๋ฐ ์—…๋ฐ์ดํŠธ
4
+ subprocess.run(["pip", "install", "--upgrade", "pip"])
5
+ subprocess.run(["pip", "install", "--upgrade", "openai", "yfinance", "gradio", "matplotlib", "Pillow"])
6
+
7
+ import os
8
+ import matplotlib.font_manager as fm
9
+ import matplotlib.pyplot as plt
10
+ import yfinance as yf
11
+ import numpy as np
12
+ import re # ํ•œ๊ธ€, ์ˆซ์ž, ๊ธฐํ˜ธ๋ฅผ ๋‚จ๊ธฐ๊ธฐ ์œ„ํ•œ ์ •๊ทœ ํ‘œํ˜„์‹์— ์‚ฌ์šฉ
13
+ import gradio as gr
14
+ import io
15
+ from PIL import Image
16
+ from datetime import datetime, timedelta
17
+ from openai import OpenAI
18
+
19
+ # ... (์ค‘๊ฐ„ ์ฝ”๋“œ๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€)
20
+
21
+ # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ƒ์„ฑ (3์—ด ๋ ˆ์ด์•„์›ƒ)
22
  with gr.Blocks() as demo:
23
  gr.Markdown("## ์ฃผ๊ฐ€ ๊ทธ๋ž˜ํ”„์™€ ๋‰ด์Šค ์š”์•ฝ")
24
 
25
+ # CSS๋กœ 3์—ด ๋‰ด์Šค ์š”์•ฝ ํƒ€์ดํ‹€์ด ๋‹ฌ๋ฆฐ ํšŒ์ƒ‰ ๋„ค๋ชจ ์นธ ์ƒ์„ฑ
26
  demo.css("#news_output_box { background-color: #f0f0f0; padding: 20px; }")
27
+
28
+ with gr.Row():
29
+ with gr.Column(): # ์ž…๋ ฅ๊ฐ’์„ ๋‹ด์„ ์ฒซ ๋ฒˆ์งธ ์—ด
30
+ input_value = gr.Textbox(label="์ข…๋ชฉ๋ช… ๋˜๋Š” ํ‹ฐ์ปค ์ž…๋ ฅ", placeholder="์˜ˆ: SK๋ฐ”์ด์˜คํŒœ, AAPL")
31
+ change_type = gr.Dropdown(choices=["์ƒ์Šน", "ํ•˜๋ฝ"], label="์ƒ์Šน ๋˜๋Š” ํ•˜๋ฝ ์„ ํƒ", value="์ƒ์Šน")
32
+ percent_change = gr.Textbox(label="๋ณ€๋™ ํผ์„ผํŠธ (%)", placeholder="์˜ˆ: 10", value="10")
33
+
34
+ submit_btn = gr.Button("Submit")
35
+
36
+ # ์˜ˆ์ œ (์ด์ „ ๋ ˆ์ด์•„์›ƒ์œผ๋กœ ๋ณต์›)
37
+ examples = [["SK๋ฐ”์ด์˜คํŒœ"],
38
+ ["๋‚˜์Šค๋‹ฅ ์‹œ์ด 1์œ„"],
39
+ ["๋‚˜์Šค๋‹ฅ ํ—ฌ์Šค์ผ€์–ด ์‹œ์ด 1์œ„"],
40
+ ["๋‚˜์Šค๋‹ฅ ๋ฐ”์ด์˜คํ… ์‹œ์ด 1์œ„"],
41
+ ["์ฝ”์Šคํ”ผ ์‹œ์ด 1์œ„"],
42
+ ["์ฝ”์Šค๋‹ฅ ์‹œ์ด 1์œ„"]]
43
+ gr.Examples(examples=examples, inputs=[input_value])
44
+
45
+ with gr.Column(): # ๊ทธ๋ž˜ํ”„๋ฅผ ์ถœ๋ ฅํ•  ๋‘ ๋ฒˆ์งธ ์—ด
46
+ plot = gr.Image(label="์ฃผ๊ฐ€ ๊ทธ๋ž˜ํ”„")
47
+ date_dropdown = gr.Dropdown(label="์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๋‚ ์งœ ์„ ํƒ", choices=[])
48
+
49
+ with gr.Column(): # ๋‰ด์Šค ์š”์•ฝ์„ ์ถœ๋ ฅํ•  ์„ธ ๋ฒˆ์งธ ์—ด
50
+ # news_output์„ gr.Markdown์œผ๋กœ ๋ณ€๊ฒฝ, ๋นˆ ์นธ์„ ํšŒ์ƒ‰ ๋ฐฐ๊ฒฝ์œผ๋กœ ์„ค์ •
51
+ news_output = gr.Markdown(label="๋‰ด์Šค ์š”์•ฝ", value="", elem_id="news_output_box")
52
+
53
+ # Submit ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ๊ทธ๋ž˜ํ”„ ๋ฐ ๋‚ ์งœ ๋“œ๋กญ๋‹ค์šด ์—…๋ฐ์ดํŠธ
54
+ submit_btn.click(
55
+ fn=display_stock_with_highlight,
56
+ inputs=[input_value, change_type, percent_change],
57
+ outputs=[plot, date_dropdown]
58
+ )
59
+
60
+ # ๋‚ ์งœ ์„ ํƒ ์‹œ ๋‰ด์Šค ์š”์•ฝ ์—…๋ฐ์ดํŠธ
61
+ date_dropdown.change(
62
+ fn=update_news,
63
+ inputs=[input_value, date_dropdown],
64
+ outputs=[news_output]
65
+ )
66
+
67
+ # Gradio ์‹คํ–‰
68
+ demo.launch()