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

랭체인 완벽 입문

혁신적인 LLM 앱을 구축하기 위한 랭체인 활용법
지은이 타무라 하루카
옮긴이 최용
도서 정보
출간일
2024년 2월 22일
쪽수
276쪽
판형
175*235*15mm
ISBN
9791158394943
시리즈
생성형 AI 프로그래밍 시리즈_004
정가
27,000원
난이도
도서 소개
저자 소개
역자 소개
목차
예제 코드

도서 소개

랭체인을 사용하여 생성 AI 앱을 개발하고자 하는 분들을 위한 완벽 입문서!

챗지피티(ChatGPT)와 같은 대화형 AI의 ‘두뇌’는 대규모 언어 모델(LLM: Large Language Model)이다. ChatGPT의 API가 공개된 이후, 많은 기업과 엔지니어가 경쟁적으로 LLM 응용 프로그램 개발에 착수했는데, 이러한 개발을 효율화하는 도구가 랭체인(LangChain)이다. 랭체인은 파이썬(Python) 등에서 호출할 수 있는 라이브러리 중 하나로, ‘챗지피티 같은 언어 생성 AI를 사용한 애플리케이션 개발에 유용한 도구 모음’과 같은 것이다. 언어 생성 AI 모델의 라이브러리는 많지만, 랭체인이 기능의 풍부함과 사용의 용이성 등에서 뛰어나 현재는 사실상의 표준이 됐다. 이 책은 랭체인을 사용해 애플리케이션을 개발하면서 랭체인의 기능을 자세히 설명한다.

★ 이 책에서 다루는 내용 ★

  • 랭체인의 각 모듈을 활용해 AI 애플리케이션을 개발하는 방법을 이해한다.
  • 다양하고 실용적인 예제 코드를 통해 구체적인 개발 접근 방식을 배운다.
  • 파이썬과 비주얼 스튜디오 코드(VS Code)를 이용한 개발 방법을 익혀 여러 플랫폼에서의 개발에 적용한다.
  • 프롬프트 엔지니어링의 기초를 배워 AI와 대화하는 방법을 익힌다.

 

도서 상세 이미지

저자 소개

타무라 하루카

1990년 도쿄에서 태어났다. 프리랜서 풀스택 엔지니어로서 다수의 웹서비스를 처음부터 개발하고 운영했다. 베이스푸드(BASE FOOD) 주식회사에 첫 번째 엔지니어로 참여해 정기 구매 시스템을 구축했으며, 그 후 상장까지 프런트엔드, 백엔드, 인프라 전부를 담당했다. ChatGPT에 큰 충격을 받고 AI 관련 기술에 관심을 갖게 되었으며, 동영상에 번역 자막을 붙일 수 있는 웹 서비스를 개인적으로 개발해 출시했다(konjac.ai).

역자 소개

최용

한국방송통신대학교에서 컴퓨터과학을 전공하고, 일괄 작업과 서버 운영을 자동화하는 외산 소프트웨어의 기술 지원 업무를 주로 했다. 책을 쓰고 번역하다가 IT 전문 출판사의 편집자가 되었다. 최근에는 데이터 분석과 인공지능을 주제로 하는 책을 주로 맡고 있으며, 인공지능으로 업무 생산성을 높이는 데에도 관심이 많다. 서울사이버대학교 드론·로봇융합학과에 재학 중이다. 《실전! 컴퓨터비전을 위한 머신러닝》(위키북스, 2023)을 번역했고 《Hello IT 파이썬을 제대로 활용해보려고 해》(패스트캠퍼스, 2022)를 썼다.

목차

  • ▣ 1장: 챗지피티와 랭체인
  •  01. 챗지피티와 언어 모델에 관해 알아보기
  • ___챗지피티란?
  • ___OpenAI의 API에서 사용할 수 있는 대표적인 두 가지 언어 모델
  • ___OpenAI 이외의 언어 모델 알아보기
  •  02. 랭체인 개요
  • ___언어 모델을 이용한 애플리케이션 개발
  • ___랭체인으로 언어 모델을 이용한 애플리케이션 개발이 쉬워진다
  • ___랭체인에 준비된 6개의 모듈
  •  03. 랭체인을 이용한 애플리케이션 예시
  • ___PDF에 대해 질문할 수 있는 챗봇
  • ___파일 상호작용 및 인터넷 검색이 가능한 챗봇
  •  04. 실습 준비
  • ___파이썬 실행 환경 구축
  • ___VS Code에서 파이썬을 이용한 개발이 쉬워지는 확장 기능
  • ___OpenAI API 키 받기
  • ___환경 변수에 API 키 설정하기
  •  05. OpenAI의 API를 호출해 작동을 확인한다
  • ___Chat 모델의 API를 호출해 보자
  •  
  • ▣ 2장: Model I/O - 언어 모델을 다루기 쉽게 만들기
  •  01. 언어 모델을 이용한 응용 프로그램 작동 방식
  • ___언어 모델 호출이란?
  • ___Model I/O는 랭체인의 가장 기본적인 모듈이다
  • ___Model I/O를 구성하는 3개의 서브모듈
  • ___Language models를 사용해 gpt-3.5-turbo 호출하기
  • ___PromptTemplate로 변수를 프롬프트에 전개하기
  • ___PromptTemplate에서 제공하는 다른 기능들
  • ___Language models와 PromptTemplate의 결합
  • ___목록 형식으로 결과 받기
  •  02. Language models - 사용하기 쉬운 모델
  • ___통일된 인터페이스로 사용하기 쉬움
  • ___Chat models와 LLMs
  • ___Language models의 편리한 기능
  •  03. Templates - 프롬프트 구축의 효율성 향상
  • ___프롬프트 엔지니어링을 통한 결과 최적화
  •  04. Output parsers - 출력 구조화
  • ___결과를 날짜와 시간 형식으로 받아보기
  • ___출력 형식을 직접 정의하기
  • ___잘못된 결과가 반환될 때 수정을 지시할 수 있게 한다
  •  
  • ▣ 3장: Retrieval - 알지 못하는 데이터를 다루기
  •  01. 언어 모델이 미지의 데이터를 처리할 수 있게 하려면
  • ___모르는 정보에 기반한 답변을 할 수 있는 구조
  • ___답변에 필요한 문장을 찾는 방법이 중요
  • ___유사 문장 검색을 위해 필요한 벡터화란?
  • ___언어 모델을 사용해 텍스트를 벡터화하기
  • ___벡터 유사도 검색
  • ___벡터 유사도 검색에서 RAG를 통합하는 구체적인 절차
  • ___사전 준비
  • ___검색 및 프롬프트 구축
  •  02. 주어진 PDF를 기반으로 답변하는 챗봇 만들기
  • ___PDF에서 문장 불러오기
  • ___문장 나누기
  • ___분할된 문장을 벡터화해 데이터베이스에 저장한다
  • ___벡터 데이터베이스에서 검색 실행하기
  • ___검색 결과와 질문을 조합해 질문에 답하게 한다
  • ___채팅 화면 만들기
  • ___채팅 화면에서 질문을 입력할 수 있게 하기
  • ___채팅 시작 시 파일 업로드 가능
  •  03. RetrievalQA로 QA 시스템 구축이 쉬워진다
  • ___RetrievalQA란?
  • ___RetrievalQA로 코드를 간단하게
  •  04. 준비된 Retrievers를 사용해 위키백과를 정보원으로 활용
  • ___Retrievers는 문서를 검색하는 기능 세트
  • ___Retrievers에서 어떤 검색을 할지 제어하는 방법
  •  
  • ▣ 4장: Memory - 과거의 대화를 장·단기 기억하기
  •  01. 언어 모델에서 대화란 무엇인가
  • ___HumanMessage와 AIMessage를 번갈아 가며 대화한다
  •  02. 문맥에 맞는 답변을 할 수 있는 챗봇 만들기
  • ___Chat models로 대화 기록을 기반으로 한 응답을 하게 하는 것
  • ___ConversationChain을 통해 알기 쉽게 처리
  •  03. 히스토리를 데이터베이스에 저장하고 영속화하기
  • ___데이터베이스에 저장해 대화 기록을 영속화할 수 있다
  • ___데이터베이스 준비하기
  • ___환경 변수에 레디스 정보 설정하기
  • ___레디스를 사용해 대화를 영속화한다
  •  04. 여러 개의 대화 기록을 가질 수 있는 챗봇 만들기
  • ___세션 ID를 바꿔서 대화 기록 전환하기
  •  05. 매우 긴 대화 기록에 대응한다
  • ___대화 기록이 너무 길어지면 언어 모델을 호출할 수 없다
  • ___오래된 대화 삭제하기
  • ___대화를 요약해 토큰 수 제한에 대응한다
  •  
  • ▣ 5장: Chains - 여러 프로세스를 통합
  •  01. 다중 처리를 정리할 수 있다
  • ___Chains는 일련의 과정을 정리할 수 있다
  •  02. 여러 모듈을 쉽게 조합할 수 있는 Chains
  • ___LLMChain을 사용해 여러 모듈을 통합하는 방법
  • ___ConversationChain으로 기억을 가진 애플리케이션 개발이 쉬워진다
  • ___Chains에서 어떤 처리가 이뤄지고 있는지 자세히 보기
  •  03. 특정 기능에 특화된 Chains
  • ___특정 URL에 접속해 정보를 얻게 하는 방법
  •  04. Chains 자체 정리하기
  • ___Chains 자체를 순서대로 실행하는 SimpleSequentialChain
  •  
  • ▣ 6장: Agents - 자율적으로 외부와 상호작용해 언어 모델의 한계를 뛰어넘기
  •  01. 외부와 상호작용하면서 자율적으로 행동하는 Agents
  • ___언어 모델에 도구를 부여할 수 있다
  • ___주어진 URL에서 정보를 얻게 하기
  •  02. Tool을 추가해 Agent가 할 수 있는 일을 늘리기
  • ___Agent가 할 수 있는 것은 전달하는 Tool에 따라 달라진다
  • ___환경 변수에 SerpApi의 API 키 설정하기
  • ___google-search-results 설치하기
  •  03. Tool을 직접 제작해 기능 확장하기
  • ___Tool을 직접 만들어서 할 수 있는 일의 폭을 더욱 넓힌다
  •  04. Retrievers를 사용해 문장을 검색하는 Tool 만들기
  • ___Retrievers는 Tool로 변환할 수 있다
  •  05. 문맥에 맞게 답변하는 에이전트 만들기
  • ___대화 기록을 보관하는 에이전트 생성하기
  •  
  • ▣ 7장: Callbacks - 다양한 이벤트 발생 시 처리하기
  •  01. Callbacks 모듈로 할 수 있는 일 알아보기
  • ___로그 수집 및 모니터링, 다른 애플리케이션과 연동 가능
  •  02. Callbacks 모듈을 사용해 외부 라이브러리와 연동하기
  • ___준비된 클래스를 사용해 외부 라이브러리와 연동할 수 있다
  •  03. 로그를 터미널에 표시할 수 있는 Callbacks 만들기
  • ___Callbacks 모듈을 직접 제작해 이벤트 발생 시 처리를 수행한다
  •  
  • ▣ 부록: 랭체인에 대해 더 자세히 알아보는 팁
  •  01. 공식 문서의 사용 사례에서 배우기
  • ___공식 문서 보기
  • ___Code understanding
  • ___Tagging
  •  02. 랭체인의 공식 블로그 및 기타 소스 확인
  • ___랭체인 공식 블로그
  • ___awesome-langchain으로 랭체인 관련 정보 수집하기
  • ___랭체인과 연동할 수 있는 언어 모델 및 외부 시스템 확인하기

예제 코드

WHERE TO BUY · 정가 27,000원
WHERE TO BUY · 정가 27,000원