『LLMOps를 활용한 LLM 엔지니어링』은 LLM 애플리케이션의 개발부터 운영, 평가, 개선까지 전 과정을 실무 중심으로 풀어낸 LLMOps 실전 가이드다. 단순한 모델 호출이나 프롬프트 작성에 그치지 않고, LLM을 제품과 서비스에 적용하는 과정에서 반드시 마주치는 문제들을 어떻게 해결하고, 어떻게 관리할 것인지에 초점을 맞췄다. 또한 이 책은 실습용 애플리케이션을 개발하면서 랭체인, 스트림릿, 파인콘 등의 도구를 활용하는 방법과 프롬프트 버저닝, 성능 평가 자동화, 합성 데이터셋 생성 등 실제 운영에 필요한 기능을 직접 구현해보며 LLMOps의 흐름을 체득할 수 있도록 구성돼 있다. 이 책을 처음부터 끝까지 정독한다면 LLM 운영 전반에 대한 인사이트를 얻을 것이며, 필요한 파트만 골라 읽더라도 당장 직면한 문제들을 해결할 수 있는 실용적인 해법을 발견할 수 있을 것이다.
Contents
[1부] 기본적인 LLMOps의 흐름
▣ 01장: LLMOps의 흐름
1.1 배경: LLM 애플리케이션을 만들기 위한 반복적인 업무 과정
1.2 LLMOps가 필요한 이유
1.3 MLOps와 LLMOps의 차이점
__1.3.1 모델의 복잡성과 규모
__1.3.2 데이터 관리 및 처리
__1.3.3 커스터마이제이션과 최적화
__1.3.4 모니터링
1.4 LLMOps 워크플로
▣ 02장: LLM 애플리케이션 개발을 위한 배경 지식
2.1 LLM 모델 선택
__2.1.1 상업용 클로즈드 모델
__2.1.2 오픈소스 모델
__2.1.3 클로즈드 모델과 오픈소스 모델의 차이점
__2.1.4 비즈니스 요구사항에 따른 모델 선택
2.2 애플리케이션 유형에 따른 LLM 파라미터 조절
2.3 프롬프트의 요소
__2.3.1 프롬프트의 구성 요소
__2.3.2 프롬프트 역할
__2.3.3 프롬프트 템플릿화
▣ 03장: 실습용 고객 문의 분류 애플리케이션 개발
3.1 고객 문의 분류 애플리케이션 개요
3.2 언어 모델 선택
__3.2.1 앤트로픽의 Messages API
__3.2.2 올라마를 이용한 오픈소스 모델 접근
3.3 랭체인 개요
__3.3.1 랭체인을 사용하는 이유
__3.3.2 랭체인 설치 및 예제 애플리케이션 빌드
3.4 랭체인 기초
__3.4.1 프롬프트 템플릿
__3.4.2 채팅 모델
__3.4.3 출력 파서
__3.4.4 LCEL
3.5 랭체인을 이용한 실습 애플리케이션 개발
__3.5.1 모델 정의
__3.5.2 출력 파서 정의
__3.5.3 애플리케이션 체인 개발
▣ 04장: LLMOps 도구 개발
4.1 LLMOps 도구의 필요성
__4.1.1 프롬프트 버저닝
__4.1.2 평가를 위한 데이터셋 관리
__4.1.3 성능 평가 기준과 방식
4.2 LLMOps 도구의 필수 기능과 구성 요소
__4.2.1 테스트 기능
__4.2.2 프롬프트 관리 및 버저닝 기능
__4.2.3 평가
__4.2.4 데이터셋 관리 기능
4.3 개발 환경 구성
__4.3.1 파이썬 기반의 간편한 웹앱 생성을 위한 스트림릿
__4.3.2 데이터를 저장하기 위한 SQLite
4.4 LLM 테스트 기능
__4.4.1 테스팅 UI가 필요한 이유
__4.4.2 테스트 기능에서 지원하는 모델 관리 클래스 구현
__4.4.3 스트림릿을 이용한 테스트 메뉴 생성
4.5 프롬프트 관리와 버저닝
__4.5.1 프롬프트 관리가 필요한 이유
__4.5.2 프롬프트 관리를 위한 테이블 설계
__4.5.3 프롬프트 관리를 위한 클래스 구현
__4.5.4 스트림릿 테스트 메뉴 개선: 프롬프트 저장 및 버전 관리 지원
__4.5.5 특정 프롬프트 템플릿을 관리하는 클래스 구현
4.6 평가 지표
__4.6.1 다양한 평가 지표
__4.6.2 평가 지표를 생성하는 평가자 클래스 구현
__4.6.3 평가자 생성 및 사용
4.7 데이터셋
__4.7.1 데이터셋 관리를 위한 테이블 설계
__4.7.2 데이터셋 저장소 클래스 구현
__4.7.3 단일 데이터셋 관리를 위한 클래스 구현
__4.7.4 스트림릿을 이용한 데이터셋 관리 메뉴 생성
4.8 데이터셋 평가
__4.8.1 데이터셋 평가를 위한 테이블 설계
__4.8.2 데이터셋 평가 클래스 구현
__4.8.3 스트림릿을 이용한 평가 실행 메뉴 생성
__4.8.4 스트림릿을 이용한 평가 결과 조회 메뉴 생성
4.9 LLMOps 메뉴 구성
▣ 05장: LLMOps 도구를 이용해 LLM 애플리케이션 관리하기
5.1 프롬프트 초안 설계 및 생성
5.2 데이터셋 구축
5.3 평가 진행
5.4 프롬프트의 새로운 버전 추가
5.5 버전별 평가 지표를 비교해 의사결정하기
5.6 평가 결과를 토대로 질문에 답변하기
[2부] RAG를 위한 LLMOps의 흐름
▣ 06장: 실습용 RAG 기반 보험 챗봇 애플리케이션
6.1 보험 문의 챗봇 애플리케이션 개요
6.2 일반적인 검색 증강 생성(RAG) 워크플로
__6.2.1 문서 인덱싱 프로세스
__6.2.2 답변 생성 프로세스
__6.2.3 더 나아간 RAG 패러다임
6.3 벡터 데이터베이스 파인콘 사용하기
__6.3.1 실습: 파인콘을 활용한 유사 문서 검색
6.4 PDF 파일을 읽어 벡터 데이터베이스에 색인
__6.4.1 문서 청킹
__6.4.2 문서 청크 벡터화
__6.4.3 색인
6.5 입력된 질문과 가장 유사한 문서 검색
__6.5.1 임베딩 모델로 후보군 문서 검색(10개)
__6.5.2 재순위화 모델로 최종 필터링 (3개)
6.6 실습 애플리케이션 체인 개발
__6.6.1 검색: 유사 문서 검색
__6.6.2 생성: 문서 기반으로 답변 생성
▣ 07장: RAG용 LLMOps 도구 개발
7.1 RAG 시스템을 위한 도구 기능
7.2 RAG 평가자 구현
__7.2.1 RAG 평가 지표 이해하기
__7.2.2 RAG 평가 지표를 지원하는 라가스
__7.2.3 RAG용 평가자 구현
__7.2.4 도구 통합: 동적 평가자 지원
__7.2.5 도구 통합: RAG 평가 지원
__7.2.6 스트림릿 평가 메뉴 기능 추가
7.3 합성 데이터셋 생성 기능
__7.3.1 RAG의 질문 유형
__7.3.2 지식 그래프 기반 테스트셋 생성 파이프라인
__7.3.3 실습: PDF 문서 기반 합성 테스트셋 생성
__7.3.4 PDF 문서 기반 합성 데이터셋 클래스 구현
▣ 08장: LLMOps 도구를 이용한 LLM 애플리케이션 관리
8.1 프롬프트 생성
8.2 합성 데이터셋 생성 및 저장
8.3 평가 진행
8.4 평가 결과 분석
__8.4.1 토큰 사용량과 지연시간 분석
__8.4.2 컨텍스트 정밀도와 신뢰성 지표 분석
8.5 평가 결과를 토대로 질문에 답변하기
[3부] 지속적 개선
▣ 09장: LLM 애플리케이션의 지속적인 관리
9.1 모니터링
__9.1.1 모델 사용량 추적
__9.1.2 성능 지표 수집
__9.1.3 프롬프트 인젝션 공격 탐지
9.2 리소스 관리: 비용 절감과 모델 경량화
__9.2.1 캐싱
__9.2.2 모델 경량화: 양자화
__9.2.3 모델 경량화: 지식 증류
9.3 딥시크가 불러온 시장의 방향성
__9.3.1 저비용 고성능 AI 모델 개발
__9.3.2 오픈소스화 전략
__9.3.3 효율적인 학습 기법 도입
▣ 10장: LLMOps 도구의 지속적 개선
10.1 체이닝, 에이전트 지원과 모니터링
__10.1.1 체이닝
__10.1.2 에이전트
10.2 모델 배포 프로세스 지원
__10.2.1 모델 학습
__10.2.2 모델 서빙
Author
박슬기
컴퓨터 공학을 전공하고 네이버에서 데이터 엔지니어로 근무하며 통계 데이터 생산과 데이터 품질 관리 업무를 수행했다. 현재는 AI 기술에 관심을 가지고 데이터 플랫폼에 AI를 접목해 생산성과 효율성을 높이는 방향에 관심이 있다.
컴퓨터 공학을 전공하고 네이버에서 데이터 엔지니어로 근무하며 통계 데이터 생산과 데이터 품질 관리 업무를 수행했다. 현재는 AI 기술에 관심을 가지고 데이터 플랫폼에 AI를 접목해 생산성과 효율성을 높이는 방향에 관심이 있다.