File size: 1,842 Bytes
b3a7985
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from endpoints.predict import router as predict_router
from agents.dataset_update_agent import router as dataset_router
from agents.financial_data_agent import router as finance_router
from agents.investment_agent import router as invest_router
from agents.rl_agent import router as rl_router
from utils.logger import get_logger
from fastapi import FastAPI, Request
from fastapi.responses import HTMLResponse
from fastapi.staticfiles import StaticFiles
from jinja2 import Environment, FileSystemLoader
import os




logger = get_logger()

app = FastAPI(title="ATCoin Neural Agents")

app.add_middleware(
    CORSMiddleware,
    allow_origins=["http://localhost:3000"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# Registrar rotas
app.include_router(predict_router)
app.include_router(dataset_router, prefix="/dataset")
app.include_router(finance_router, prefix="/finance")
app.include_router(invest_router, prefix="/invest")
app.include_router(rl_router, prefix="/rl")




@app.get("/", response_class=HTMLResponse)
async def index():
    agentes = [
        {
            "nome": "Captura de Dados",
            "status": "Ativo",
            "ultima_acao": "08/05/2025 10:00",
            "proxima_execucao": "09/05/2025 10:00",
            "resultado": "12 ativos atualizados"
        },
        {
            "nome": "PPO Trainer",
            "status": "Treinando",
            "ultima_acao": "08/05/2025 12:00",
            "proxima_execucao": "09/05/2025 12:00",
            "resultado": "Reward: 0.89"
        },
        # outros agentes...
    ]

    template = templates.get_template("index.html")
    return HTMLResponse(template.render(agentes=agentes))