반응형
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를 보면서 실습해보는 시간을 가져보겠습니다.
반응형
'AI & LLM' 카테고리의 다른 글
| [Spring AI 공식문서 읽기] 3. Advisors API (0) | 2025.10.14 |
|---|---|
| [Spring AI 공식문서 읽기] 2. ChatClient API (0) | 2025.10.05 |
| Spring AI 를 활용한 MCP 서버 구현 및 Claude AI에 적용하기 (0) | 2025.10.03 |
| 랭체인(Langchain) 기본 개념과 간단한 활용 예제 (1) | 2025.08.24 |
| LLM 기본 개념 (3) | 2025.08.24 |