[ADD] Experiment 조회 API 구현 및 관련 메서드 추가 (MlflowController)

main
bjkim 9 months ago
parent ffd883ea9e
commit c6bb176913

@ -13,13 +13,9 @@ import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.InputStreamResource;
import org.springframework.data.domain.Page;
import org.springframework.http.*;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.io.InputStream;

@ -25,6 +25,26 @@ public class MlflowController {
.build();
}
@Operation(summary = "Experiment 조회", description = "Experiment 이름으로 MLflow Experiment 정보를 조회합니다.")
@GetMapping(value = "/experiment", produces = MediaType.APPLICATION_JSON_VALUE)
public Map<String, Object> getExperimentByName(@RequestParam String experimentName) {
Map response = webClient.get()
.uri(uriBuilder -> uriBuilder
.path("/experiments/get-by-name")
.queryParam("experiment_name", experimentName)
.build())
.retrieve()
.bodyToMono(Map.class)
.block();
if (response == null || !response.containsKey("experiment")) {
throw new RuntimeException("Experiment not found: " + experimentName);
}
return (Map<String, Object>) response.get("experiment");
}
@Operation(summary = "Experiment의 Run 목록 조회", description = "주어진 Experiment ID의 Run을 최대 1000개까지 조회합니다.")
@GetMapping(value = "/runs", produces = MediaType.APPLICATION_JSON_VALUE)
public Mono<ResponseEntity<String>> getRuns(@RequestParam String experimentId) {

Loading…
Cancel
Save