[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 모델 서빙