24 lines
682 B
Python
24 lines
682 B
Python
|
|
from fastapi import APIRouter, Query
|
||
|
|
from typing import Optional
|
||
|
|
from schemas import RunDetail, MLflowLink
|
||
|
|
from services import mlflow_service
|
||
|
|
|
||
|
|
router = APIRouter()
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/runs/{run_id}", response_model=RunDetail)
|
||
|
|
def get_run(
|
||
|
|
run_id: str,
|
||
|
|
tracking_uri: Optional[str] = Query(None, description="MLflow Tracking URI"),
|
||
|
|
):
|
||
|
|
return mlflow_service.get_run_detail(tracking_uri, run_id)
|
||
|
|
|
||
|
|
|
||
|
|
@router.get("/runs/{run_id}/mlflow-link", response_model=MLflowLink)
|
||
|
|
def get_mlflow_link(
|
||
|
|
run_id: str,
|
||
|
|
tracking_uri: Optional[str] = Query(None, description="MLflow Tracking URI"),
|
||
|
|
):
|
||
|
|
url = mlflow_service.get_mlflow_link(tracking_uri, run_id)
|
||
|
|
return {"url": url}
|