HOME / CATALOG / 생성형 AI 프로그래밍
생성형 AI 프로그래밍

랭체인과 RAG로 배우는 실전 LLM 애플리케이션 개발

멀티모달/GraphRAG/ReAct 에이전트/sLLM 완벽 실무 가이드
지은이 양기빈, 조국일, 장지선, 조수현
도서 정보
출간일
2025년 4월 10일
쪽수
300쪽
판형
175*235*16mm
ISBN
9791158395988
시리즈
생성형 AI 프로그래밍 시리즈_014
정가
28,000원
난이도
도서 소개
저자 소개
목차
예제 코드
정오표

도서 소개

LLM 애플리케이션, 이제는 실전으로!

>> 왜 이 책인가?

언어 모델이 강력해질수록 사용자에게는 새로운 도전이 생긴다. 외부 데이터 및 지식을 어떻게 연결할 것인가? 복잡한 워크플로를 어떻게 구성할 것인가? 모델의 환각 현상을 어떻게 제어할 것인가? 이 책은 이런 질문에 답하며 랭체인과 RAG 기술로 현실적인 문제를 해결하는 방법을 안내한다.

>> 실전 코드로 배우는 핵심 기술과 실무자를 위한 특별 구성

이 책은 랭체인의 필수 컴포넌트(체인, 메모리, 도구, 에이전트)부터 다양한 RAG 방법론(리트리버, 리랭커, 하이브리드 검색, 멀티모달 처리, GraphRAG, ReAct 패턴, sLLM 활용)까지 체계적으로 다룬다. 각 장은 개념 설명부터 시작해 점진적으로 복잡한 실습으로 이어지며, 독자는 기본 코드를 응용해서 자신만의 프로젝트에 적용할 수 있는 방법을 배운다. 단순한 API 호출을 넘어 RAG 방법론의 진화 과정과 적용 시나리오를 이해하고, 코랩 환경에서 바로 실행할 수 있는 예제로 진입 장벽을 낮췄다. 특히 상황별로 어떤 접근법이 적합한지 명확한 가이드라인과 실제 서비스로 확장할 수 있는 아키텍처 패턴을 제시한다.

 

도서 소개

저자 소개

양기빈

성균관대학교 데이터사이언스 융합학과에서 석사 학위를 취득했고, 게임회사 N사에서 데이터 사이언티스트로서 일하고 있으며, NLP 업무를 수행하고 있다. 임베딩 파인튜닝 논문을 작성했으며, 현재는 도메인 RAG 및 Post-Training, 에이전트에 대해 관심을 가지고 연구하고 있다.

조국일

성균관대학교 데이터사이언스 융합학과에서 석사 학위를 취득했고, 현재 SK하이닉스에서 데이터 사이언티스트로 일하고 있으며, Digital Master로 선정되어 디지털 멘토와 데이터 분석 전문 컨설턴트로 활동하고 있다. ‘머신러닝 기반의 이미지 이상 탐지 시스템’ 특허를 출원했고, 산업용 이상 탐지 시스템 구축 프로젝트를 주도했으며, 멀티모달 RAG 시스템에 대한 실무 경험을 바탕으로 이 책을 집필했다.

장지선

성균관대학교 데이터사이언스 융합학과에서 석사 학위를 취득했고, 현재 대기업 S사에서 데이터 사이언티스트로서 다양한 도메인에서 검색 및 LLM 에이전트 개발을 수행하고 있다. NLP와 GNN 관련 논문을 게재하였으며, AI와 데이터 기술을 비즈니스에 효과적으로 적용하기 위한 연구·개발을 지속해왔다. 특히, RAG 및 에이전트 시스템 구축에 집중하여 이를 실무에 적용하고 있다.

조수현

성균관대학교 데이터사이언스 융합학과에서 석사 학위를 취득했고, 현재 성균관대학교 인공지능융합학과에서 박사 학위를 수료했으며, 대기업 S사에서 데이터 사이언티스트로 일하고 있다. 다수의 KCI, SCI 논문 및 AI 기반 특허, IT 서적을 출판했으며, 한국데이터산업진흥원에서 데이터 자격검정 전문위원으로 활동하며 RAG와 LLM 기반의 프로젝트를 수행하며 쌓은 경험을 바탕으로 이 책을 집필했다.

목차

  • ▣ 01장: 랭체인(LangChain)
  • 1.1 랭체인을 위한 준비사항
  • ___1.1.1 체인을 사용하는 이유
  • 1.2 코랩(Google Colaboratory) 환경
  • ___1.2.1 코랩 실행 환경 설정
  • 1.3 LLM API 키
  • ___1.3.1 GPT API 키
  • ___1.3.2 제미나이 API 키
  • 1.4 허깅페이스
  • ___1.4.1 허깅페이스의 모델 찾기
  • 1.5 랭체인 구성요소
  • ___1.5.1 체인
  • ___1.5.2 프롬프트
  • ___1.5.3 메모리
  • ___1.5.4 인덱스
  • ___1.5.5 콜백 및 평가
  •  
  • ▣ 02장: RAG(Retrieval-Augmented Generation)
  • 2.1 RAG의 배경 및 중요성
  • 2.2 랭체인을 이용한 RAG
  • ___2.2.1 환경 설정
  • ___2.2.2 데이터 로드
  • ___2.2.3 데이터 청킹
  • ___2.2.4 벡터 스토어
  • ___2.2.5 리트리버 및 프롬프트
  • 2.3 Advanced RAG
  • ___2.3.1 문서의 순서를 조절하여 성능을 올리는 리랭커 기술
  • ___2.3.2 가상 문서를 통해 높은 질의 응답 성능을 달성하는 HyDE 기술
  • ___2.3.3 쿼리를 보다 구체적이고 풍부하게 만드는 쿼리 확장 기술
  • ___2.3.4 다양한 관점을 반영할 수 있는 멀티 쿼리 기술
  •  
  • ▣ 03장: 멀티모달 RAG
  • 3.1 _멀티모달 RAG 소개
  • ___3.1.1 멀티모달 RAG 개념
  • ___3.1.2 활용 사례
  • ___3.1.3 중요성
  • 3.2 멀티모달 RAG의 중요한 모델 및 기술
  • ___3.2.1 멀티모달 인코더
  • ___3.2.2 멀티모달 생성을 위한 디코더
  • ___3.2.3 지식 검색 및 증강
  • ___3.2.4 융합 기술
  • ___3.2.5 모델 학습과 파인튜닝
  • 3.3 [실습] 멀티모달 RAG
  • ___3.3.1 멀티모달 정보 추출
  • ___3.3.2 멀티모달 RAG 구현
  •  
  • ▣ 04장: GraphRAG
  • 4.1 GraphRAG란?
  • 4.2 기존 RAG와 차이점
  • 4.3 GraphRAG를 위한 환경 설정
  • ___4.3.1 Neo4j
  • 4.4 [실습] GraphRAG
  • ___4.4.1 [실습] 자연어 쿼리를 통한 그래프 데이터 조회 및 조작
  • ___4.4.2 [실습] LLM 기반 지식그래프 구축 및 RAG 실습
  •  
  • ▣ 05장: ReAct 에이전트
  • 5.1 ReAct 에이전트란?
  • ___5.1.1 ReAct 에이전트의 개념
  • ___5.1.2 기본 원리 설명
  • ___5.1.3 ReAct와 기존 방식의 차이점
  • ___5.1.4 ReAct 에이전트의 주요 기능 및 활용 사례
  • 5.2 검색 API 연동
  • ___5.2.1 외부 데이터 기반 답변 생성
  • ___5.2.2 검색 API 호출
  • ___5.2.3 [실습] ReAct 에이전트와 검색 API 통합
  • 5.3 [실습] 에이전트 기반 도구 호출
  • ___5.3.1 기본 에이전트에서의 도구 호출
  • ___5.3.2 ReAct를 활용한 고급 도구 호출
  • 5.4 에이전트를 활용한 금융 데이터 실전 프로젝트
  • ___5.4.1 ReAct 에이전트를 사용한 금융 데이터 수집 및 분석
  • ___5.4.2 검색 API를 통한 실시간 금융 시장 분석
  • ___5.4.3 ReAct 에이전트를 통한 통합 분석
  •  
  • ▣ 06장: sLLM
  • 6.1 sLLM을 학습하는 이유
  • 6.2 sLLM 실행
  • ___6.2.1 허깅페이스의 sLLM 모델 실행해 보기
  • 6.3 FFT 학습 방법과 코드
  • ___6.3.1 학습 데이터 만들기
  • ___6.3.2 sLLM 학습을 위한 병렬 처리 방법
  • ___6.3.3 sLLM 학습 Full Fine-tuning하기
  • 6.4 PEFT 학습 방법과 코드
  • ___6.4.1 PEFT 알고리즘 및 실습(QLoRA)
  • ___6.4.2 PEFT 알고리즘 및 실습(DoRA)
  • 6.5 RAG 기반의 LLM 최적화 학습
  • ___6.5.1 RAG를 고려한 QA 데이터 생성
  • ___6.5.2 RAG를 고려한 sLLM 학습
  • ___6.5.3 RAG를 고려한 sLLM 최적화
  • 6.6 LLM 서빙
  • ___6.6.1 스트림릿을 활용한 서비스 환경 구성하기
  • ___6.6.2 스트림릿을 활용한 sLLM 배포해 보기
  • ___6.6.3 vLLM으로 sLLM 서빙 최적화하기

예제 코드

정오표

  • 29쪽, 페이지 하단 아래 예제 코드를 교체

    # RunnableParallel을 사용하여 긍정, 부정 의견을 병렬로 처리
    chain = (
        basictopic
        | RunnableParallel(
            results_1 = positive,
            results_2 = negative,
            original_response = itemgetter("base"),
        )
        | RunnableMap(
            {
                "positive_result": itemgetter("results_1"),
                "negative_result": itemgetter("results_2"),
                "final_answer": itemgetter("original_response"),
            }
        )
    )

    ==>

    chain = (
        basictopic
        | RunnableParallel(
            results_1 = positive,
            results_2 = negative,
            original_response = itemgetter("base"),
        )
        | RunnableMap(
            {
                "basictopic":itemgetter("original_response"),
                "positive_result": itemgetter("results_1"),
                "negative_result": itemgetter("results_2"),
                "final_answer": final
            }
        )
    ) 
WHERE TO BUY · 정가 28,000원
WHERE TO BUY · 정가 28,000원