강의 동영상
학습목표
- Spring AI의 아키텍처와 Advisor, OutputConverter 등 핵심 구성 요소의 동작 원리를 이해하고, LLM의 추론 성능을 극대화하는 프롬프트 전략과 데이터 구조화의 필요성을 설명할 수 있다.
- ChatClient의 Fluent API를 활용해 실시간 스트리밍 서비스를 구현하고, 다양한 저장소(VectorStore, RDBMS 등)를 결합한 대화 기억 기능을 프로젝트에 실제로 적용할 수 있다.
- 세이프가드 Advisor 활용을 통해 AI 서비스의 보안성과 윤리적 책임을 준수하며, 최신 AI 생태계 변화에 능동적으로 대응하려는 자세를 가질 수 있다.
Spring AI 소개
AI 애플리케이션 개발의 도전 과제
- 복잡한 데이터 흐름: 모델에 데이터를 전달하고 결과를 처리하는 전 과정을 직접 구현할 경우 코드의 복잡도가 급격히 상승합니다.
- 유지보수의 어려움: 기능 추가나 수정 시 하드코딩된 로직은 큰 장애물이 됩니다.
- 표준화의 필요성: 입출력 관리, 후처리, 외부 도구 연동 등을 체계적으로 관리할 프레임워크 도입이 필수적입니다.
Python 생태계의 대표 주자: LangChain (랭체인)
- 핵심 철학: 프롬프트 → 응답 → 후처리를 하나의 체인(Chain) 형태로 연결하여 데이터 흐름을 단순화합니다.
- 주요 기능
- 대화 기억(Memory): 이전 대화 맥락을 유지.
- RAG (문서 검색 기반 답변): 외부 데이터를 참조하여 정확한 답변 생성.
- 도구 호출(Tool Calling): 모델이 직접 외부 API나 함수를 실행.
Java 엔터프라이즈의 강자: Spring AI
- 특징: 내부 구현 방식은 다르지만, 랭체인과 거의 동일한 수준의 고도화된 기능을 제공합니다.
- 강점
- 다양한 LLM 지원: OpenAI, Hugging Face 등 주요 모델의 자동 구성.
- 엔터프라이즈급 연동: 다양한 벡터 저장소 및 대화 기억 저장 옵션 지원.
- 최신 기술 대응: RAG, 도구 호출은 물론 MCP(Model Context Protocol) 서버 개발 기능까지 포함.