vishurdx commited on
Commit
2297b37
·
verified ·
1 Parent(s): 46a9346

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -9
app.py CHANGED
@@ -8,11 +8,11 @@ from dataclasses import dataclass, field
8
  from sentence_transformers import SentenceTransformer
9
  from sklearn.metrics.pairwise import cosine_similarity
10
  from fastapi import FastAPI, HTTPException
11
- from fastapi.staticfiles import StaticFiles
12
  from fastapi.middleware.cors import CORSMiddleware
13
  from pydantic import BaseModel
14
 
15
- # --- 1. Data Classes (Same as before) ---
16
  @dataclass(frozen=True)
17
  class EventVenue:
18
  name: str = ""
@@ -32,7 +32,7 @@ class Event:
32
  event_type: str = ""
33
  primary_venue: EventVenue = field(default_factory=lambda: EventVenue())
34
 
35
- # --- 2. RAG & Agent Classes (Same logic, slightly cleaned) ---
36
  class EventRAGPipeline:
37
  def __init__(self, events: List[Event], embedding_model: str = 'all-MiniLM-L6-v2'):
38
  self.events = events
@@ -77,7 +77,6 @@ class GenerativeAgent:
77
  # --- 3. App Initialization ---
78
  app = FastAPI()
79
 
80
- # Allow CORS so external frontends can hit this API if needed
81
  app.add_middleware(
82
  CORSMiddleware,
83
  allow_origins=["*"],
@@ -85,7 +84,6 @@ app.add_middleware(
85
  allow_headers=["*"],
86
  )
87
 
88
- # Global variables
89
  agent = None
90
 
91
  def load_data():
@@ -112,7 +110,6 @@ def load_data():
112
  agent = GenerativeAgent(pipeline, api_key)
113
  print("System Ready.")
114
 
115
- # Load data on startup
116
  load_data()
117
 
118
  # --- 4. API Endpoints ---
@@ -126,6 +123,8 @@ async def chat_endpoint(request: ChatRequest):
126
  response = agent.generate_answer(request.message)
127
  return {"response": response}
128
 
129
- # --- 5. Serve Frontend ---
130
- # This serves the 'static' folder where we will put index.html
131
- app.mount("/", StaticFiles(directory=".", html=True), name="static")
 
 
 
8
  from sentence_transformers import SentenceTransformer
9
  from sklearn.metrics.pairwise import cosine_similarity
10
  from fastapi import FastAPI, HTTPException
11
+ from fastapi.responses import FileResponse
12
  from fastapi.middleware.cors import CORSMiddleware
13
  from pydantic import BaseModel
14
 
15
+ # --- 1. Data Classes ---
16
  @dataclass(frozen=True)
17
  class EventVenue:
18
  name: str = ""
 
32
  event_type: str = ""
33
  primary_venue: EventVenue = field(default_factory=lambda: EventVenue())
34
 
35
+ # --- 2. RAG & Agent Classes ---
36
  class EventRAGPipeline:
37
  def __init__(self, events: List[Event], embedding_model: str = 'all-MiniLM-L6-v2'):
38
  self.events = events
 
77
  # --- 3. App Initialization ---
78
  app = FastAPI()
79
 
 
80
  app.add_middleware(
81
  CORSMiddleware,
82
  allow_origins=["*"],
 
84
  allow_headers=["*"],
85
  )
86
 
 
87
  agent = None
88
 
89
  def load_data():
 
110
  agent = GenerativeAgent(pipeline, api_key)
111
  print("System Ready.")
112
 
 
113
  load_data()
114
 
115
  # --- 4. API Endpoints ---
 
123
  response = agent.generate_answer(request.message)
124
  return {"response": response}
125
 
126
+ # --- 5. Serve Frontend (UPDATED) ---
127
+ # This explicitly looks for index.html in the CURRENT folder, so you don't need a 'static' folder.
128
+ @app.get("/")
129
+ async def read_index():
130
+ return FileResponse('index.html')