AI-ST / app.py
Shrijanagain's picture
Update app.py
e717138 verified
import gradio as gr
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
import uvicorn
from skt_search.ui.gradio_ui import SKTSearchUI
from skt_search.admin.admin_panel import AdminPanel
from skt_search.ui.playground import SKTPlayground
from skt_search.ui.api_docs import create_api_docs
from skt_search.ui.key_management import KeyManagementPage
from skt_search.api.fastapi_app import app as api_app
# Create main FastAPI app
app = FastAPI(
title="SKT Search",
description="AI-Powered Search Engine with RAG, LangGraph, and Heavy Browser",
version="1.0.0"
)
# Add CORS
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
# Mount API routes
for route in api_app.routes:
app.routes.append(route)
# Create all Gradio interfaces
search_ui = SKTSearchUI()
main_interface = search_ui.create_interface()
admin = AdminPanel()
admin_interface = admin.create_interface()
playground = SKTPlayground()
playground_interface = playground.create_interface()
api_docs_interface = create_api_docs()
key_page = KeyManagementPage()
key_interface = key_page.create_interface()
# Mount all Gradio apps
app = gr.mount_gradio_app(app, main_interface, path="/")
app = gr.mount_gradio_app(app, admin_interface, path="/admin")
app = gr.mount_gradio_app(app, playground_interface, path="/playground")
app = gr.mount_gradio_app(app, api_docs_interface, path="/docs")
app = gr.mount_gradio_app(app, key_interface, path="/keys")
@app.get("/health")
def health_check():
return {"status": "healthy", "version": "1.0.0"}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=7860)