지은이 이경록(테디노트)
발행일 2025년 5월 30일
정 가 34,000원
분 량 544쪽
판 형 46배판(188*257)
ISBN 979-11-94084-16-7 93000
연령제한 모든 연령
지은이 이경록(테디노트)
발행일 2025년 5월 30일
정 가 34,000원
분 량 544쪽
판 형 46배판(188*257)
ISBN 979-11-94084-16-7 93000
연령제한 모든 연령
8단계 RAG 파이프라인으로 LLM 성능을 끌어올리는 RAG 기본부터 실제 챗봇 제작까지
테디노트의 랭체인을 활용한 RAG 비법노트
★ 8단계 RAG 파이프라인으로 LLM의 성능을 50점에서 90점으로 끌어올리는 RAG 시스템!
ChatGPT와 같은 LLM은 다양한 업무에 활용되지만, 최신 정보나 특정 문서 내용을 정확히 반영하지 못하는 한계가 있다. 이를 극복하는 대안이 RAG(검색 증강 생성) 기술이다. 이 책은 LangChain을 활용한 RAG 시스템을 ‘문서 로드 → 텍스트 분할 → 임베딩 → 벡터 저장 → 리트리버 검색 → 프롬프트 생성 → LLM 응답 생성 → 체인 구성’의 8단계로 정리하고 각 단계를 하나하나 실습하며 익힌다. 이 과정에서 LCEL 문법, 프롬프트 설계, 출력 포맷 처리법을 배우며, OpenAI, Hugging Face, Upstage, Ollama 등 다양한 모델과 연결하는 방법도 익힐 수 있다. 또한 Streamlit을 활용해 문서 검색, 이메일 자동화, 보고서 작성 챗봇, 멀티모달 챗봇 등 실무에 적용 가능한 다양한 웹 애플리케이션을 어렵지 않게 직접 제작할 수 있다.
주요 키워드 : RAG; 랭체인, LangChain; LLM; 테디노트; 테디노트 RAG; RAG 비법노트; RAG 웹 애플리케이션; RAG 웹 앱; 패스트캠퍼스 RAG; RAG 파이프라인; RAG 챗봇 개발; 랭체인 입문서; LangChain 실습; LangChain 프로젝트; LLM 성능; LLM 모델 비교; LCEL 문법; 리트리버; 검색 증강 생성; ChatGPT; ChatGPT 성능; 임베딩 모델; 프롬프트 엔지니어링; OpenAI 연동; 챗봇 제작 가이드; 챗봇 개발; Streamlit; LLM 애플리케이션 개발; 인공지능 개발 입문; 테디노트 파이썬; 생성형 AI 활용; 랭체인 파이썬; 인공지능 서비스 개발; Ollama; Deepseek; Upstage; Hugging Face; Chroma 벡터 데이터베이스; FAISS 구현; Pinecone 연동; LLM 환각; RAG 실습; 멀티모달 챗봇; LangSmith 활용; 이메일 자동화 챗봇; PDF 문서 분석; 대화형 AI; 인공지능 비즈니스; AI 프로젝트; 프롬프트 메이커
전자책 구매 링크
삼성전자 무선사업부에서 소프트웨어 엔지니어로 출발했다. 2018년 AI 교육·개발 스타트업 브레인크루를 창업하며 현장 개발에 뛰어들었고, 데이터 분석, 머신러닝, 딥러닝 공부를 했던 것을 기반으로 생성형 AI 시대를 맞아 기술과 삶을 잇는 실전 개발을 끊임없이 하고 있다. 특히 2023년부터는 LLM·RAG 애플리케이션을 제작하며 〈랭체인 한국어 튜토리얼〉을 공개해 LangChain·LangGraph 생태계를 국내에 확산시켰고, 지금은 기업과 대학을 오가며 강연과 컨설팅을 통해 더 많은 학습자와 조직이 AI를 손에 쥘 수 있도록 돕고 있다.
개발을 사랑하고 사람들과 소통하는 것을 즐기는 천직 개발자다. 또한 지식 공유의 즐거움을 원동력 삼아 LLM 애플리케이션의 최전선에서 ‘쉬운 기술 설명’을 전파하는 데 누구보다 진심이다. 특히 이 믿음으로 지식 공유 플랫폼 ‘테디노트’ 블로그와 유튜브 채널을 운영한다. 2025년 4월 현재 유튜브 구독자 4.2만 명, GitHub 튜토리얼 1,630개와 약 1,500명의 팔로워를 기록하며 입문자에게 친숙한 언어로 AI 개념과 최신 동향을 전하고 있다.
대표 저서
- 일잘러의 비밀, 챗GPT와 GPTs로 나만의 AI 챗봇 만들기(2025, 한빛미디어)
- 파이썬 딥러닝 텐서플로 (2021, 정보문화사)
강의 채널
패스트캠퍼스 온라인 https://fastcampus.co.kr/data_online_teddy
최신 자료 공유 공간 https://linktr.ee/teddynote
이 책에는 GPTs 제작의 A to Z가 담겨 있습니다. 초보자도 쉽게 이해할 수 있도록 GPT 작동 방식, 지침 작성법, 노출 및 수익화 전략까지 상세하게 설명되어 있습니다. GPTs를 통해 새로운 기회를 창출하고 싶은 모든 사람에게 이 책을 강력히 추천합니다. 독자 여러분의 잠재력을 발휘하고 GPTs 분야를 선도하는 데 든든한 길잡이가 되어줄 것이라 확신합니다. _허민 / 유튜버 평범한 사업가
저자가 정말로 이 분야를 사랑하고 진심이라는 게 첫 맥락에서부터 느껴졌습니다. 뛰어난 과학자들은 세상을 위해 발명을 하는 것이 아니라 단지 자신의 호기심에 집착하는 것이 전부라고 합니다. 이 책에 바로 그런 감정이 오롯이 느껴졌습니다. GPTs를 알리고자 하는 저자의 진정성이 이 책 전반에 깊이 스며들어 있습니다. _함영빈 / 유튜버 알파GOGOGO
수많은 AI 기술 중에서도 GPTs는 진입 장벽이 낮으면서도 활용도가 높아 AI 기반의 자동화 및 효율화를 시도해 볼 수 있는 최적의 도구입니다. 다만 막상 GPTs를 활용하려면 어디서부터 어떻게 접근해야 할지 막막한 것이 사실입니다. 이 책은 GPTs를 실제 업무에 다양하게 적용해 본 저자의 생생한 경험을 바탕으로 독자들이 쉽게 따라 할 수 있는 실용적인 가이드를 제시합니다. _장병준 / 유튜버 일잘러 장피엠
GPTs를 만드는 방법부터 실제적인 홍보 전략까지 다룬 제임스 님의 이 책은 실전 경험을 바탕으로 한 귀중한 가이드입니다. GPTs 개발과 수익화 과정을 체계적으로 설명하며, 특히 검색 엔진 상위 노출을 위한 SEO 전략을 GPTs 제작에 적용하는 독창적인 접근법이 돋보입니다. 프롬프트 엔지니어링 방법부터 맞춤형 GPTs 개발, 효과적인 마케팅 전략까지 실무에 바로 적용할 수 있는 노하우가 상세히 담겨 있어 ChatGPT를 활용해 비즈니스 성장을 꿈꾸는 분들에게 실질적인 길잡이가 될 것입니다. _유호석 / 프롬프트해커 대니
★ 8단계로 정리한 RAG 파이프라인을 손에 익히는 완성형 학습 과정
LLM과 RAG의 기본 개념을 이해하고, LangChain의 기본 사용법과 LCEL 체인 구성 문법을 익히는 체계적인 과정으로 이뤄져 있다. RAG 파이프라인 8단계(문서 로드 → 텍스트 분할 → 임베딩 → 벡터 저장 → 리트리버 검색 → 프롬프트 생성 → LLM 응답 생성 → 체인 구성)를 하나하나 실습하며, 각 단계에서 활용할 수 있는 다양한 모듈과 도구(PDF 로더, 여러 종류의 텍스트 분할기, OpenAI 및 Hugging Face 임베딩, 다양한 벡터 데이터베이스, 고급 리트리버 등)를 익힌다. 이 과정에서 선택 가능한 옵션과 특성, 차이점을 비교해 가며 기본기를 탄탄히 다진다.
★ 다양한 모델을 짧게, 빠르게, 반복해서 실전 감각 완성
책 전반에 걸쳐 LLM 모델(OpenAI, Hugging Face, Upstage, Ollama 등), 문서 로더(PDF, HWP, CSV, 웹 데이터), 텍스트 분할기, 벡터 스토어(Chroma, FAISS, Pinecone), 리트리버, 메모리 시스템 구축 과정을 반복해서 실습한다. 각 기능별로 짧은 코드 예제와 실행 결과를 통해 자연스럽게 손에 익히게 하며, 다양한 선택지를 실습하고 비교함으로써 자신의 프로젝트 목적에 맞는 최적의 모델과 기능을 빠르게 고를 수 있는 실전 감각을 기른다. 또한 최신 논문의 기술도 소개하며 실습에 직접 적용해 볼 수 있다.
★ 상황별 챗봇 프로젝트로 배우는 실전형 RAG 시스템 구축
Streamlit 프레임워크를 활용하여 다양한 상황별 RAG 프로젝트를 직접 만든다. 문서 기반 질문 응답 챗봇, 이메일 업무 자동화 챗봇, 멀티모달 입력을 지원하는 이미지 기반 챗봇, 다양한 오픈소스 모델을 조합한 고급 RAG 챗봇 등 실전 사례를 직접 구현해 본다.
▶이 책이 필요한 독자
- RAG 기본 개념부터 실제 구현까지 체계적으로 배우고자 하는 입문자들
- 랭체인 프레임워크를 활용하여 RAG 시스템을 구축하려는 개발자들
- LLM의 한계를 극복하고 정확한 정보 검색과 응답 생성을 결합하려는 데이터 전문가들
- 기업이나 조직에서 문서 검색, 이메일 자동화, 보고서 작성 등 실제 업무를 AI에 적용하려는 실무자들
- 기초적인 파이썬 실력을 가진 비개발자지만 AI에 관심있는 사람들
▶ 이 책에서 다루는 내용
_PART 01 처음 만나는 LangChain
RAG의 기본 개념과 필요성을 이해하고, 환경 설정 방법, LLM 기본 용어, LangChain의 핵심 기능과 LCEL 문법을 학습한다. ChatOpenAI 설정, 멀티모달 모델, 체인 구성 등 LangChain의 기초를 다룬다.
_PART 02 프롬프트와 출력 파서
프롬프트 템플릿 생성, 부분 변수 활용, 퓨샷 프롬프트, 예제 선택기 등 다양한 프롬프트 기법과 PydanticOutputParser, JSON 파서, 데이터프레임 파서 등 출력 형식을 제어하는 방법을 배운다.
_PART 03 모델과 메모리
다양한 LLM 모델(OpenAI, Google, Hugging Face, Ollama 등) 활용법과 대화 버퍼, 토큰 버퍼, 요약 메모리, 벡터 스토어 검색 메모리 등 대화 내용을 기억하는 메모리 시스템 구축법을 다룬다.
_PART 04 데이터 로드와 텍스트 분할
PDF, HWP, CSV 등 다양한 문서 로더와 문자 단위, 토큰 단위, 의미 단위, 코드, 마크다운, HTML, JSON 등 다양한 방식의 텍스트 분할 방법을 학습한다.
_PART 05 벡터 스토어와 리트리버
OpenAI, HuggingFace 등 임베딩 모델과 Chroma, FAISS, Pinecone 등 벡터 스토어, 다양한 리트리버(문서 압축기, 앙상블, 다중 쿼리 생성, 셀프 쿼리 등) 활용법을 배운다.
_PART 06 LangChain 실습
Streamlit으로 ChatGPT 웹 앱, 이메일 자동화 챗봇, 다양한 모델 활용 챗봇, PDF 기반 RAG 챗봇 등 실제 프로젝트를 구현하며 앞서 배운 기술을 종합적으로 적용한다.
프롤로그
추천사
독자들의 찬사
코드 리뷰어들의 후기
다운로드 및 문의
이 책의 구성
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는 자료를 참고해서 테디 아버지 이름은 ‘폴’이라고 정확한 답변을 제공할 수 있을 것입니다.
--- p.25
완전 파인 튜닝은 다소 전문적인 영역이기 때문에 개인이 수행하기에는 어려울 수 있습니다. PEFT 역시 파인 튜닝의 한 종류이지만, 충분한 시간과 노력을 들인다면 개인적으로 시도해 볼 수 있는 수준입니다.
RAG는 코드 작성이 필요 없는 프롬프트 엔지니어링과 비교해도 구현 난이도가 그리 높지 않은데, 앞으로 학습할 8단계의 세부 모듈을 플러그인처럼 교체하는 방식으로 구현할 수 있기 때문입니다.
--- p.29
ChatGPT는 자체 RAG 시스템을 통해 답변을 제공하지만, 더 나은 답변을 위해 세부 알고리즘을 조정할 수 없다는 문제가 있습니다. 이제 우리는 LangChain을 통해 RAG의 모든 세부 프로세스를 한 땀 한 땀 구현할 것입니다. 한마디로 ‘튜닝’을 하는 것이죠. 우리가 원하는 형태의 답변을 얻을 때까지 각 과정을 투명하게 개선하고, 그 방법론을 체계적으로 정립해 놓으면 다양한 비즈니스 환경에서도 얼마든지 활용 가능한 수준의 성능에 도달할 수 있습니다.
--- p.33
가령 ‘인공지능 산업의 최신 동향’이라는 23페이지 분량의 보고서 PDF 파일을 업로드했다고 가정해 보겠습니다. 만약 프롬프트에서 이 파일의 모든 정보를 한 번에 참고한다면, 사용자가 질문을 할 때마다 23페이지나 되는 내용이 모두 프롬프트 입력으로 들어가 버립니다. 그러면 질문을 처리하는 비용이 비싸지기도 하거니와 GPT에 너무 많은 정보를 제공한 탓에 중요한 정보를 찾지 못할 수도 있습니다. 그래서 업로드한 정보에서 관련성 있는 정보만 골라서 리트리버(retriever, 검색기)에 전달하는 것이 효율적입니다. 이 과정이 RAG 프로세스의 사전 단계에 해당합니다.
--- p.34
LangChain과 RAG 관련 실습 코드는 지속적으로 업데이트되고 있습니다. LangChain의 빈번한 업데이트로 인해 기존 코드들이 레거시(더 이상 지원되지 않거나 지원이 종료된 코드)가 되는 경우가 많아, 패키지 업데이트 후에는 실행되지 않을 수 있습니다. 또한 LangChain이 지원하는 다양한 모델들도 업데이트에 따라 지원이 중단되거나, 새로운 모델이 아직 반영되지 않은 경우도 많습니다. 이에 대응하기 위해 이 책에서는 코드 변경을 추적하고 버전을 관리해 주는 시스템인 깃을 설치하여 항상 최신 코드로 실습할 수 있도록 하겠습니다.
--- p.43