별 거 없다. 까먹지 않도록 간단히 기록해본다.
나는 mac이라 brew로 설치했는데 뭐 어떤 방식으로 설치하든 상관없다.
ollama란 대충 로컬에서 ai 모델을 편리하게 실행 관리하게 해주는 tool? 같은 거라 생각하면 된다.
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 로 확인해보자.
직접 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 파일을 읽어드리는 식으로 정의했다.
테스트해보면
세상 참 편리해졌다. ㅎ