BizSpring.ai AI 모드

지식센터 / 레퍼런스

RAG를 통한 LLM정확도 향상(3) - BizSpring BLOG

RAG를 통한 LLM정확도 향상(3) 2025년 01월 08일 2025년 01월 08일 테크 지난번 글에서 Vector Database를 활용해 데이터를 임베딩 벡터의 형태로 저장하고 쿼리문과 유사한 데이터를 검색하는 방법에 대해서 알아보았습니다. 이전 글 보기: RAG를 통한

핵심 요약

  • RAG를 통한 LLM 정확도 향상 시리즈 3편으로, Spring AI를 이용해 RAG 클라이언트를 스프링에 통합하는 방법을 다룹니다.
  • 파이썬 서버로 코드가 파편화되는 문제를 줄이기 위해 Spring AI라는 통합 프레임워크 사용을 제안합니다.
  • Spring AI는 Chat Completion, Embedding, Text to Image, Audio Transcription, Text to Speech, Moderation 등의 모델을 지원합니다.
  • Ollama라는 도구를 통해 오픈소스 LLM(mistral 모델)을 로컬 PC에서 실행하고 Spring AI와 연동하는 설정 방법을 설명합니다.
  • VectorStore와 Document 클래스를 활용한 add/search 함수 예시로 임베딩 벡터 저장 및 유사도 검색 방법을 보여줍니다.

# RAG를 통한 LLM정확도 향상(3)

2025년 01월 08일 2025년 01월 08일

테크

지난번 글에서 Vector Database를 활용해 데이터를 임베딩 벡터의 형태로 저장하고 쿼리문과 유사한 데이터를 검색하는 방법에 대해서 알아보았습니다.

이전 글 보기: RAG를 통한 LLM 정확도 향상(2)

일반적으로 인공지능 프레임워크는 주로 파이썬에 치중되어 있습니다. 이전 까지는 스프링 프로젝트에서 인공지능의 기능이 필요한 경우 별도의 파이썬 서버를 구축, 파이썬 서버로 요청을 보내는 방식을 사용했습니다. 기능의 구현을 위해 코드가 파편화 될수록 관리에 드는 비용이 증가하기 때문에 효율적인 프로젝트 진행을 위해서 할 수 있다면 통합된 프레임워크를 사용하는 것이 중요합니다.

이번 글에서는 Spring AI를 이용해 RAG 클라이언트를 스프링에 통합하는 방법에 대해서 알아보겠습니다.

Spring AI

SpringAI는 스프링을 위한 AI 프레임워크 입니다. Antropic, OpenAI와 같은 AI 모델 제공업체의 API를 이용해 AI 서비스를 개발할 수 있습니다.

spring ai

Spring AI는 아래와 같은 모델들을 지원합니다.

Chat Completion

Embedding

Text to Image

Audio Transcription

Text to Speech

Moderation

Ollama

Ollama는 오픈소스 LLM을 로컬 PC에서 실행할 수 있게 해주는 도구입니다. 다양한 모델을 지원하고 Modelfile을 이용해 커스텀 모델을 사용할 수 있습니다.

ollama

이번 글에서는 Spring AI와 Ollama를 사용한 LLM 어플리케이션 설정과 간단한 예시를 살펴 보겠습니다.

Requirements

ollama 설치

Ollama 사이트에 접속 후 운영체제에 맞는 프로그램을 설치합니다.

Spring AI 설치

<dependency>

<groupId>org.springframework.ai</groupId>

<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>

<version>1.0.0-M4</version>

</dependency>

Config

# spring AI

spring:

ai:

ollama:

base-url: http://localhost:11434

# these are default values

init:

pull-model-strategy: never

timeout: 5m

max-retries: 0

chat:

include: true

additional-models:

embedding:

enabled: true

options:

model: mistral

chat:

enabled: true

model: mistral

options:

format: json

keep-alive: 5m

temperature: 0.1

# chroma DB

spring:

ai:

vectorstore:

chroma:

client:

host: http://localhost

port: 8000

initialize-schema: true # auto gen collection

collection-name: springAi

Spring의 auto-config 기능을 통해 springAi와 ollama가 자동으로 설정됩니다.

Example

Ollama를 통해서 mistral chat, embedding 모델을 사용할 준비가 되었습니다. 간단한 예시를 통해서 Spring AI를 사용해 보겠습니다.

public List<Document> add(List<Document> documents) {

try {

vectorStore.add(documents);

} catch (Exception e) {

throw new RuntimeException(e);

}

return documents;

}

public List<Document> search(String query) {

SearchRequest searchRequest = SearchRequest.defaults()

.withQuery(query);

return vectorStore.similaritySearch(searchRequest);

}

Spring AI는 VectorStore 클래스와 Document 클래스를 이용해 임베딩 벡터를 관리합니다.

add 함수는 입력된 데이터를 Document 클래스로 매핑해 저장합니다.

search 함수는 사용자의 입력(쿼리문)을 받아 VectorDB에서 입력과 유사하다고 판단되는 데이터를 검색합니다.

검색 예시

이번 글에서는 기존의 파이썬 코드 기반의 LLM 어플리케이션에서 Spring AI를 활용한 스프링 어플리케이션으로의 통합 방법과 예시를 살펴 보았습니다. Spring AI를 이용한 코드의 통합은 파편화된 코드를 줄여 프로젝트 관리의 비용을 감소 시킬 수 있습니다.

구글애즈가 정확검색·구문검색 키워드까지 AI 모드에 노출하기 시작했다 — 자동화 상품 없이 AI 답변 화면에 들어가는 첫 실험

AI가 React 앱을 직접 디버깅 – Agent 기반 디버깅

ChatGPT 광고가 픽셀·전환 API·맞춤 오디언스를 갖췄다 — 답변 화면이 측정 가능한 광고 매체가 되는 순간

AI 시대, 데이터도 설명이 필요합니다

MCP 클라이언트는 Authorization Server를 어떻게 찾는가: 공식 MCP TypeScript SDK와 VS Code 구현 비교

RAG 시대의 GEO: AI가 콘텐츠를 읽는 방식과 스키마의 진짜 역할

AI 에이전트로 웹 데이터 수집 가능 여부 자동 검증하기

GA4 Intraday 실시간 테이블, 대시보드 원천 데이터로 바로 사용할 수 있을까?

워크플로우 오케스트레이션 플랫폼 Temporal 알아보기

iOS 14.5부터 GA4까지, 환경 변화가 가져온 업무 폭증을 해결하는 실무 전략은…?

다음에 대해 검색하기...

최신 글 둘러보기

기존 SEO와 무엇이 같고 무엇이 다른가

콘텐츠가 답인 걸 모르는 사람은 없습니다 — 문제는 지속입니다

광고비를 늘리지 않고 매출을 늘린 회사들은 무엇을 했나

코호트로 비교하면 광고 예산 판단이 달라집니다

GEO를 위한 글쓰기를 위한 작은 노하우

(해외동향) 광고주가 광고플랫폼 리포트에서 자체 측정으로 옮겨가고 있다.

구글애즈가 정확검색·구문검색 키워드까지 AI 모드에 노출하기 시작했다 — 자동화 상품 없이 AI 답변 화면에 들어가는 첫 실험

AI가 React 앱을 직접 디버깅 – Agent 기반 디버깅

ChatGPT 광고가 픽셀·전환 API·맞춤 오디언스를 갖췄다 — 답변 화면이 측정 가능한 광고 매체가 되는 순간

마케팅 자동화, 무엇부터 자동화해야 할까?

출처: https://blog.bizspring.co.kr/%ed%85%8c%ed%81%ac/rag%ec%9d%84-%ed%86%b5%ed%95%9c-llm%ec%a0%95%ed%99%95%eb%8f%84-%ed%96%a5%ec%83%813/

자주 묻는 질문

Spring AI가 뭔가요?

Spring AI는 스프링을 위한 AI 프레임워크로, Anthropic, OpenAI와 같은 AI 모델 제공업체의 API를 이용해 AI 서비스를 개발할 수 있게 해줍니다. Chat Completion, Embedding, Text to Image 등 다양한 모델을 지원합니다.

왜 파이썬 서버 대신 Spring AI를 써야 하나요?

기존에는 스프링 프로젝트에서 AI 기능이 필요하면 별도의 파이썬 서버를 구축해 요청을 보내는 방식을 사용했습니다. 이렇게 코드가 파편화되면 관리 비용이 증가하므로, Spring AI로 통합하면 프로젝트 관리 비용을 줄일 수 있습니다.

Ollama는 무엇이고 어떻게 쓰나요?

Ollama는 오픈소스 LLM을 로컬 PC에서 실행할 수 있게 해주는 도구로, 다양한 모델을 지원하고 Modelfile을 이용해 커스텀 모델도 사용할 수 있습니다. 본문에서는 Ollama 사이트에서 운영체제에 맞는 프로그램을 설치해 사용하는 방법을 안내합니다.

Spring AI로 임베딩 데이터를 어떻게 저장하고 검색하나요?

VectorStore 클래스와 Document 클래스를 이용해 임베딩 벡터를 관리합니다. add 함수는 입력된 데이터를 Document 클래스로 매핑해 저장하고, search 함수는 사용자의 쿼리문을 받아 VectorDB에서 유사한 데이터를 검색합니다.

Spring AI 설정은 어떻게 하나요?

spring-ai-ollama-spring-boot-starter 의존성을 추가하고, application 설정 파일에 ollama의 base-url, chat/embedding 모델 옵션, chroma DB의 vectorstore 관련 설정을 기재하면 됩니다. Spring의 auto-config 기능을 통해 Spring AI와 Ollama가 자동으로 설정됩니다.

다른 표현: Markdown · JSON · 최종 갱신 2026-09-06