Rulga commited on
Commit
2d58515
·
1 Parent(s): 5b342fb

Refactor API endpoints by moving status to a dedicated endpoint and removing the old root endpoint; update Gradio app launch to integrate with FastAPI.

Browse files
Files changed (2) hide show
  1. api/fastapi_server.py +9 -3
  2. app.py +6 -6
api/fastapi_server.py CHANGED
@@ -362,9 +362,9 @@ def load_knowledge_base():
362
  return None
363
 
364
  # --------------- API Endpoints ---------------
365
- @app.get("/")
366
- async def root():
367
- """Root endpoint that shows app status"""
368
  vector_store_exists = os.path.exists(os.path.join(VECTOR_STORE_PATH, "index.faiss"))
369
 
370
  return {
@@ -373,6 +373,12 @@ async def root():
373
  "kb_info": kb_info if vector_store_exists else None
374
  }
375
 
 
 
 
 
 
 
376
  @app.get("/health")
377
  async def health_check():
378
  """Health check endpoint"""
 
362
  return None
363
 
364
  # --------------- API Endpoints ---------------
365
+ @app.get("/api/status") # Перемещаем статус на отдельный endpoint
366
+ async def status():
367
+ """Status endpoint that shows app status"""
368
  vector_store_exists = os.path.exists(os.path.join(VECTOR_STORE_PATH, "index.faiss"))
369
 
370
  return {
 
373
  "kb_info": kb_info if vector_store_exists else None
374
  }
375
 
376
+ # Удаляем или комментируем старый root endpoint
377
+ # @app.get("/")
378
+ # async def root():
379
+ # """Root endpoint that shows app status"""
380
+ # ...
381
+
382
  @app.get("/health")
383
  async def health_check():
384
  """Health check endpoint"""
app.py CHANGED
@@ -187,11 +187,11 @@ with demo:
187
  build_kb_btn.click(build_kb, inputs=None, outputs=kb_status)
188
  check_status_btn.click(check_kb_status, inputs=None, outputs=kb_status)
189
 
 
 
 
190
  if __name__ == "__main__":
191
- # Launch Gradio interface
192
- demo.launch(
193
- server_name="0.0.0.0",
194
- server_port=7861, # Using different port from FastAPI
195
- share=False
196
- )
197
  #demo.launch(server_name="0.0.0.0", server_port=7860, share=False)
 
187
  build_kb_btn.click(build_kb, inputs=None, outputs=kb_status)
188
  check_status_btn.click(check_kb_status, inputs=None, outputs=kb_status)
189
 
190
+ # Mount Gradio app to FastAPI at root path
191
+ app = gr.mount_gradio_app(fastapi_app, demo, path="/")
192
+
193
  if __name__ == "__main__":
194
+ # Launch the combined app
195
+ import uvicorn
196
+ uvicorn.run(app, host="0.0.0.0", port=7860)
 
 
 
197
  #demo.launch(server_name="0.0.0.0", server_port=7860, share=False)