Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -132,7 +132,7 @@ def get_prompt_by_row(symbol, row):
|
|
| 132 |
head = "From {} to {}, {}'s stock price {} from {:.2f} to {:.2f}. Company news during this period are listed below:\n\n".format(
|
| 133 |
start_date, end_date, symbol, term, row['Start Price'], row['End Price'])
|
| 134 |
|
| 135 |
-
news = row["News"]
|
| 136 |
news_formatted = ["[Headline]: {}\n[Summary]: {}\n".format(
|
| 137 |
n['headline'], n['summary']) for n in news if n['date'][:8] <= end_date.replace('-', '') and \
|
| 138 |
not n['summary'].startswith("Looking for stock market analysis and research with proves results?")]
|
|
@@ -152,8 +152,13 @@ def sample_news(news, k=5):
|
|
| 152 |
|
| 153 |
|
| 154 |
def latest_news(news, k=5):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
sorted_news = sorted(news, key=lambda x: x['date'], reverse=True)
|
| 156 |
return sorted_news[:k]
|
|
|
|
| 157 |
|
| 158 |
|
| 159 |
def get_current_basics(symbol, curday):
|
|
@@ -214,6 +219,7 @@ def get_all_prompts_online(symbol, data, curday, with_basics=True):
|
|
| 214 |
return info, prompt
|
| 215 |
|
| 216 |
|
|
|
|
| 217 |
def construct_prompt(ticker, curday, n_weeks, use_basics):
|
| 218 |
try:
|
| 219 |
steps = [n_weeks_before(curday, n) for n in range(n_weeks + 1)][::-1]
|
|
|
|
| 132 |
head = "From {} to {}, {}'s stock price {} from {:.2f} to {:.2f}. Company news during this period are listed below:\n\n".format(
|
| 133 |
start_date, end_date, symbol, term, row['Start Price'], row['End Price'])
|
| 134 |
|
| 135 |
+
news = row["News"] if isinstance(row["News"], list) else json.loads(row["News"])
|
| 136 |
news_formatted = ["[Headline]: {}\n[Summary]: {}\n".format(
|
| 137 |
n['headline'], n['summary']) for n in news if n['date'][:8] <= end_date.replace('-', '') and \
|
| 138 |
not n['summary'].startswith("Looking for stock market analysis and research with proves results?")]
|
|
|
|
| 152 |
|
| 153 |
|
| 154 |
def latest_news(news, k=5):
|
| 155 |
+
# Ensure news is a list of dictionaries
|
| 156 |
+
if not isinstance(news, list):
|
| 157 |
+
raise ValueError("News must be a list of dictionaries.")
|
| 158 |
+
# Sort news by date in descending order and select the latest k items
|
| 159 |
sorted_news = sorted(news, key=lambda x: x['date'], reverse=True)
|
| 160 |
return sorted_news[:k]
|
| 161 |
+
|
| 162 |
|
| 163 |
|
| 164 |
def get_current_basics(symbol, curday):
|
|
|
|
| 219 |
return info, prompt
|
| 220 |
|
| 221 |
|
| 222 |
+
|
| 223 |
def construct_prompt(ticker, curday, n_weeks, use_basics):
|
| 224 |
try:
|
| 225 |
steps = [n_weeks_before(curday, n) for n in range(n_weeks + 1)][::-1]
|