본문 바로가기

❤29기/29기 세미나

[29기 5차 세미나] 데이터 모델 - 백엔드 연동하기

 

2학기 중간고사 이후, 본격적인 프로젝트의 재개를 앞두고,

 

 

솔룩스 29기의 5차 세미나가 10/25 (금) ~ 11/1 (금) 동안 진행되었습니다.

 

 

[ 데이터 모델 - 백엔드 연동하기 ] 의 내용을 한 번 같이 살펴볼까요?

 

 

 

주제


 

 

기간

 

 

 

10월 25일 (금) ~ 11월 1일 (금)

 

 

 


 

 

 

세미나 소개 

 

 

 

김지원 멘토님께서 진행해 주신 이번 세미나에서는

 

 

데이터 모델을 스프링 부트 백엔드에 통합하는 방법에 대해 학습하고,

 

 

POSTMAN을 사용하여 API 테스트의 작동 모습까지 살펴보았습니다.

 

 

 

내용


     

1. 모델 통합 코드 

 

 

* ONNX 모델 및 프로젝트 구조 소개

 

 

 

 

프로젝트에서 사용한 모델은

 

 

텍스트를 입력 받아, 특정한 클래스를 예측하는 ONNX 분류 딥러닝 모델입니다.

 

 

구체적으로, 해당 모델은 사이트 url이 연구실과 관련이 있는지 여부를 판단하여 출력할 수 있도록 합니다.

 

 

 

 

프로젝트의 구조는

 

 

클라이언트의 요청을 받는 Controller, 데이터를 전처리하고 모델을 실행하는 Service,

 

 

그리고, 모델 파일을 저장하는 리소스 부분인 Model 로 나누어집니다.

 

 

 


 

 

 

*프로젝트 기본 세팅 

 

 

 

먼저, ONNX 모델을 호출하여 예측을 처리하는 DePrediction Controller 클래스에 대해 살펴보며,

 

 

프로젝트의 기본 세팅에 대해 학습하였습니다.

 

 

 

결과 예측 수행을 위하여, ORT 환경과 ORT 세션을 활용하여 ONNX 모델을 로드합니다.

 

 

이 때, src/main/resources 디렉터리 아래에 dl/model.onnx 파일이 있어야 합니다.

 

 

 


 

 

 

*예측 결과 반환 로직 살펴보기 

 

 

 

다음은, 예측 결과를 반환하는 로직을 학습하였습니다.

 

 

 

첫째, URL Content Extractor 클래스를 사용하여 URL에서 텍스트를 추출하고,

 

 

Preprocessor 클래스를 통해 전처리합니다.

 

 

전처리된 데이터를 ONNX 모델의 입력으로 제공하고, 모델의 예측 결과를 받아와 클라이언트에게 반환합니다. 

 

 

 

 

둘째, argmax 함수는 모델의 출력 중 가장 높은 확률을 가진 클래스를 선택합니다.

 

 

이것으로 최종 예측을 출력할 수 있습니다.

 

 

 


 

 

 

2. API 테스트

 

* POSTMAN을 통한 모델 예측 결과 테스트

 

 

 

다음 단계로, POSTMAN을 사용하여 API가 제대로 동작하는지 확인해 보는 시간을 가졌습니다.

 

 

POSTMAN은 API 테스트를 쉽게 할 수 있는 도구로, 요청을 보내고 바로 그 결과를 확인할 수 있습니다.

 

 

 

 

테스트 환경을 만들기 위해,

 

 

POST 요청을 설정한 후, URL에 주소를 입력하고, Body 부분에서 raw 형식의 데이터를 선택합니다.

 

 

 

 

환경 설정 후 요청을 보내면,

 

 

해당 URL은 연구실과 관련된 것이었기에, 1이라는 결과가 출력되는 것을 확인할 수 있습니다.

 

 

 

 

 

이번 세미나는 평소 다른 역할을 맡아 백엔드 경험이 없는 팀원들도

 

 

데이터 모델과 백엔드의 연동 방법을 학습하고, 직접 실습해 볼 수 있었던, 매우 의미 있고 유익한 시간이었습니다!

 

 

 

 

과제


 

- PMML 모델 파일 통합, API 개발 

 

- POSTMAN 등을 이용한 API 테스트 

 

 

 

이번 과제는 PML 모델을 사용하여 직접 API를 만드는 것이었습니다.

 

 

 

농축수산물 구매 가격 예측 모델을 사용하였고, API를 개발하여,

 

 

POSTMAN과 같은 테스트 도구를 사용하여 API가 제대로 작동하는지 여부까지 확인되어야 합니다.

 

 

 

세미나에 참여한 솔룩스 부원 분들은

 

 

과제 수행 과정에서 멘토와의 소통을 통해 궁금증을 해소하고, 문제를 해결하며,

 

 

모두가 한 층 더 성장할 수 있었던 뜻깊은 시간이었습니다!

 

 

 

 

 

앞으로 프로젝트에서 백엔드를 담당하실 때에,

 

 

이번 세미나를 통해 익힌 데이터 모델과 백엔드 연동에 대한 내용이 유용하게 활용되기를 기대합니다!