AI & LLM

[Spring AI 공식문서 읽기] 1. Spring AI 핵심 개념과 컨셉

@deveely 2025. 8. 31. 22:34
반응형
Spring AI Document를 읽으며 공부한 내용을 정리한 글입니다.

 

1. Spring AI 소개

Spring AI는 스프링 생태계에서 인공지능 기능을 쉽게 통합할 수 있도록 돕는 프레임워크입니다.
Python 진영의 LangChain, LlamaIndex에서 영감을 받았지만 단순 이식이 아니라, Java/Spring 환경에 맞춘 독자적 접근을 취합니다.

  • OpenAI, Anthropic, Microsoft, Amazon, Google 등 다양한 AI 모델 지원
    (Chat, Embedding, Text→Image, Audio, Moderation 등)
  • 구조화된 출력(POJO 매핑)과 RAG 구현을 위한 벡터 데이터베이스 연동
    (PostgreSQL PGVector, Pinecone, Redis, Milvus 등 다수)
  • Function Calling(도구/함수 호출)로 모델이 외부 API나 클라이언트 기능 실행 가능
  • Observability(관측성) 제공, ETL 기반 문서 처리, 생성형 AI 모델 평가 유틸리티 지원

즉, Spring AI는 기업 데이터·API와 AI 모델을 쉽게 연결하고,
실무 친화적인 기능들을 제공하는 스프링 스타일 AI 통합 플랫폼이라고 할 수 있습니다.

 

 

2. 핵심 개념

  • Models (모델)
    • 언어, 이미지, 오디오 처리 모델 지원
    • Embeddings(임베딩)으로 의미 기반 표현 활용
    • Pre-trained 모델을 쉽게 활용 가능
  • Prompts & Prompt Templates (프롬프트와 템플릿)
    • 단순 문자열이 아닌 역할(Role) 기반 메시지 포함
    • Prompt Engineering으로 효과적 지시 가능
    • Spring AI는 StringTemplate을 이용한 동적 프롬프트 지원
  • Embeddings (임베딩)
    • 텍스트/이미지/영상 → 벡터 변환
    • 의미 기반 유사도 검색 및 RAG의 핵심
  • Tokens (토큰)
    • 모델이 처리하는 최소 단위
    • 비용 및 컨텍스트 한계와 직결
    • GPT-3 (4K 토큰), Claude (100K 토큰), 최신 모델은 최대 1M 토큰
  • Structured Output (구조화된 출력)
    • 단순 문자열 응답을 POJO 등 구조화 객체로 매핑 가능
  • Bringing Your Data & APIs (데이터와 API 연결)
    • Fine-tuning: 모델 수정 (비용↑)
    • Prompt stuffing: 데이터 포함 (RAG)
    • Tool calling: 외부 API/도구 호출
    • Spring AI는 RAG + Tool Calling 직접 지원
  • Evaluating AI Responses (응답 평가)
    • 모델 응답 품질 검증 API 제공
    • 관련성, 일관성, 사실성 등을 평가
    • 요청/응답을 다시 모델에 검증시킬 수도 있음

위와 같이 Spring AI는 모델, 프롬프트 작성, 임베딩, 토큰 기반 처리, 구조화된 응답 처리, 데이터 ETL, 그리고 응답 평가까지
LLM 연동하는 개발자가 쉽게 연동할 수 있도록 하는 기능 전반을 제공합니다.
스프링에 익숙한 Java / Spring 기반 개발자라면 랭체인 등 타 언어 프레임워크 보다 훨씬 익숙하다는 부분도 있겠습니다.

 

 

 

3. Spring AI를 이용하려면?

먼저 BOM 을 프로젝트에 추가해줍니다.

dependencyManagement {
    imports {
        mavenBom "org.springframework.ai:spring-ai-bom:1.0.0" // Replace with desired version
    }
}

 

다음 필요한 의존성을 추가해줍니다.

e.g. OpenAI 모델 이용 시

dependencies {
    implementation 'org.springframework.ai:spring-ai-starter-model-openai'
}

 

사용가능한 Starters 목록은 여기에서 확인 가능합니다.

 

 

다음 글에서는 문서의 Reference를 보면서 실습해보는 시간을 가져보겠습니다.

 

반응형