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,
    )