deepseek-r1 모델 로컬에서 구동해서 springboot와 간단히 통합해보기

공부는 혼자하는 거·2025년 2월 4일
0

Spring Tip

목록 보기
53/53

별 거 없다. 까먹지 않도록 간단히 기록해본다.

1. 내 로컬 pc에 ollama 설치한다.

나는 mac이라 brew로 설치했는데 뭐 어떤 방식으로 설치하든 상관없다.
ollama란 대충 로컬에서 ai 모델을 편리하게 실행 관리하게 해주는 tool? 같은 거라 생각하면 된다.

2. 설치했으면 실행해주고 deepseek 모델을 다운받는다.

deep seek 모델은 https://ollama.com/library/deepseek-r1 대충 여기서 보고 고르면 된다.
나는 제일 가벼운 거 다운받았다.

ollama serve > /dev/null 2>&1 &  # 백그라운드로 실행
ollama run deepseek-r1:1.5b

잘 작동하는 걸 확인할 수 있다. ollama 프로세스는 기본 포트가 11434로 배정되며 보시다시피 어떤 엔드포인트로 질의했는지도 확인할 수 있다. postman으로 확인해보면

모델명 모르겠으면 ollama list 로 확인해보자.

3. 이제 springboot 와 통합해보자.

직접 http 요청을 통해 통신할 수도 있겠지만, 최신 springboot feature들을 보면 이미 ai와 쉽게 통합시킬 수 있는 공식 dependency를 제공해주는 걸 알 수 있다. 기본 springboot 셋팅 같은 거 다 생략하겠다. 어차피 알고있는 것일 테니까, 딴 거 다 필요없이 ollama 관련된 거는 아래와 같다. 필자는 gradle 사용했다.

extra["springAiVersion"] = "1.0.0-M5"


dependencyManagement {
    imports {
        mavenBom("org.springframework.ai:spring-ai-bom:${property("springAiVersion")}")
    }
}

implementation("org.springframework.ai:spring-ai-ollama-spring-boot-starter")

간단히 컨트롤러 만들고 통신하는 엔드포인트 함수 생성해주자.

chatclient 같은 경우 spring-ai 가 제공해주는 클래스인데 코드로 설정정보를 기입할 수도 있겠지만, 나는 yml 파일을 읽어드리는 식으로 정의했다.

테스트해보면

세상 참 편리해졌다. ㅎ

profile
시간대비효율

0개의 댓글

관련 채용 정보