본문으로 바로가기
평면표지(2D 앞표지)
입체표지(3D 표지)
2D 뒤표지

챗GPT와 랭체인을 활용한 LLM 기반 AI 앱 개발

랭체인 기초부터 슬랙 앱 제작과 배포까지, 실무 중심의 LLM 애플리케이션 구축


  • ISBN-13
    979-11-5839-523-0 (93000)
  • 출판사 / 임프린트
    주식회사 위키아카데미 / 위키북스
  • 정가
    27,000 원 확정정가
  • 발행일
    2024-06-05
  • 출간상태
    출간
  • 저자
    오시마 유키 , 요시다 신고
  • 번역
    최용
  • 메인주제어
    자연언어 및 기계언어
  • 추가주제어
    -
  • 키워드
    #챗GPT #랭체인 #LLM
  • 도서유형
    종이책, 무선제본
  • 대상연령
    모든 연령, 성인 일반 단행본
  • 도서상세정보
    175 * 235 mm, 300 Page

책소개

챗GPT와 랭체인으로 프로덕션 수준의 LLM 애플리케이션 만들기!

 

이 책은 챗GPT와 랭체인 프레임워크를 이용해 대규모 언어 모델(LLM)을 실제로 사용할 수 있는 수준의 애플리케이션에 통합하는 방법을 단계별 실습을 통해 알려줍니다. OpenAI API와 랭체인의 기본 개념부터 웹 애플리케이션과 슬랙 앱 구현, 그리고 프로덕션 환경에 배포하기까지 실전 사례를 중심으로 LLM 애플리케이션 개발의 전 과정을 익힐 수 있습니다. 또한 벡터 데이터베이스, 서버리스 아키텍처 등 최신 기술의 활용법과 보안, 개인정보보호 등 실무에 필요한 노하우도 배울 수 있습니다. 이 책을 통해 여러분도 LLM의 무한한 잠재력을 현실에 적용할 수 있는 개발자로 한 걸음 더 나아갈 수 있을 것입니다.

 

★ 이 책에서 다루는 내용

 

◎ 챗GPT API와 랭체인 프레임워크의 기본 개념과 사용법

◎ 프롬프트 엔지니어링 기법으로 LLM의 성능 끌어올리기 

◎ 외부 검색과 대화 기록을 활용한 웹 애플리케이션 개발

◎ 스트리밍 응답과 슬랙 앱 통합으로 실용성 높은 챗봇 구현

◎ 벡터 데이터베이스와 검색으로 자체 데이터에 기반한 질의응답 시스템 구축

◎ AWS 람다와 서버리스 프레임워크를 활용한 프로덕션 환경 배포

◎ LLM 애플리케이션의 테스트와 평가 및 보안 대책

목차

▣ 1장: 대규모 언어 모델(LLM)을 이용한 애플리케이션을 개발하고 싶다! 

1.1 챗GPT를 사용해 보자 

1.2 프롬프트로 할 수 있는 일 

__일상 업무에 활용해 보자 

1.3 프로그래밍에 활용해 보자 

1.4 챗GPT 사용 시 주의 사항 

1.5 챗GPT의 유료 플랜으로 할 수 있는 것들 

__GPT-4

__브라우징 

__데이터 분석 

__챗GPT 외의 OpenAI 서비스 

1.6 대규모 언어 모델(LLM)을 비즈니스에 활용 

1.7 LLM을 활용한 비즈니스 및 응용 사례 소개 

__사이다스 주식회사 사례: CYDAS PEOPLE Copilot Chat 

__PingCAP 주식회사 사례: Chat2Query 

__Alexa 기술 사례 (개인 개발) : helloGPT 

__주식회사 소라콤 사례: SORACOM Harvest Data Intelligence 

1.8 LLM을 이용한 애플리케이션 개발에서 주의해야 할 점 

1.9 이 책에서 다루는 기술에 대하여 

__랭체인 

__클라우드 서비스 (특히 서버리스) 

__슬랙 앱으로 협업을 촉진 

요약 

 

▣ 2장: 프롬프트 엔지니어링 

2.1 왜 갑자기 프롬프트 엔지니어링? 

__챗GPT의 프롬프트 엔지니어링 

__애플리케이션 개발에서의 프롬프트 엔지니어링 

__프롬프트 엔지니어링은 위험하지 않나? 

2.2 프롬프트 엔지니어링이란? 

2.3 프롬프트 구성 요소의 기초 

__주제: 레시피 생성 AI 앱 

__프롬프트 템플릿화 

__명령과 입력 데이터의 분리 

__문맥을 제공하기 

__출력 형식 지정하기 

__프롬프트 구성 요소 요약 

2.4 Prompt Engineering Guide에서: 챗GPT의 무한한 잠재력을 이끌어내다 

__Zero-shot 프롬프팅 

__Few-shot 프롬프팅 

__Zero-shot Chain of Thought 프롬프팅 

요약 

 

▣ 3장: 챗GPT의 API를 사용하는 방법 

3.1 OpenAI의 문서 생성 모델 

__챗GPT의 ‘모델’ 

__OpenAI의 API로 사용할 수 있는 문서 생성 모델 

__모델 스냅숏 

3.2 챗GPT의 API 기본 사항 

__Chat Completions API 

__Chat Completions API 요금 

__발생된 요금 확인 

3.3 입출력 길이 제한과 과금에 영향을 미치는 ‘토큰’ 

__토큰 

__Tokenizer와 tiktoken 소개 

__한국어의 토큰 수 

3.4 Chat Completions API를 사용할 수 있는 환경 준비하기 

__Google Colab이란? 

__Google Colab 노트북 만들기 

__OpenAI의 API 키 준비 

3.5 Chat Completions API를 만져보기 

__OpenAI의 라이브러리 

__Chat Completions API 호출 

__대화 기록에 기반한 응답 얻기 

__응답을 스트리밍으로 받기 

__기본 파라미터 

3.6 Function calling 

__Function calling 개요 

__Function calling 샘플 코드 

__파라미터 ‘function_call’ 

__Function calling을 응용한 JSON 생성 

요약 

 

▣ 4장: 랭체인 기초 

4.1 랭체인 개요 

__랭체인 사용 사례 

__랭체인을 배우는 이유 

__랭체인의 모듈 

__랭체인 설치 

4.2 Language models 

__LLMs

__Chat Models 

__Callback을 이용한 스트리밍 

__언어 모델 요약 

4.3 Prompts 

__PromptTemplate

__ChatPromptTemplate

__Example selectors 

__프롬프트 요약 

4.4 Output parsers 

__Output parsers 개요 

__PydanticOutputParser를 이용해 Python 객체 가져오기 

__Output parsers 요약 

4.5 Chains 

__LLMChain-PromptTemplate, Language model, OutputParser 연결하기 

__SimpleSequentialChain-Chain과 Chain 연결하기 

__Chains 요약 

4.6 Memory 

__ConversationBufferMemory

__더욱 편리한 Memory 

__Memory 저장 위치 

__Memory 요약 

 

▣ 5장: 랭체인 활용 

5.1 Data connection 

__RAG(Retrieval Augmented Generation) 

__Data connection 개요 

__Document loaders 

__Document transformers 

__Text embedding models 

__Vector stores 

__Retrievers

__RetrievalQA(Chain)

__Data connection 요약 

5.2 Agents 

__Agents 개요 

__Agents 사용 예시 

__Agents의 작동 원리와 ReAct 개념 

__Tools

__Toolkits

__Function calling을 사용하는 OpenAI Functions Agent 

__한 번에 여러 도구를 사용하기 

__Agents 요약 

요약 

 

▣ 6장: 외부 검색과 히스토리를 바탕으로 응답하는 웹 앱 구현하기 

6.1 이번 장에서 구현할 응용 프로그램 

__구현할 애플리케이션의 구성 

__이 책으로 개발하는 방법 

__AWS Cloud9 개요 

__스트림릿 개요 

__전체 코드 

6.2 Cloud9 실행 및 개발 환경 구축하기 

__Cloud9 환경 만들기 

__깃허브 저장소 생성하기 

__Cloud9과 깃허브 연동 

__파이썬 환경 구축하기 

6.3 스트림릿의 헬로 월드 

6.4 사용자 입력 받기 

6.5 입력 내용과 응답을 화면에 표시하기 

6.6 대화 기록 보기 

6.7 LangChain으로 OpenAI의 Chat Completions API 실행하기 

6.8 Agent를 사용하여 필요에 따라 외부 정보 검색하게 하기 

6.9 채팅 대화 기록을 바탕으로 응답하기 

6.10 스트림릿 커뮤니티 클라우드에 배포 

__종속 패키지 목록 작성 

__깃허브에 소스 코드 업로드하기 

__스트림릿 커뮤니티 클라우드에 배포하기 

__다른 사용자 초대하기 

요약 

 

▣ 7장: 스트림 형식으로 히스토리를 기반으로 응답하는 슬랙 앱 구현 

7.1 슬랙 앱을 만드는 이유 

__어떤 구성으로 할까? 

__개발 환경 

__깃허브 저장소의 파일 구성 

7.2 환경 준비 

__Cloud9 환경 만들기 

__깃허브에서 슬랙 앱용 저장소 생성하기 

__파이썬 가상 환경 활성화하기 

7.3 환경 설정 파일 만들기 

7.4 슬랙 앱 새로 만들기 

7.5 소켓 모드 활성화 

7.6 애플리케이션 만들기 

7.7 이벤트 설정하기 

7.8 액션 전송 및 응답하기 

7.9 스레드 내 답글 달기 

7.10. OpenAI API 호출하기

7.11 스트리밍으로 응답하기 

7.12 대화 기록 보관하기 

__Momento Cache란? 

7.13 Lazy 리스너에서 슬랙 재시도 전에 간단한 응답을 반환하는 방법 

7.14 AWS Lambda에서 실행되는 핸들러 함수 만들기 

7.15 chat.update API 제한 우회하기 

7.16 AI 생성 메시지임을 표시하기 

7.17 배포하기 

7.18 Socket Mode에서 AWS Lambda로 전환하기 

요약 

 

▣ 8장: 사내 문서에 관해 답변하는 슬랙 앱 구현하기 

8.1 챗GPT가 독자적인 지식으로 답변하게 한다 

__파인튜닝과 RAG 

__RAG 워크플로 

__답변문 생성에 LLM이 필요한가? 

__업무를 압박하는 ‘무언가를 찾는 시간’ 

__사내 데이터 정비하기 

8.2 임베딩이란? 

8.3 구현할 애플리케이션 개요 

__완성판 소스코드 

8.4 개발 환경 구축하기 

__Cloud9의 디스크 공간이 부족할 때 확장하는 방법 

8.5 샘플 데이터 준비 

8.6 파인콘 설정 

__파인콘이란? 

__파인콘 이외의 벡터 데이터베이스 

__파인콘 가입하기 

8.7 파인콘에 벡터 데이터 저장하기 

8.8 파인콘 검색 및 답변하기 

8.9 대화 기록을 바탕으로 질의응답하기 

__단순히 대화 기록을 넣어도 잘 작동하지 않는 경우 

__대화 이력을 바탕으로 질문을 다시 작성한다. 

8.10 RunnablePassthrough 사용하기 

요약 

 

▣ 9장: LLM 앱의 프로덕션 릴리스를 향해 

9.1 기업에서 생성 AI를 활용하려면 

9.2 공공기관·협회의 ‘생성형 AI 이용 가이드라인’을 바탕으로 자체 가이드라인 마련 

__외부 서비스 이용 시 서비스 약관을 꼼꼼히 읽을 것

9.3 서비스 기획 및 설계 단계에서의 과제 

__프로젝트 리스크 대응 

9.4 테스트 및 평가에 대하여 

__LLM 부분 평가 방법 

__랭스미스의 성능 모니터링 

9.5 보안 대책에 대하여 

__OWASP Top 10 for Large Language Model Applications 

__랭체인 코어의 취약점 제거에 대하여 

9.6 개인 정보 보호 관점 및 일본의 개인정보 보호 제도 

__개인정보보호법에서 규정한 본인 동의 및 목적 내 사용 

__개인정보 보호에 관한 ‘결정지향적’ 이익모델과 정보적 타자성으로부터의 자유에 대하여 

9.7 EU에서 규정한 금지 AI 및 고위험 AI 처리 동향 

 

▣ 부록A: 웹 앱, 슬랙 앱 개발 환경 구축 

A.1 AWS 가입 

A.2 Cloud9 환경 생성 

__Cloud9 요금 설명 

A.3 Cloud9와 깃허브 연동 

__깃허브와 SSH 설정 

__Git 사용자 설정 

__깃허브에서 저장소 복제하기 

A.4 Cloud9에서 파이썬 환경 구축 

__pyenv 설치 

__Python 3.10 설치 

__Python 3.10을 사용하기 위한 절차 

__가상 환경에 대하여 

A.5 Momento 가입 

 

▣ 부록B: 랭체인의 새로운 표기법 ‘랭체인 표현 언어(LCEL)’ 소개 

B.1 LCEL(LangChain Expression Language)이란? 

B.2 LCEL의 기본 사용법 

__prompt와 model을 연결하기 

__output_parser 연결 

B.3 LCEL의 작동 방식 

B.4 약간 더 복잡한 LCEL 예제 

__규칙 기반 처리(일반 함수) 끼워 넣기 

__RAG(검색 증강 생성) 

B.5 결론

본문인용

-

서평

-

저자소개

번역 : 최용
한국방송통신대학교에서 컴퓨터과학을 전공하고 IT 시스템 운영을 자동화하는 소프트웨어의 기술 지원을 주로 했다. 프로그래밍 책을 쓰고 번역하다가 IT 전문 출판사의 편집자가 됐다. 데이터 분석과 인공지능 책을 주로 담당하며, 업무 생산성을 높이는 데에 관심이 많다. 누구나 챗GPT를 활용해 자신의 이야기를 책으로 쓸 수 있게 도우려 개발한 ‘Book Creator Guide’ GPT가 OpenAI의 추천을 받아 글쓰기 부문 상위권에 올랐다. 저자/번역자로서 《OpenAI API와 파이썬으로 나만의 챗GPT 만들기》 《랭체인 완벽 입문》(위키북스, 2024), 《Hello IT 파이썬을 제대로 활용해보려고 해》(패스트캠퍼스, 2022) 등을 냈고, 위키독스에 ‘전뇌해커’라는 필명으로 전자책을 쓴다. 서울사이버대학교 드론·로봇융합학과에 재학 중이다.
저자 : 오시마 유키
소프트웨어 엔지니어. IT 기업에서 프리랜서 엔지니어를 거쳐 회사를 세웠다. 현재는 현업에 종사하는 엔지니어의 스킬 향상을 주제로 스터디 모임 개최 및 교재 제작 활동을 하고 있다. 온라인 강좌 유데미 베스트셀러 강좌를 다수 보유하고 있다. AWS, 도커/쿠버네티스, 서버리스 기술 등을 다루는 ‘야생의’ 클라우드 네이티브 인재이며 최근에는 랭체인 전문가로 인정받고 있다. 스터디 커뮤니티인 StudyCo를 운영한다.
저자 : 요시다 신고
주식회사 사이다스 이사 CTO/주식회사 섹션나인 대표이사 CEO. 일본 챗GPT 커뮤니티를 주최한다. HCM Suite ‘CYDAS PEOPLE’의 개발 및 운영을 맡고 있다. 서버리스 기술 커뮤니티를 주최해 일본에서의 서버리스 보급을 촉진하고 있다.
상단으로 이동