한국청소년정책연구원 도서관

로그인

한국청소년정책연구원 도서관

자료검색

  1. 메인
  2. 자료검색
  3. 통합검색

통합검색

단행본

랭체인 완벽 입문: 혁신적인 LLM 앱을 구축하기 위한 랭체인 활용법

발행사항
파주: 위키북스, 2024
형태사항
264 p.: 삽도, 24cm
비통제주제어
프로그래밍
소장정보
위치등록번호청구기호 / 출력상태반납예정일
지금 이용 불가 (1)
한국청소년정책연구원00032154대출중2024.12.17
지금 이용 불가 (1)
  • 등록번호
    00032154
    상태/반납예정일
    대출중
    2024.12.17
    위치/청구기호(출력)
    한국청소년정책연구원
책 소개
랭체인을 사용하여 생성 AI 앱을 개발하고자 하는 분들을 위한 완벽 입문서!

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

★ 이 책에서 다루는 내용 ★

◎ 랭체인의 각 모듈을 활용해 AI 애플리케이션을 개발하는 방법을 이해한다.
◎ 다양하고 실용적인 예제 코드를 통해 구체적인 개발 접근 방식을 배운다.
◎ 파이썬과 비주얼 스튜디오 코드(VS Code)를 이용한 개발 방법을 익혀 여러 플랫폼에서의 개발에 적용한다.
◎ 프롬프트 엔지니어링의 기초를 배워 AI와 대화하는 방법을 익힌다.
목차
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으로 랭체인 관련 정보 수집하기 ___랭체인과 연동할 수 있는 언어 모델 및 외부 시스템 확인하기