책소개
o1부터 RAG, 랭체인, 파인 튜닝 그리고 프롬프트 엔지니어링까지 GPT와 파이썬을 활용한 실전 LLM 앱 개발챗GPT의 등장 이후로 언어 모델은 놀라운 속도로 진화하고 있다. 이 책은 LLM의 흥미로운 역사와 핵심 요소를 짚어보고 간단한 파이썬 코드로 인공지능 앱을 만드는 방법을 소개한다. 오픈AI API와 각종 라이브러리를 활용해 뉴스 기사 생성, 유튜브 동영상 요약, 질의응답 봇, 음성인식 프로그램 등 흥미로운 프로젝트를 직접 구축한다. 이 과정에서 프롬프트 엔지니어링, 파인 튜닝, 랭체인, RAG 등 고급 주제를 폭넓게 다룬다. 완전히 새롭게 구성한 2판에는 더욱 확장된 최신 AI 기술을 폭넓게 다룬다. AI 개념에 대한 명확하고 자세한 설명과 함께 오픈AI 서비스를 효과적이고 안전하게 통합하는 방법을 친절하게 소개한다. 이 책은 기본적인 파이썬 지식만 있으면 누구나 쉽게 따라 할 수 있다. 명확한 설명, 예제 프로젝트, 단계별 지침을 통해 새로운 앱을 만들어 보자.
목차
CHAPTER 1 GPT 모델과 챗GPT_1.1 LLM 소개__1.1.1 언어 모델과 자연어 처리의 기초 탐구__1.1.2 트랜스포머 아키텍처와 LLM에서의 역할__1.1.3 GPT 모델의 토큰화 및 예측 단계__1.1.4 LLM과 비전 인식의 통합_1.2 GPT-1부터 GPT-4o까지__1.2.1 GPT-1__1.2.2 GPT-2__1.2.3 GPT-3__1.2.4 GPT-3에서 인스트럭트GPT로__1.2.5 GPT-3.5, 챗GPT, 코덱스__1.2.6 GPT-4__1.2.7 AI의 진화와 멀티모달리티_1.3 LLM의 비즈니스 활용 사례__1.3.1 비 마이 아이즈__1.3.2 모건 스탠리__1.3.3 칸 아카데미__1.3.4 듀오링고__1.3.5 야블__1.3.6 웨이마크__1.3.7 인월드 AI_1.4 AI 할루시네이션_1.5 GPT 모델 최적화_1.6 정리CHAPTER 2 오픈AI API_2.1 필수 개념_2.2 오픈AI API 가용 모델__2.2.1 GPT 베이스 모델__2.2.2 인스트럭트GPT(레거시)__2.2.3 GPT-3.5__2.2.4 GPT-4_2.3 오픈AI 플레이그라운드로 GPT 모델 사용하기_2.4 오픈AI 파이썬 라이브러리__2.4.1 API 키 발급__2.4.2 API 호출_2.5 채팅 완성 모델__2.5.1 채팅 완성 엔드포인트의 입력 옵션__2.5.2 temperature와 top_p__2.5.3 채팅 완성 엔드포인트의 출력 형식__2.5.4 비전__2.5.5 JSON 출력_2.6 텍스트 완성 모델__2.6.1 텍스트 완성 엔드포인트를 위한 입력 옵션__2.6.2 텍스트 완성 엔드포인트의 출력 결과 형식_2.7 고려 사항__2.7.1 사용료와 토큰 한도__2.7.2 정보 보안_2.8 기타 오픈AI API 및 기능__2.8.1 임베딩__2.8.2 모더레이션 모델__2.8.3 텍스트 음성 변환__2.8.4 음성인식__2.8.5 이미지 모델 API_2.9 정리CHAPTER 3 LLM 기반 애플리케이션 개발_3.1 주의 사항__3.1.1 API 키 관리__3.1.2 보안과 데이터 개인 정보 보호_3.2 소프트웨어 아키텍처 디자인 패턴_3.3 LLM 기반 애플리케이션의 능력__3.3.1 대화 능력__3.3.2 언어 처리 능력__3.3.3 인간-컴퓨터 상호작용 능력__3.3.4 능력 결합_3.4 프로젝트 예시__3.4.1 프로젝트 1: 뉴스 생성 솔루션 구축__3.4.2 프로젝트 2: 유튜브 동영상 요약__3.4.3 프로젝트 3: 「젤다의 전설」 챗봇__3.4.4 프로젝트 4: 개인 어시스턴트__3.4.5 프로젝트 5: 문서 정리__3.4.6 프로젝트 6: 감정 분석_3.5 비용 관리_3.6 LLM 기반 애플리케이션의 취약점__3.6.1 입출력 분석__3.6.2 프롬프트 인젝션의 불가피성_3.7 외부 API와 작업__3.7.1 오류 및 예기치 않은 지연 문제 처리__3.7.2 요청 제한__3.7.3 응답성과 사용자 경험 향상_3.8 정리CHAPTER 4 GPT-4o 및 챗GPT 활용 고급 기법_4.1 프롬프트 엔지니어링__4.1.1 효과적인 프롬프트 설계__4.1.2 단계별 사고__4.1.3 퓨샷 러닝 구현__4.1.4 사용자 피드백을 통한 반복적 개선__4.1.5 프롬프트 개선_4.2 파인 튜닝__4.2.1 시작하기__4.2.2 오픈AI API를 통한 파인 튜닝__4.2.3 오픈AI 웹 인터페이스를 통한 파인 튜닝__4.2.4 파인 튜닝을 활용한 애플리케이션__4.2.5 파인 튜닝 예시__4.2.6 파인 튜닝 비용_4.3 RAG__4.3.1 기본 RAG__4.3.2 고급 RAG__4.3.3 RAG의 한계_4.4 전략 선택__4.4.1 전략 비교__4.4.2 평가_4.5 LLM 기반 솔루션의 해결 과제__4.5.1 프롬프트 민감도__4.5.2 비결정성__4.5.3 할루시네이션_4.6 정리CHAPTER 5 프레임워크로 LLM 기능 높이기_5.1 랭체인__5.1.1 랭체인 라이브러리__5.1.2 동적 프롬프트__5.1.3 에이전트와 도구__5.1.4 메모리__5.1.5 임베딩_5.2 라마인덱스__5.2.1 10줄 코드로 RAG 구현하기__5.2.2 라마인덱스 원칙__5.2.3 맞춤 설정_5.3 GPTs_5.4 어시스턴트 API__5.4.1 어시스턴트 생성__5.4.2 어시스턴트 API를 통한 대화 관리__5.4.3 함수 호출__5.4.4 오픈AI 웹 플랫폼의 어시스턴트_5.5 정리CHAPTER 6 마치며_6.1 주요 내용__6.1.1 GPT 모델__6.1.2 오픈AI API__6.1.3 기획과 설계__6.1.4 LLM 기능 활용__6.1.5 다양한 프레임워크 활용_6.2 LLM 기반 애플리케이션 개발 과정__6.2.1 1단계: 아이디어 구상__6.2.2 2단계: 요구 사항 정의__6.2.3 3단계: 프로토타입 제작__6.2.4 4단계: 개선 및 반복__6.2.5 5단계: 솔루션 완성도 검토_6.3 정리APPENDIX A GPT의 활용도를 높이는 도구A.1 스트림릿A.2 GPTs 작업 기능APPENDIX B 오픈AI o1B.1 챗GPT에서 o1 활용하기APPENDIX C 용어 사전C.1 주요 용어C.2 도구, 라이브러리, 프레임워크