File size: 2,206 Bytes
13164ef fdb21d8 13164ef fdb21d8 7e3cbc2 13164ef e9db3f2 13164ef e9db3f2 13164ef fdb21d8 13164ef fdb21d8 13164ef e9db3f2 13164ef e9db3f2 13164ef e9db3f2 13164ef fdb21d8 13164ef fdb21d8 13164ef bf1e514 13164ef bf1e514 f273bea bf1e514 13164ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
import config
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from fastapi.staticfiles import StaticFiles
import uvicorn
import argparse
from database import init_mongodb
import auth, chat, conversations, admin
app = FastAPI(title="Medic.ial", description="Assistant IA spécialisé sur la maladie de la schizophrénie")
# Configuration CORS
app.add_middleware(
CORSMiddleware,
allow_origins=config.CORS_ORIGINS,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
init_mongodb()
app.include_router(auth.router)
app.include_router(chat.router)
app.include_router(conversations.router)
app.include_router(admin.router)
app.mount("/", StaticFiles(directory="static", html=True), name="static")
'''
@app.get("/")
async def root():
"""Page d'accueil de l'API Medic.ial."""
return {
"app_name": "Medic.ial - Assistant IA sur la schizophrénie",
"version": "1.0.0",
"api_endpoints": [
{"path": "/api/login", "method": "POST", "description": "Connexion utilisateur"},
{"path": "/api/register", "method": "POST", "description": "Création d'un compte"},
{"path": "/api/chat", "method": "POST", "description": "Poser une question à l'assistant"},
{"path": "/api/conversations", "method": "GET", "description": "Liste des conversations"},
{"path": "/api/conversations/{id}/messages", "method": "GET", "description": "Messages d'une conversation"}
],
"documentation": "/docs",
"status": "En ligne",
"environment": "Développement"
}
'''
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument("--host", default=config.HOST)
parser.add_argument("--port", type=int, default=config.PORT)
parser.add_argument("--reload", action="store_true", default=True)
parser.add_argument("--ssl_certfile")
parser.add_argument("--ssl_keyfile")
args = parser.parse_args()
uvicorn.run(
"app:app",
host=args.host,
port=args.port,
reload=args.reload,
ssl_certfile=args.ssl_certfile,
ssl_keyfile=args.ssl_keyfile,
) |