책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 인공지능
· ISBN : 9791194084167
· 쪽수 : 544쪽
· 출판일 : 2025-05-30
책 소개
목차
프롤로그
추천사
독자들의 찬사
코드 리뷰어들의 후기
다운로드 및 문의
이 책의 구성
PART 01 처음 만나는 LangChain
CHAPTER 01 RAG 이해하기
01 RAG를 사용해야 하는 이유
02 RAG의 기막힌 능력
03 LangChain을 이용한 RAG 시스템 구축
CHAPTER 02 환경 설정
01 윈도우에서 환경 설치
02 MacOS에서 환경 설치
03 OpenAI API 키 발급 및 설정하기
04 LangSmith 키 발급 및 설정하기
CHAPTER 03 LLM 기본 용어
01 Jupyter Notebook 사용법
02 토큰, 토큰 계산기, 모델별 토큰 비용
03 모델의 입출력과 컨텍스트 윈도우
CHAPTER 04 LangChain 시작하기
01 ChatOpenAI 주요 매개변수와 출력
02 LangSmith로 GPT 추론 내용 추적하기
03 멀티모달 모델로 이미지를 인식하여 답변 출력하기
04 프롬프트 템플릿 활용하기
05 LCEL로 체인 생성하기
06 출력 파서를 체인에 연결하기
07 batch() 함수로 일괄 처리하기
08 비동기 호출 방법
09 Runnable로 병렬 체인 구성하기
10 값을 전달해 주는 RunnablePassthrough
11 병렬로 Runnable을 실행하는 RunnableParallel
12 함수를 실행하는 RunnableLambda와 itemgetter
PART 02 프롬프트와 출력 파서
CHAPTER 05 프롬프트
01 프롬프트 템플릿 만들기
02 부분 변수 활용하기
03 YAML 파일로부터 프롬프트 템플릿 로드하기
04 ChatPromptTemplate
05 MessagesPlaceholder
06 퓨샷 프롬프트
07 예제 선택기
08 FewShotChatMessagePromptTemplate
09 목적에 맞는 예제 선택기
10 LangChain Hub에서 프롬프트 공유하기
CHAPTER 06 출력 파서
01 PydanticOutputParser
02 with_structured_output() 바인딩
03 LangSmith에서 출력 파서의 흐름 확인하기
04 쉼표로 구분된 리스트 출력 파서
05 구조화된 출력 파서
06 JSON 형식 출력 파서
07 Pandas 데이터프레임 출력 파서
08 날짜 형식 출력 파서
09 열거형 출력 파서
PART 03 모델과 메모리
CHAPTER 07 모델
01 RAG에서 LLM의 역할과 모델의 종류
02 다양한 LLM 활용 방법과 API 키 가져오기
03 LLM 답변 캐싱하기
04 직렬화와 역직렬화로 모델 저장 및 로드하기
05 GPT 모델의 토큰 사용량 확인하기
06 Google Generative AI 모델
07 Hugging Face Inference API 활용하기
08 Dedicated Inference Endpoint로 원격 호스팅하기
09 Hugging Face 로컬 모델 다운로드 받아 추론하기
10 Ollama 설치 및 Modelfile 설정하기
11 Ollama 모델 생성하고 ChatOllama 활용하기
12 GPT4All로 로컬 모델 실행하기
CHAPTER 08 메모리
01 대화 버퍼 메모리
02 대화 버퍼 윈도우 메모리
03 대화 토큰 버퍼 메모리
04 대화 엔티티 메모리
05 대화 지식 그래프 메모리
06 대화 요약 메모리
07 벡터 스토어 검색 메모리
08 LCEL 체인에 메모리 추가하기
09 SQLite에 대화 내용 저장하기
10 휘발성 메모리로 일반 변수에 대화 내용 저장하기
PART 04 데이터 로드와 텍스트 분할
CHAPTER 09 문서 로더
01 문서 로더의 구조 이해하기
02 PDF 로더
03 HWP 로더
04 CSV 로더와 데이터프레임 로더
05 WebBaseLoader
06 DirectoryLoader
07 UpstageDocumentParseLoader
08 LlamaParse
CHAPTER 10 텍스트 분할
01 문자 단위로 분할하기
02 문자 단위로 재귀적으로 분할하기
03 토큰 단위로 분할하기
04 의미 단위로 분할하기
05 코드 분할하기
06 마크다운 헤더로 분할하기
07 HTML 헤더로 분할하기
08 JSON 단위로 분할하기
PART 05 벡터 스토어와 리트리버
CHAPTER 11 임베딩
01 OpenAIEmbeddings
02 CacheBackedEmbeddings
03 HuggingFaceEmbeddings
04 UpstageEmbeddings
05 OllamaEmbeddings
CHAPTER 12 벡터 스토어
01 Chroma
02 FAISS
03 Pinecone
CHAPTER 13 리트리버
01 벡터 스토어 기반 리트리버
02 문서 압축기
03 양방향 리트리버
04 긴 문맥 재정렬
05 부모 문서 리트리버
06 다중 쿼리 생성 리트리버
07 다중 벡터 스토어 리트리버
08 셀프 쿼리 리트리버
09 시간 가중 벡터 스토어 리트리버
PART 06 LangChain 실습
CHAPTER 14 Streamlit으로 ChatGPT 웹 앱 제작하기
01 기본적인 웹 앱 형태 만들기
02 웹 앱에 체인 생성하기
03 프롬프트 타입 선택 기능 추가하기
CHAPTER 15 이메일 업무 자동화 챗봇
01 이메일 내용으로부터 구조화된 정보 추출하기
02 SerpAPI를 정보 검색에 활용하기
03 구조화된 답변을 다음 체인의 입력으로 추가하기
04 이메일의 주요 정보 및 검색 정보 기반 요약 보고서 챗봇
CHAPTER 16 다양한 모델을 활용한 챗봇
01 별도의 파이썬 파일로 기능 분리하기
02 GPT 대신 Deepseek 모델 사용하기
03 Ollama 모델을 사용한 RAG
04 멀티모달 모델을 활용한 이미지 인식 기반 챗봇
CHAPTER 17 RAG 챗봇
01 PDF 문서 기반 질의응답 RAG 만들기
02 프롬프트를 개선해 주는 프롬프트 메이커
03 페이지 분할 후 파일 업로드 기능 추가하기
04 PDF 기반 QA 챗봇 만들기
05 LangSmith 추적, 다양한 LLM을 RAG에 적용하기
06 프롬프트에 출처 표시하고 표 기능 추가하기
에필로그
찾아보기
저자소개
리뷰
책속에서
“서울특별시에 사는 테디 아버지 이름이 뭐야?”
ChatGPT는 이러한 개인적인 질문을 받으면 굉장히 황당할 겁니다. 테디가 누구인지, 그의 아버지 이름이 뭔지 어떻게 알겠냐고요. 이런 경우 모른다고 답하거나 답변하는 과정에서 잘못된 정보를 생성(할루시네이션)할 가능성이 높습니다. 하지만 다음과 같은 가족관계증명서를 GPT에게 주면 어떻게 될까요? GPT는 자료를 참고해서 테디 아버지 이름은 ‘폴’이라고 정확한 답변을 제공할 수 있을 것입니다.
완전 파인 튜닝은 다소 전문적인 영역이기 때문에 개인이 수행하기에는 어려울 수 있습니다. PEFT 역시 파인 튜닝의 한 종류이지만, 충분한 시간과 노력을 들인다면 개인적으로 시도해 볼 수 있는 수준입니다.
RAG는 코드 작성이 필요 없는 프롬프트 엔지니어링과 비교해도 구현 난이도가 그리 높지 않은데, 앞으로 학습할 8단계의 세부 모듈을 플러그인처럼 교체하는 방식으로 구현할 수 있기 때문입니다.
ChatGPT는 자체 RAG 시스템을 통해 답변을 제공하지만, 더 나은 답변을 위해 세부 알고리즘을 조정할 수 없다는 문제가 있습니다. 이제 우리는 LangChain을 통해 RAG의 모든 세부 프로세스를 한 땀 한 땀 구현할 것입니다. 한마디로 ‘튜닝’을 하는 것이죠. 우리가 원하는 형태의 답변을 얻을 때까지 각 과정을 투명하게 개선하고, 그 방법론을 체계적으로 정립해 놓으면 다양한 비즈니스 환경에서도 얼마든지 활용 가능한 수준의 성능에 도달할 수 있습니다.




















