malek-messaoudii
commited on
Commit
·
3c58a94
1
Parent(s):
c2e9c8f
correct main
Browse files- main.py +2 -2
- routes/mcp_routes.py +4 -8
- services/mcp_service.py +1 -1
main.py
CHANGED
|
@@ -61,7 +61,7 @@ stance_model_manager = None
|
|
| 61 |
kpa_model_manager = None
|
| 62 |
try:
|
| 63 |
from services.stance_model_manager import stance_model_manager
|
| 64 |
-
from services.label_model_manager import kpa_model_manager # Corrigé: import depuis kpa_model_manager.py
|
| 65 |
logger.info("✓ Gestionnaires de modèles importés")
|
| 66 |
except ImportError as e:
|
| 67 |
logger.warning(f"⚠ Impossible d'importer les gestionnaires de modèles: {e}")
|
|
@@ -209,7 +209,7 @@ except Exception as e:
|
|
| 209 |
|
| 210 |
# MCP Routes
|
| 211 |
if MCP_ENABLED and mcp_router:
|
| 212 |
-
app.include_router(mcp_router, prefix="/api/v1
|
| 213 |
logger.info("✓ Routes MCP chargées")
|
| 214 |
else:
|
| 215 |
logger.warning("⚠ Routes MCP non chargées (MCP désactivé ou router manquant)")
|
|
|
|
| 61 |
kpa_model_manager = None
|
| 62 |
try:
|
| 63 |
from services.stance_model_manager import stance_model_manager
|
| 64 |
+
from services.label_model_manager import kpa_model_manager # Corrigé: import depuis kpa_model_manager.py (cohérent partout)
|
| 65 |
logger.info("✓ Gestionnaires de modèles importés")
|
| 66 |
except ImportError as e:
|
| 67 |
logger.warning(f"⚠ Impossible d'importer les gestionnaires de modèles: {e}")
|
|
|
|
| 209 |
|
| 210 |
# MCP Routes
|
| 211 |
if MCP_ENABLED and mcp_router:
|
| 212 |
+
app.include_router(mcp_router, prefix="/api/v1", tags=["MCP"]) # Corrigé: prefix="/api/v1" pour matcher le mount (évite double /mcp/mcp)
|
| 213 |
logger.info("✓ Routes MCP chargées")
|
| 214 |
else:
|
| 215 |
logger.warning("⚠ Routes MCP non chargées (MCP désactivé ou router manquant)")
|
routes/mcp_routes.py
CHANGED
|
@@ -1,19 +1,15 @@
|
|
| 1 |
"""Routes pour exposer MCP via FastAPI"""
|
| 2 |
|
| 3 |
from fastapi import APIRouter
|
| 4 |
-
from starlette.routing import Mount
|
| 5 |
from services.mcp_service import mcp_server # Importe l'instance
|
| 6 |
|
| 7 |
router = APIRouter(prefix="/mcp", tags=["MCP"])
|
| 8 |
|
| 9 |
-
#
|
| 10 |
-
from starlette.applications import Starlette
|
| 11 |
-
mcp_starlette = Starlette(routes=[Mount("/", app=mcp_server.streamable_http_app())])
|
| 12 |
-
|
| 13 |
-
# Inclure le Starlette comme route FastAPI (via sub-app mounting)
|
| 14 |
@router.get("/health")
|
| 15 |
async def mcp_health():
|
|
|
|
| 16 |
return {"status": "MCP ready", "tools": [t.name for t in mcp_server.tools]}
|
| 17 |
|
| 18 |
-
# Le mounting principal se fait
|
| 19 |
-
#
|
|
|
|
| 1 |
"""Routes pour exposer MCP via FastAPI"""
|
| 2 |
|
| 3 |
from fastapi import APIRouter
|
|
|
|
| 4 |
from services.mcp_service import mcp_server # Importe l'instance
|
| 5 |
|
| 6 |
router = APIRouter(prefix="/mcp", tags=["MCP"])
|
| 7 |
|
| 8 |
+
# Endpoint simple pour health MCP (fallback si mounting direct ne suffit pas)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
@router.get("/health")
|
| 10 |
async def mcp_health():
|
| 11 |
+
"""Health check pour MCP"""
|
| 12 |
return {"status": "MCP ready", "tools": [t.name for t in mcp_server.tools]}
|
| 13 |
|
| 14 |
+
# Note : Le mounting principal des routes MCP (/tools, /call, /resources) se fait via app.mount dans init_mcp_server
|
| 15 |
+
# Pas besoin de Starlette ici pour éviter les conflits de path/double mounting
|
services/mcp_service.py
CHANGED
|
@@ -7,7 +7,7 @@ import logging
|
|
| 7 |
from fastapi import FastAPI # Ajouté pour résoudre l'erreur Pylance "FastAPI is not defined"
|
| 8 |
|
| 9 |
from services.stance_model_manager import stance_model_manager
|
| 10 |
-
from services.label_model_manager import kpa_model_manager # Corrigé : import depuis kpa_model_manager (cohérent avec main.py)
|
| 11 |
from services.stt_service import speech_to_text
|
| 12 |
from services.tts_service import text_to_speech
|
| 13 |
from services.chat_service import generate_chat_response
|
|
|
|
| 7 |
from fastapi import FastAPI # Ajouté pour résoudre l'erreur Pylance "FastAPI is not defined"
|
| 8 |
|
| 9 |
from services.stance_model_manager import stance_model_manager
|
| 10 |
+
from services.label_model_manager import kpa_model_manager # Corrigé : import depuis kpa_model_manager.py (cohérent avec main.py)
|
| 11 |
from services.stt_service import speech_to_text
|
| 12 |
from services.tts_service import text_to_speech
|
| 13 |
from services.chat_service import generate_chat_response
|