mindnet/app/main.py

51 lines
1.6 KiB
Python
Raw Permalink Normal View History

2025-09-02 10:33:22 +02:00
"""
2025-12-07 19:29:48 +01:00
app/main.py — mindnet API bootstrap
2025-09-02 10:33:22 +02:00
"""
2025-09-02 10:19:42 +02:00
from __future__ import annotations
from fastapi import FastAPI
from .config import get_settings
from .routers.embed_router import router as embed_router
from .routers.qdrant_router import router as qdrant_router
2025-10-07 13:20:30 +02:00
from .routers.query import router as query_router
from .routers.graph import router as graph_router
from .routers.tools import router as tools_router
2025-12-07 19:29:48 +01:00
from .routers.feedback import router as feedback_router
2025-12-10 22:17:40 +01:00
# NEU: Chat Router (WP-05)
2025-12-08 10:32:57 +01:00
from .routers.chat import router as chat_router
2025-12-10 22:05:35 +01:00
# NEU: Ingest Router (WP-11)
from .routers.ingest import router as ingest_router
2025-10-07 13:20:30 +02:00
try:
from .routers.admin import router as admin_router
except Exception:
admin_router = None
2025-09-02 11:19:25 +02:00
2025-09-02 10:19:42 +02:00
def create_app() -> FastAPI:
2025-12-10 22:05:35 +01:00
app = FastAPI(title="mindnet API", version="0.6.0") # Version bump WP-11
2025-09-02 10:19:42 +02:00
s = get_settings()
2025-09-02 10:30:22 +02:00
2025-09-02 10:19:42 +02:00
@app.get("/healthz")
def healthz():
return {"status": "ok", "qdrant": s.QDRANT_URL, "prefix": s.COLLECTION_PREFIX}
2025-09-02 10:30:22 +02:00
2025-09-02 10:19:42 +02:00
app.include_router(embed_router)
app.include_router(qdrant_router)
2025-10-07 11:36:52 +02:00
2025-10-07 13:20:30 +02:00
app.include_router(query_router, prefix="/query", tags=["query"])
app.include_router(graph_router, prefix="/graph", tags=["graph"])
app.include_router(tools_router, prefix="/tools", tags=["tools"])
2025-12-07 19:29:48 +01:00
app.include_router(feedback_router, prefix="/feedback", tags=["feedback"])
2025-12-10 22:05:35 +01:00
2025-12-10 22:17:40 +01:00
# NEU: Chat Endpoint
app.include_router(chat_router, prefix="/chat", tags=["chat"])
# NEU: Ingest Endpoint
2025-12-10 22:05:35 +01:00
app.include_router(ingest_router, prefix="/ingest", tags=["ingest"])
2025-12-07 19:29:48 +01:00
2025-10-07 13:20:30 +02:00
if admin_router:
app.include_router(admin_router, prefix="/admin", tags=["admin"])
2025-09-02 10:19:42 +02:00
2025-10-07 13:20:30 +02:00
return app
2025-09-02 11:19:25 +02:00
2025-12-07 19:29:48 +01:00
app = create_app()