seawolf2357 commited on
Commit
666dba6
ยท
verified ยท
1 Parent(s): 92aff8b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +64 -33
app.py CHANGED
@@ -21,6 +21,29 @@ system_instruction = """
21
  # ๋ˆ„์  ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•˜๋Š” ์ „์—ญ ๋ณ€์ˆ˜
22
  total_tokens_used = 0
23
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
  def format_prompt(message, history):
25
  prompt = "<s>[SYSTEM] {} [/SYSTEM]".format(system_instruction)
26
  for user_prompt, bot_response in history:
@@ -50,38 +73,46 @@ def generate(prompt, history=[], temperature=0.1, max_new_tokens=10000, top_p=0.
50
  except Exception as e:
51
  yield f"Error: {str(e)}\nTotal tokens used: {total_tokens_used}"
52
 
53
- mychatbot = gr.Chatbot(
54
- avatar_images=["./user.png", "./botm.png"],
55
- bubble_full_width=False,
56
- show_label=False,
57
- show_copy_button=True,
58
- likeable=True,
59
- )
60
-
61
-
62
- examples = [
63
- ["๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ• ๊ฒƒ.", []], # history ๊ฐ’์„ ๋นˆ ๋ฆฌ์ŠคํŠธ๋กœ ์ œ๊ณต
64
- ["๋ถ„์„ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ ๋‹ค์‹œ ์ถœ๋ ฅํ• ๊ฒƒ", []],
65
- ["์ถ”์ฒœ ์ข…๋ชฉ ์•Œ๋ ค์ค˜", []],
66
- ["๊ทธ ์ข…๋ชฉ ํˆฌ์ž ์ „๋ง ์˜ˆ์ธกํ•ด", []]
67
- ]
68
-
69
-
70
- css = """
71
- h1 {
72
- font-size: 14px; /* ์ œ๋ชฉ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ์ž‘๊ฒŒ ์„ค์ • */
73
- }
74
- footer {visibility: hidden;}
75
- """
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
- demo = gr.ChatInterface(
78
- fn=generate,
79
- chatbot=mychatbot,
80
- title="๊ธ€๋กœ๋ฒŒ ์ž์‚ฐ(์ฃผ์‹,์ง€์ˆ˜,์ƒํ’ˆ,๊ฐ€์ƒ์ž์‚ฐ,์™ธํ™˜ ๋“ฑ) ๋ถ„์„ LLM: BloombAI",
81
- retry_btn=None,
82
- undo_btn=None,
83
- css=css,
84
- examples=examples
85
- )
86
 
87
- demo.queue().launch(show_api=False)
 
 
21
  # ๋ˆ„์  ํ† ํฐ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถ”์ ํ•˜๋Š” ์ „์—ญ ๋ณ€์ˆ˜
22
  total_tokens_used = 0
23
 
24
+
25
+ def fetch_ticker_info(ticker):
26
+ stock = yf.Ticker(ticker)
27
+ try:
28
+ info = stock.info
29
+ # ์„ ํƒ์ ์œผ๋กœ ์ถœ๋ ฅํ•  ์ •๋ณด๋ฅผ ์ •์ œํ•ฉ๋‹ˆ๋‹ค.
30
+ result = {
31
+ "์ข…๋ชฉ๋ช…": info.get("longName"),
32
+ "์‹œ์žฅ ๊ฐ€๊ฒฉ": info.get("regularMarketPrice"),
33
+ "์ „์ผ ์ข…๊ฐ€": info.get("previousClose"),
34
+ "์‹œ๊ฐ€": info.get("open"),
35
+ "๊ณ ๊ฐ€": info.get("dayHigh"),
36
+ "์ €๊ฐ€": info.get("dayLow"),
37
+ "52์ฃผ ์ตœ๊ณ ": info.get("fiftyTwoWeekHigh"),
38
+ "52์ฃผ ์ตœ์ €": info.get("fiftyTwoWeekLow"),
39
+ "์‹œ๊ฐ€์ด์•ก": info.get("marketCap"),
40
+ "๋ฐฐ๋‹น ์ˆ˜์ต๋ฅ ": info.get("dividendYield"),
41
+ "์ฃผ์‹ ์ˆ˜": info.get("sharesOutstanding")
42
+ }
43
+ return "\n".join([f"{key}: {value}" for key, value in result.items() if value is not None])
44
+ except ValueError:
45
+ return "์œ ํšจํ•˜์ง€ ์•Š์€ ํ‹ฐ์ปค์ž…๋‹ˆ๋‹ค. ๋‹ค์‹œ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”."
46
+
47
  def format_prompt(message, history):
48
  prompt = "<s>[SYSTEM] {} [/SYSTEM]".format(system_instruction)
49
  for user_prompt, bot_response in history:
 
73
  except Exception as e:
74
  yield f"Error: {str(e)}\nTotal tokens used: {total_tokens_used}"
75
 
76
+ # ๊ธฐ์กด์˜ ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค์— ํ‹ฐ์ปค ์ž…๋ ฅ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉ
77
+ def setup_interface():
78
+ with gr.Blocks() as demo:
79
+ gr.Markdown("### ๊ธ€๋กœ๋ฒŒ ์ž์‚ฐ(์ฃผ์‹,์ง€์ˆ˜,์ƒํ’ˆ,๊ฐ€์ƒ์ž์‚ฐ,์™ธํ™˜ ๋“ฑ) ๋ถ„์„ LLM: BloombAI")
80
+
81
+ with gr.Row():
82
+ ticker_input = gr.Textbox(label="ํ‹ฐ์ปค ์ž…๋ ฅ", placeholder="์˜ˆ: AAPL", elem_id="ticker_input")
83
+ submit_button = gr.Button("์กฐํšŒ", elem_id="submit_button")
84
+
85
+ chatbot = gr.Chatbot(
86
+ avatar_images=["./user.png", "./botm.png"],
87
+ bubble_full_width=False,
88
+ show_label=False,
89
+ show_copy_button=True,
90
+ likeable=True,
91
+ elem_id="chatbot_area"
92
+ )
93
+
94
+ # ๊ฒฐ๊ณผ๋ฅผ ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค์— ์ถœ๋ ฅํ•˜๋„๋ก ์„ค์ •
95
+ submit_button.click(
96
+ fn=lambda x: f"ํ‹ฐ์ปค '{x}'์˜ ์ •๋ณด ์กฐํšŒ ๊ฒฐ๊ณผ:\n\n{fetch_ticker_info(x)}",
97
+ inputs=ticker_input,
98
+ outputs=chatbot
99
+ )
100
+
101
+ gr.Markdown("### ์ฑ„ํŒ…")
102
+ examples = [
103
+ ["๋ฐ˜๋“œ์‹œ ํ•œ๊ธ€๋กœ ๋‹ต๋ณ€ํ• ๊ฒƒ.", []],
104
+ ["๋ถ„์„ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ ๋‹ค์‹œ ์ถœ๋ ฅํ• ๊ฒƒ", []],
105
+ ["์ถ”์ฒœ ์ข…๋ชฉ ์•Œ๋ ค์ค˜", []],
106
+ ["๊ทธ ์ข…๋ชฉ ํˆฌ์ž ์ „๋ง ์˜ˆ์ธกํ•ด", []]
107
+ ]
108
+ chatbot.update(
109
+ fn=generate,
110
+ inputs=[gr.Textbox(label="๋ฉ”์‹œ์ง€ ์ž…๋ ฅ", elem_id="message_input")],
111
+ outputs=chatbot,
112
+ examples=examples
113
+ )
114
 
115
+ return demo
 
 
 
 
 
 
 
 
116
 
117
+ app = setup_interface()
118
+ app.launch()