스프링 AI 인 액션(위키북스 생성형 AI 프로그래밍 시리즈 28)
파이썬 없이 자바로 구축하는 실전 AI 서비스
파이썬을 몰라도 AI 애플리케이션 개발에는 전혀 문제가 없다!
스프링 AI 프레임워크가 있으면 손에 익은 자바나 코틀린 같은 JVM 언어로 어떤 스프링 애플리케이션에도 LLM 기능을 통합할 수 있다. 검색 증강 생성(RAG)부터 AI 에이전트 시스템까지, 스프링 AI는 빠르고 강력하며 금세 익숙해지는 도구들을 제공한다.
베스트셀러 저자 크레이그 월즈의 책 《스프링 AI 인 액션》은 스프링 AI와 스프링 부트를 이용해서 자바로 AI 애플리케이션을 구축하는 방법을 제시한다. 간단한 “Hello AI World” 예제로 시작해 RAG, AI 에이전트, 도구 사용, 음성인식 및 음성합성, AI 관측성 등 정교한 기법으로 빠르게 나아간다. 저자의 이전 책들처럼 이 책도 결과를 만들어 내는 것을 무엇보다 강조하는 저자 특유의 실용적인 예제 중심 접근법을 따른다.
★ 이 책에서 다루는 내용 ★
◎ 스프링 AI의 기초
◎ 텍스트 요약, 가상 어시스턴트 등 다양한 기능 구현
◎ RAG, 에이전트, 다중 모달 AI 등 주요 개념
◎ 대화 기억 능력
◎ AI 도구 사용
스프링 개발자를 위한 책으로, 생성형 AI 기술을 미리 알지 못해도 된다. 크레이그 월즈는 수석 엔지니어이자 스프링 엔지니어링 팀의 일원이며, 각종 콘퍼런스에서 자주 연사로 나선다. 그는 스프링 프레임워크 분야의 베스트셀러인 《스프링 인 액션》의 저자이기도 하다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
1.1 안녕, 스프링 AI!
__1.1.1 프로젝트 초기화
__1.1.2 프롬프트 제출
__1.1.3 테스트 작성
__1.1.4 예제 실행
1.2 모델의 선택
__1.2.1 오픈AI 모델을 위한 설정
__1.2.2 올라마를 이용한 로컬 모델 서빙
1.3 스프링 AI 기능 미리 살펴보기
요약
▣ 02장: 생성된 응답의 평가
2.1 유관한 답변 보장
2.2 사실 관계 정확성 테스트
2.3 실행 시점에서 자체 평가 적용
요약
▣ 03장: 생성을 위한 프롬프트 제출
3.1 프롬프트 템플릿 다루기
__3.1.1 프롬프트 템플릿 정의
__3.1.2 외부 자원에서 템플릿 가져오기
3.2 프롬프트에 맥락 정보 채우기
3.3 프롬프트 메시지 역할 구분
3.4 응답 생성에 영향 미치기
__3.4.1 채팅 옵션 지정
__3.4.2 응답 객체의 포매팅
__3.4.3 응답 스트리밍
3.5 응답 메타데이터 다루기
요약
▣ 04장: 문서와 대화하기
4.1 RAG의 이해
4.2 벡터 저장소 설정
4.3 문서 로딩 파이프라인
__4.3.1 문서 로딩 프로젝트의 초기화
__4.3.2 로딩 파이프라인의 정의
__4.3.3 파이프라인의 각 컴포넌트 작성
__4.3.4 파이프라인 실행
4.4 RAG 구현
__4.4.1 유사 문서 검색
__4.4.2 서비스 갱신
4.5 어드바이저를 이용한 RAG 구현
4.6 모듈형 RAG 적용
__4.6.1 사용자 쿼리 재작성
__4.6.2 사용자 쿼리 번역
__4.6.3 사용자 쿼리 확장
요약
▣ 05장: 대화 기억 능력 추가
5.1 AI에 기억 만들기
5.2 대화 기억 능력 추가
__5.2.1 메모리 내 대화 어드바이저 활성화
__5.2.2 대화 메모리용 프롬프트 조사
__5.2.3 대화 메모리 크기 설정
5.3 대화 ID 설정
5.4 영속적인 대화 기억 능력 활성화
__5.4.1 데이터베이스에 대화 메모리 저장
__5.4.2 벡터 저장소에 대화 메모리 저장
요약
▣ 06장: 도구 기반 생성 기능 추가
6.1 AI 도구 시작하기
__6.1.1 도구 사용 기능을 갖춘 애플리케이션 개발
__6.1.2 더 깊이 파고들기
6.2 도구 구현
__6.2.1 도구의 기반 작성
__6.2.2 도구 정의
__6.2.3 도구 작동
6.3 자바 함수를 도구로 사용
요약
▣ 07장: MCP 적용
7.1 MCP의 소개
7.2 MCP 클라이언트 다루기
7.3 나만의 MCP 서버 만들기
__7.3.1 서버 구축
__7.3.2 데이터베이스 설정
__7.3.3 MCP 서버 도구 작성
__7.3.4 MCP 서버 조사
__7.3.5 클라이언트 애플리케이션에서 서버 사용하기
7.4 HTTP+SSE 전송 다루기
__7.4.1 MCP 서버에서 HTTP+SSE 설정
__7.4.2 MCP 서버 조사
__7.4.3 HTTP+SSE 서버에 연결하는 MCP 클라이언트
7.5 프롬프트 및 자원 노출
__7.5.1 프롬프트와 자원을 노출하는 빈 정의
__7.5.2 애너테이션을 이용한 프롬프트 및 자원 정의
요약
▣ 08장: 음성과 이미지 생성
8.1 음성 다루기
__8.1.1 음성 전사(받아쓰기)
__8.1.2 텍스트로 음성 생성하기
__8.1.3 오디오를 직접 입력하고 출력하는 방법
8.2 이미지에 관한 질문에 답하기
8.3 이미지 생성
__8.3.1 이미지 옵션 지정
요약
▣ 09장: AI 연산의 관측과 추적
9.1 액추에이터 지표 활성화
__9.1.1 벡터 저장소 연산들
__9.1.2 AI 모델과의 상호작용 조사
__9.1.3 토큰 사용량 집계
__9.1.4 ChatClient와 어드바이저 연산 관측
9.2 프로메테우스에서 지표 보기
9.3 AI 대시보드 만들기
9.4 AI 연산의 추적
요약
▣ 10장: 생성형 AI의 보호
10.1 RAG 문서 접근 제어
__10.1.1 프리미엄 콘텐츠 지정
__10.1.2 보드게임 버디에 보안 기능 추가
__10.1.3 프리미엄 콘텐츠 필터링
__10.1.4 사용자별 대화 메모리 적용
__10.1.5 예제 실행
10.2 도구 보안
10.3 적대적 프롬프팅 대응
__10.3.1 민감한 단어가 포함된 프롬프트 차단
__10.3.2 프롬프트 유출 방지
10.4 사용자 입력 모더레이션
요약
▣ 11장: 생성형 AI 패턴 적용
11.1 콘텐츠 요약
11.2 메시지 번역
__11.2.1 간단한 번역기 만들기
__11.2.2 게임 규칙 답변의 번역
11.3 감성 분석
요약
▣ 12장: 에이전트 도입
12.1 에이전트의 이해
12.2 에이전트형 작업흐름과 패턴 구현
__12.2.1 프롬프트 연쇄
__12.2.2 작업 라우팅
__12.2.3 병렬화 적용
12.3 스스로 계획하는 에이전트형 솔루션
__12.3.1 임바벨 프로젝트 초기화
__12.3.2 에이전트 클래스 정의
__12.3.3 게임 규칙을 가져오는 에이전트 동작
__12.3.4 규칙서 파일명을 가져오는 동작
__12.3.5 게임명을 가져오는 동작 메서드
__12.3.6 임바벨 셸을 통한 에이전트 실행
__12.3.7 MCP를 통한 에이전트 접근
요약
저자
저자
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

