seawolf2357 commited on
Commit
713547c
Β·
verified Β·
1 Parent(s): c32ace2

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +37 -1
app.py CHANGED
@@ -88,10 +88,46 @@ def generate(prompt, history=[], temperature=0.1, max_new_tokens=10000, top_p=0.
88
  output_accumulated += output_part
89
  yield output_accumulated + f"\n\n---\nTotal tokens used: {total_tokens_used}\nStock Data: {stock_data}"
90
  else:
91
- yield f"μž…λ ₯ν•˜μ‹  '{prompt}'은(λŠ”) μ§€μ›λ˜λŠ” μ’…λͺ©λͺ…이 μ•„λ‹™λ‹ˆλ‹€. ν˜„μž¬ μ§€μ›λ˜λŠ” μ’…λͺ©μ€ μ• ν”Œ, λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ, μ•„λ§ˆμ‘΄, μ•ŒνŒŒλ²³ (ꡬ글), ν…ŒμŠ¬λΌ λ“±μž…λ‹ˆλ‹€. μ •ν™•ν•œ μ’…λͺ©λͺ…을 μž…λ ₯ν•΄μ£Όμ„Έμš”."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  except Exception as e:
93
  yield f"Error: {str(e)}\nTotal tokens used: {total_tokens_used}"
94
 
 
 
 
 
 
 
 
 
 
 
 
95
  # μ’…λͺ©λͺ…을 ν† λŒ€λ‘œ 티컀와 κΈ°μ—… 정보λ₯Ό μ œκ³΅ν•˜λŠ” ν•¨μˆ˜
96
  def get_stock_info(name):
97
  stock_info = {
 
88
  output_accumulated += output_part
89
  yield output_accumulated + f"\n\n---\nTotal tokens used: {total_tokens_used}\nStock Data: {stock_data}"
90
  else:
91
+ # μž…λ ₯이 티컀인 경우 처리
92
+ ticker = prompt.upper()
93
+ if ticker in ['AAPL', 'MSFT', 'AMZN', 'GOOGL', 'TSLA']:
94
+ stock_info = get_stock_info_by_ticker(ticker)
95
+ response_msg = f"{stock_info['name']}은(λŠ”) {stock_info['description']} μ£Όλ ₯으둜 μƒμ‚°ν•˜λŠ” κΈ°μ—…μž…λ‹ˆλ‹€. {stock_info['name']}의 ν‹°μ»€λŠ” {stock_info['ticker']}μž…λ‹ˆλ‹€. μ›ν•˜μ‹œλŠ” μ’…λͺ©μ΄ λ§žλŠ”κ°€μš”?"
96
+ output_accumulated += response_msg
97
+ yield output_accumulated
98
+
99
+ # 좔가적인 뢄석 μš”μ²­μ΄ μžˆλ‹€λ©΄, yfinance둜 데이터 μˆ˜μ§‘ 및 뢄석
100
+ stock_data = get_stock_data(stock_info['ticker']) # 티컀λ₯Ό μ΄μš©ν•΄ 주식 데이터λ₯Ό κ°€μ Έμ˜΅λ‹ˆλ‹€.
101
+ stream = client.text_generation(
102
+ formatted_prompt,
103
+ temperature=temperature,
104
+ max_new_tokens=min(max_new_tokens, available_tokens),
105
+ top_p=top_p,
106
+ repetition_penalty=repetition_penalty,
107
+ do_sample=True,
108
+ seed=42,
109
+ stream=True
110
+ )
111
+ for response in stream:
112
+ output_part = response['generated_text'] if 'generated_text' in response else str(response)
113
+ output_accumulated += output_part
114
+ yield output_accumulated + f"\n\n---\nTotal tokens used: {total_tokens_used}\nStock Data: {stock_data}"
115
+ else:
116
+ yield f"μž…λ ₯ν•˜μ‹  '{prompt}'은(λŠ”) μ§€μ›λ˜λŠ” μ’…λͺ©λͺ… λ˜λŠ” 티컀가 μ•„λ‹™λ‹ˆλ‹€. ν˜„μž¬ μ§€μ›λ˜λŠ” μ’…λͺ©μ€ μ• ν”Œ(AAPL), λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ(MSFT), μ•„λ§ˆμ‘΄(AMZN), μ•ŒνŒŒλ²³(GOOGL), ν…ŒμŠ¬λΌ(TSLA) λ“±μž…λ‹ˆλ‹€. μ •ν™•ν•œ μ’…λͺ©λͺ… λ˜λŠ” 티컀λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”."
117
  except Exception as e:
118
  yield f"Error: {str(e)}\nTotal tokens used: {total_tokens_used}"
119
 
120
+ # 티컀λ₯Ό ν† λŒ€λ‘œ μ’…λͺ© 정보λ₯Ό μ œκ³΅ν•˜λŠ” ν•¨μˆ˜
121
+ def get_stock_info_by_ticker(ticker):
122
+ stock_info = {
123
+ "AAPL": {'ticker': 'AAPL', 'name': 'μ• ν”Œ', 'description': '아이폰을'},
124
+ "MSFT": {'ticker': 'MSFT', 'name': 'λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ', 'description': 'μœˆλ„μš° μš΄μ˜μ²΄μ œμ™€ μ˜€ν”ΌμŠ€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό'},
125
+ "AMZN": {'ticker': 'AMZN', 'name': 'μ•„λ§ˆμ‘΄', 'description': 'μ „μžμƒκ±°λž˜ 및 ν΄λΌμš°λ“œ μ„œλΉ„μŠ€λ₯Ό'},
126
+ "GOOGL": {'ticker': 'GOOGL', 'name': 'μ•ŒνŒŒλ²³', 'description': '검색 μ—”μ§„ 및 온라인 κ΄‘κ³ λ₯Ό'},
127
+ "TSLA": {'ticker': 'TSLA', 'name': 'ν…ŒμŠ¬λΌ', 'description': 'μ „κΈ°μžλ™μ°¨μ™€ μ—λ„ˆμ§€ μ €μž₯μž₯치λ₯Ό'},
128
+ }
129
+ return stock_info.get(ticker, {'ticker': None, 'name': None, 'description': ''})
130
+
131
  # μ’…λͺ©λͺ…을 ν† λŒ€λ‘œ 티컀와 κΈ°μ—… 정보λ₯Ό μ œκ³΅ν•˜λŠ” ν•¨μˆ˜
132
  def get_stock_info(name):
133
  stock_info = {