랭체인 완벽 입문 : 혁신적인 LLM 앱을 구축하기 위한 랭체인 활용법 - 위키북스 생성형 AI 프로그래밍 4

랭체인 완벽 입문 : 혁신적인 LLM 앱을 구축하기 위한 랭체인 활용법 - 위키북스 생성형 AI 프로그래밍 4

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

★ 이 책에서 다루는 내용 ★

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

저자

타무라하루카

저자:타무라하루카

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



역자:최용

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

목차


1장:챗지피티와랭체인
01.챗지피티와언어모델에관해알아보기
___챗지피티란?
___OpenAI의API에서사용할수있는대표적인두가지언어모델
___OpenAI이외의언어모델알아보기
02.랭체인개요
___언어모델을이용한애플리케이션개발
___랭체인으로언어모델을이용한애플리케이션개발이쉬워진다
___랭체인에준비된6개의모듈
03.랭체인을이용한애플리케이션예시
___PDF에대해질문할수있는챗봇
___파일상호작용및인터넷검색이가능한챗봇
04.실습준비
___파이썬실행환경구축
___VSCode에서파이썬을이용한개발이쉬워지는확장기능
___OpenAIAPI키받기
___환경변수에API키설정하기
05.OpenAI의API를호출해작동을확인한다
___Chat모델의API를호출해보자

2장:ModelI/O-언어모델을다루기쉽게만들기
01.언어모델을이용한응용프로그램작동방식
___언어모델호출이란?
___ModelI/O는랭체인의가장기본적인모듈이다
___ModelI/O를구성하는3개의서브모듈
___Languagemodels를사용해gpt-3.5-turbo호출하기
___PromptTemplate로변수를프롬프트에전개하기
___PromptTemplate에서제공하는다른기능들
___Languagemodels와PromptTemplate의결합
___목록형식으로결과받기
02.Languagemodels-사용하기쉬운모델
___통일된인터페이스로사용하기쉬움
___Chatmodels와LLMs
___Languagemodels의편리한기능
03.Templates-프롬프트구축의효율성향상
___프롬프트엔지니어링을통한결과최적화
04.Outputparsers-출력구조화
___결과를날짜와시간형식으로받아보기
___출력형식을직접정의하기
___잘못된결과가반환될때수정을지시할수있게한다

3장:Retrieval-알지못하는데이터를다루기
01.언어모델이미지의데이터를처리할수있게하려면
___모르는정보에기반한답변을할수있는구조
___답변에필요한문장을찾는방법이중요
___유사문장검색을위해필요한벡터화란?
___언어모델을사용해텍스트를벡터화하기
___벡터유사도검색
___벡터유사도검색에서RAG를통합하는구체적인절차
___사전준비
___검색및프롬프트구축
02.주어진PDF를기반으로답변하는챗봇만들기
___PDF에서문장불러오기
___문장나누기
___분할된문장을벡터화해데이터베이스에저장한다
___벡터데이터베이스에서검색실행하기
___검색결과와질문을조합해질문에답하게한다
___채팅화면만들기
___채팅화면에서질문을입력할수있게하기
___채팅시작시파일업로드가능
03.RetrievalQA로QA시스템구축이쉬워진다
___RetrievalQA란?
___RetrievalQA로코드를간단하게
04.준비된Retrievers를사용해위키백과를정보원으로활용
___Retrievers는문서를검색하는기능세트
___Retrievers에서어떤검색을할지제어하는방법

4장:Memory-과거의대화를장·단기기억하기
01.언어모델에서대화란무엇인가
___HumanMessage와AIMessage를번갈아가며대화한다
02.문맥에맞는답변을할수있는챗봇만들기
___Chatmodels로대화기록을기반으로한응답을하게하는것
___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.공식문서의사용사례에서배우기
___공식문서보기
___Codeunderstanding
___Tagging
02.랭체인의공식블로그및기타소스확인
___랭체인공식블로그
___awesome-langchain으로랭체인관련정보수집하기
___랭체인과연동할수있는언어모델및외부시스템확인하기

출판사 서평

이책에서다루는내용

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