No1r97 commited on
Commit
00031a8
1 Parent(s): 8d31bb0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -6
app.py CHANGED
@@ -4,12 +4,14 @@ import time
4
  import json
5
  import random
6
  import finnhub
 
7
  import gradio as gr
8
  import pandas as pd
9
  import yfinance as yf
10
- from transformers import AutoTokenizer, AutoModelForCausalLM
11
  from peft import PeftModel
 
12
  from datetime import date, datetime, timedelta
 
13
 
14
  os.environ['HF_HOME'] = '/data/.huggingface'
15
 
@@ -36,7 +38,6 @@ tokenizer = AutoTokenizer.from_pretrained(
36
  token=access_token
37
  )
38
 
39
-
40
  B_INST, E_INST = "[INST]", "[/INST]"
41
  B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
42
 
@@ -208,17 +209,18 @@ def get_all_prompts_online(symbol, data, curday, with_basics=True):
208
  return info, prompt
209
 
210
 
211
- def construct_prompt(ticker, date, n_weeks, use_basics):
212
 
213
- curday = get_curday()
214
  steps = [n_weeks_before(curday, n) for n in range(n_weeks + 1)][::-1]
215
  data = get_stock_data(ticker, steps)
216
  data = get_news(ticker, data)
217
  data['Basics'] = [json.dumps({})] * len(data)
 
218
 
219
  info, prompt = get_all_prompts_online(ticker, data, curday, use_basics)
220
 
221
  prompt = B_INST + B_SYS + SYSTEM_PROMPT + E_SYS + prompt + E_INST
 
222
 
223
  return info, prompt
224
 
@@ -228,8 +230,7 @@ def predict(ticker, date, n_weeks, use_basics):
228
  info, prompt = construct_prompt(ticker, date, n_weeks, use_basics)
229
 
230
  inputs = tokenizer(
231
- prompt, return_tensors='pt',
232
- padding=False, max_length=4096
233
  )
234
  inputs = {key: value.to(model.device) for key, value in inputs.items()}
235
 
@@ -240,6 +241,8 @@ def predict(ticker, date, n_weeks, use_basics):
240
  )
241
  output = tokenizer.decode(res[0], skip_special_tokens=True)
242
  answer = re.sub(r'.*\[/INST\]\s*', '', output, flags=re.DOTALL)
 
 
243
 
244
  return info, answer
245
 
 
4
  import json
5
  import random
6
  import finnhub
7
+ import torch
8
  import gradio as gr
9
  import pandas as pd
10
  import yfinance as yf
 
11
  from peft import PeftModel
12
+ from collections import defaultdict
13
  from datetime import date, datetime, timedelta
14
+ from transformers import AutoTokenizer, AutoModelForCausalLM
15
 
16
  os.environ['HF_HOME'] = '/data/.huggingface'
17
 
 
38
  token=access_token
39
  )
40
 
 
41
  B_INST, E_INST = "[INST]", "[/INST]"
42
  B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n"
43
 
 
209
  return info, prompt
210
 
211
 
212
+ def construct_prompt(ticker, curday, n_weeks, use_basics):
213
 
 
214
  steps = [n_weeks_before(curday, n) for n in range(n_weeks + 1)][::-1]
215
  data = get_stock_data(ticker, steps)
216
  data = get_news(ticker, data)
217
  data['Basics'] = [json.dumps({})] * len(data)
218
+ print(data)
219
 
220
  info, prompt = get_all_prompts_online(ticker, data, curday, use_basics)
221
 
222
  prompt = B_INST + B_SYS + SYSTEM_PROMPT + E_SYS + prompt + E_INST
223
+ print(prompt)
224
 
225
  return info, prompt
226
 
 
230
  info, prompt = construct_prompt(ticker, date, n_weeks, use_basics)
231
 
232
  inputs = tokenizer(
233
+ prompt, return_tensors='pt', padding=False
 
234
  )
235
  inputs = {key: value.to(model.device) for key, value in inputs.items()}
236
 
 
241
  )
242
  output = tokenizer.decode(res[0], skip_special_tokens=True)
243
  answer = re.sub(r'.*\[/INST\]\s*', '', output, flags=re.DOTALL)
244
+
245
+ torch.cuda.empty_cache()
246
 
247
  return info, answer
248