Spaces:
Running
Running
Update main.py
Browse files
main.py
CHANGED
|
@@ -14,6 +14,9 @@ from datetime import datetime, timedelta
|
|
| 14 |
import asyncio
|
| 15 |
import requests
|
| 16 |
from prompts import CODING_ASSISTANT_PROMPT, NEWS_ASSISTANT_PROMPT, generate_news_prompt
|
|
|
|
|
|
|
|
|
|
| 17 |
|
| 18 |
app = FastAPI()
|
| 19 |
|
|
@@ -159,6 +162,7 @@ async def clear_inactive_conversations():
|
|
| 159 |
|
| 160 |
@app.on_event("startup")
|
| 161 |
async def startup_event():
|
|
|
|
| 162 |
asyncio.create_task(clear_inactive_conversations())
|
| 163 |
|
| 164 |
@app.post("/coding-assistant")
|
|
@@ -196,6 +200,7 @@ async def coding_assistant(query: QueryModel, background_tasks: BackgroundTasks,
|
|
| 196 |
return StreamingResponse(process_response(), media_type="text/event-stream")
|
| 197 |
|
| 198 |
# New functions for news assistant
|
|
|
|
| 199 |
def fetch_news(query, num_results=20):
|
| 200 |
url = "https://api.search.brave.com/res/v1/news/search"
|
| 201 |
headers = {
|
|
@@ -221,6 +226,7 @@ def fetch_news(query, num_results=20):
|
|
| 221 |
else:
|
| 222 |
return []
|
| 223 |
|
|
|
|
| 224 |
def analyze_news(query):
|
| 225 |
news_data = fetch_news(query)
|
| 226 |
|
|
@@ -239,6 +245,7 @@ def analyze_news(query):
|
|
| 239 |
return messages
|
| 240 |
|
| 241 |
@app.post("/news-assistant")
|
|
|
|
| 242 |
async def news_assistant(query: NewsQueryModel, api_key: str = Depends(verify_api_key)):
|
| 243 |
"""
|
| 244 |
News assistant endpoint that provides summaries and analysis of recent news based on user queries.
|
|
|
|
| 14 |
import asyncio
|
| 15 |
import requests
|
| 16 |
from prompts import CODING_ASSISTANT_PROMPT, NEWS_ASSISTANT_PROMPT, generate_news_prompt
|
| 17 |
+
from fastapi_cache import FastAPICache
|
| 18 |
+
from fastapi_cache.backends.inmemory import InMemoryBackend
|
| 19 |
+
from fastapi_cache.decorator import cache
|
| 20 |
|
| 21 |
app = FastAPI()
|
| 22 |
|
|
|
|
| 162 |
|
| 163 |
@app.on_event("startup")
|
| 164 |
async def startup_event():
|
| 165 |
+
FastAPICache.init(InMemoryBackend(), prefix="fastapi-cache")
|
| 166 |
asyncio.create_task(clear_inactive_conversations())
|
| 167 |
|
| 168 |
@app.post("/coding-assistant")
|
|
|
|
| 200 |
return StreamingResponse(process_response(), media_type="text/event-stream")
|
| 201 |
|
| 202 |
# New functions for news assistant
|
| 203 |
+
|
| 204 |
def fetch_news(query, num_results=20):
|
| 205 |
url = "https://api.search.brave.com/res/v1/news/search"
|
| 206 |
headers = {
|
|
|
|
| 226 |
else:
|
| 227 |
return []
|
| 228 |
|
| 229 |
+
|
| 230 |
def analyze_news(query):
|
| 231 |
news_data = fetch_news(query)
|
| 232 |
|
|
|
|
| 245 |
return messages
|
| 246 |
|
| 247 |
@app.post("/news-assistant")
|
| 248 |
+
@cache(expire=3600)
|
| 249 |
async def news_assistant(query: NewsQueryModel, api_key: str = Depends(verify_api_key)):
|
| 250 |
"""
|
| 251 |
News assistant endpoint that provides summaries and analysis of recent news based on user queries.
|