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

GPT-4, ChatGPT, 라마인덱스, 랭체인을 활용한 인공지능 프로그래밍

한권으로 끝내는 OpenAI API 기반 LLM 애플리케이션 구축
지은이 후루카와 히데카즈
옮긴이 트랜스메이트
도서 정보
출간일
2023년 9월 21일
쪽수
296쪽
판형
175*235*16mm
ISBN
9791158394622
시리즈
생성형 AI 프로그래밍_003
정가
28,000원
난이도
도서 소개
저자 소개
역자 소개
목차
예제 코드
정오표

도서 소개

이 책은 OpenAI의 GPT 모델을 활용하여 채팅 AI를 개발하는 방법을 안내합니다. 파이썬의 기초 문법부터 라마인덱스를 활용한 파인튜닝 방법과 복잡한 작업을 수행하는 애플리케이션을 만들기 위한 랭체인 활용법까지 맞춤형 채팅 AI를 독자적인 시스템에 접목하는 방법을 단계별로 설명합니다.

★ 이런 분께 추천합니다 ★

  • 채팅 AI의 작동 원리를 알고 싶은 분
  • 채팅 AI에 지식과 계산 능력을 부여하여 업무를 자동화하고 싶은 분
  • 대화 로봇이나 AITuber 등의 대화 엔진을 만들고 싶은 분
  • 자신의 애플리케이션에 채팅 UI를 통합하고 싶은 분

★ 이 책에서 배우는 내용 ★

  • ChatGPT, OpenAI 플레이그라운드, DALL-E 사용법
  • OpenAI API를 활용한 텍스트 생성, 이미지 생성 방법
  • 라마인덱스를 활용한 파인튜닝
  • 랭체인의 기본 사용법과 고급 사례
  • ChatGPT 플러그인 사용법 및 플러그인 제작 방법

 

도서 상세 이미지

저자 소개

후루카와 히데카즈

1999년 『JAVA PRESS』(기술평론사)에서 모바일 앱 개발 방법을 연재하기 시작했으며, 2001년 주식회사 두왕고에서 세계 최초의 Java 탑재 휴대폰 '503i'의 런칭 타이틀 '사무라이 로마네스크'의 개발에 참여했다. 이후 새로운 단말기의 신기능을 활용한 앱을 만들면서 기술서를 계속 집필하여 18년 동안 40여 권의 책을 집필했다. 현재는 주식회사 젤펨에서 인간과 AI의 공생 환경 실현을 목표로 인공지능 연구개발에 힘쓰고 있다.

주요 저서로는 『BERT/GPT-3/DALL-E 자연어처리・영상처리・음성처리 인공지능 프로그래밍 실무 입문』 『Unity로 시작하는 ROS・인공지능 로봇 프로그래밍 실무 입문』 『알파제로를 분석하며 배우는 인공지능』 『Unity로 시작하는 머신러닝・강화학습・탐색 인공지능 프로그래밍 실무 입문』 『Unity로 시작하는 머신러닝・강화학습 Unity ML-Agents 실전 게임 프로그래밍 v2.2 대응판』 『OpenAI Gym/Baselines 딥러닝・강화학습 인공지능 프로그래밍 실전 입문』(본디지털)등이 있다. 공저로 『유니티 게임 프로그래밍 바이블』 『유니티 게임 프로그래밍 바이블 2nd Generation』(본디지털)이 있다.

역자 소개

트랜스메이트

다양한 IT 기술과 주제에 관심 있는 사람들이 함께하는 번역가 모임입니다. 시시각각 변화하는 기술 분야에 발맞춰 어떤 책이 필요할지 고민하고, 정확하게 이해하고 편안하게 읽을 수 있는 책으로 거듭날 수 있게 노력하고 있습니다.

목차

  • ▣ 1장: GPT-4, ChatGPT, 랭체인 개요
  • 1-1 GPT-4와 ChatGPT 및 랭체인
  • __ChatGPT란?
  • __ChatGPT 시작하기
  • __GPT-4와 GPT-3.5란?
  • __대규모 언어 모델이란?
  • __OpenAI API란?
  • __OpenAI의 플레이그라운드와 DALL-E의 웹 UI
  • __라마인덱스란?
  • __랭체인이란?
  • __대규모 언어 모델의 활용 사례
  • 1-2 인공지능과 머신러닝 및 딥러닝
  • __인공지능과 머신러닝 및 딥러닝의 개요
  • __뉴런과 신경망
  • __모델 생성 및 학습과 추론
  • 1-3 자연어 처리의 딥러닝 모델
  • __자연어 처리의 딥러닝 모델의 역사
  • __RNN(1986년)
  • __Seq2Seq (2014년)
  • __Attention(2015년)
  • __Transformer (2017년)
  • __BERT(2018년)
  • __GPT-2 (2019년)
  • __T5(2019년)
  • __GPT-3 (2020년)
  • __GPT-3.5 (2022년)
  • __GPT-4 (2023년)
  • __딥러닝 모델의 영상 처리 적용
  • __Image GPT(2020년)
  • __CLIP (2021년)
  • __DALL-E (2021년)
  • __DALL-E 2 (2022년)
  • __딥러닝 모델의 음성 처리 적용
  • __Tacotron2+WaveGlow (2017년)
  • __NEUTRINO (2020년)
  • __Jukebox (2020년)
  • __Whisper (2022년)
  •  
  • ▣ 2장: DALL-E 사용법
  • 2-1 ChatGPT 사용법
  • __ChatGPT 화면 구성
  • __ChatGPT로 수행할 수 있는 주요 작업
  • __텍스트 생성
  • __질의응답
  • __요약
  • __번역
  • __프로그램 생성
  • 2-2 OpenAI 플레이그라운드 사용법
  • __OpenAI 플레이그라운드 시작하기
  • __OpenAI API 이용 요금
  • __OpenAI 플레이그라운드의 화면 구성
  • __채팅(Chat) 모드
  • __텍스트 생성(Complete) 모드
  • __편집(Edit) 모드
  • 2-3 DALL-E 사용법
  • __DALL-E의 개요
  • __DALL-E 시작하기
  • __OpenAI API 이용 요금
  • __DALL-E의 화면 구성
  • __DALL-E로 수행할 수 있는 주요 작업
  • __베리에이션(Variations)
  • __인페인팅(Inpainting)
  • __아웃페인팅(Outpainting)
  • 2-4 깃허브 코파일럿 사용법
  • __깃허브 코파일럿의 개요
  • __깃허브 코파일럿의 이용 요금
  • __깃허브 코파일럿 시작하기
  • __깃허브 코파일럿 활성화/비활성화
  • __코드 후보 표시
  • __코드 대체 후보 표시
  • __주석으로부터 코드 후보 표시
  •  
  • ▣ 3장: 파이썬 개발 환경 준비
  • 3-1 파이썬 개요
  • __파이썬이란?
  • 3-2 구글 코랩 개요
  • __구글 코랩이란
  • __구글 코랩 시작하기
  • __파이썬 스크립트 실행
  • __파이썬 패키지 설치
  • __텍스트 추가
  • __구글 코랩의 툴바
  • __구글 코랩의 메뉴
  • __GPU 사용
  • __구글 드라이브 마운트
  • __구글 코랩의 제한 사항과 대책
  • __Colab Pro, Pro+, Pay As You Go
  • 3-3 파이썬 문법
  • __문자열 표시
  • __변수와 연산자
  • __문자열
  • __리스트
  • __딕셔너리
  • __튜플
  • __제어문
  • __함수와 람다식
  • __클래스
  • __패키지 가져오기와 컴포넌트 직접 호출하기
  •  
  • ▣ 4장: OpenAI API
  • 4-1 텍스트 생성
  • __OpenAI API란?
  • __OpenAI API 라이브러리
  • __API 키 획득
  • __텍스트 생성이란?
  • __OpenAI API 이용 요금
  • __OpenAI API 사전 준비
  • __텍스트 생성
  • __문장 생성
  • __질의응답
  • __요약
  • __번역
  • __프로그램 생성
  • __채팅
  • __삽입
  • __편집
  • 4-2 이미지 생성
  • __이미지 생성이란?
  • __OpenAI API 이용 요금
  • __OpenAI API 사전 준비
  • __텍스트에서 이미지 생성
  • __이미지 및 텍스트에서 이미지 편집
  • __이미지에서 변형 생성
  • 4-3 임베딩
  • __임베딩이란?
  • __OpenAI API 이용료
  • __OpenAI API 사전 준비
  • __임베딩 생성
  • __유사도 검색
  • 4-4 파인튜닝
  • __파인튜닝이란?
  • __OpenAI API 이용 요금
  • __OpenAI API 사전 준비
  • __학습 데이터 준비
  • __파인튜닝 실행
  • __추론 실행
  • __파인튜닝된 모델 목록 확인
  • __파인튜닝 모델 삭제
  • 4-5 모더레이션
  • __모더레이션이란?
  • __OpenAI API 이용료
  • __OpenAI API 사전 준비
  • __모더레이션 이용 절차
  • 4-6 음성 텍스트 변환
  • __음성 텍스트 변환이란?
  • __OpenAI API 이용료
  • __OpenAI API 사전 준비
  • __음성 텍스트 변환
  • __음성을 영어로 번역해서 텍스트로 변환하기
  • __더 긴 오디오 파일 번역
  • __프롬프트를 통한 오디오 텍스트 변환 품질 향상
  • 4-7 토크나이저
  • __토크나이저란?
  • __토크나이저 사용
  • __한국어와 영어의 토큰 수 비교
  • __최대 토큰 수
  •  
  • ▣ 5장: 라마인덱스
  • 5-1 라마인덱스 시작하기
  • __라마인덱스란?
  • __문서 준비
  • __라마인덱스의 사전 준비
  • __라마인덱스의 질의응답
  • __인덱스 저장 및 로드
  • 5-2 라마인덱스의 세부 기능
  • __라마인덱스 생성 절차
  • __라마인덱스의 사전 준비
  • __문서 로드
  • __인덱스 생성
  • __쿼리 엔진 생성
  • __질의응답
  • 5-3 라마허브
  • __라마허브란?
  • __웹 페이지에 대한 질의응답
  • __유튜브 동영상에 대한 질의응답
  • 5-4 벡터 데이터베이스
  • __벡터 데이터베이스란?
  • __라마인덱스의 사전 준비
  • __파이스를 이용한 질의응답
  • __파인콘을 활용한 질의응답
  •  
  • ▣ 6장: 랭체인
  • 6-1 랭체인 시작하기
  • __랭체인이란?
  • __랭체인의 모듈
  • __랭체인의 사전 준비
  • __LLM 사용법
  • __프롬프트 템플릿 사용법
  • __체인 사용법
  • __에이전트와 도구 사용법
  • __메모리 사용법
  • 6-2 LLM
  • __LLM이란?
  • __랭체인에서 지원하는 LLM 목록
  • __랭체인의 사전 준비
  • __텍스트 생성 모델의 LLM 호출
  • __채팅 모델의 LLM 호출
  • __LLM 캐시
  • __LLM의 비동기 처리
  • __LLM 스트리밍
  • 6-3 프롬프트 템플릿
  • __프롬프트 템플릿이란?
  • __랭체인에서 제공하는 프롬프트 템플릿 목록
  • __랭체인의 사전 준비
  • __프롬프트 템플릿 만들기
  • __답변 예시가 포함된 프롬프트 템플릿
  • __다양한 답변 예시가 포함된 프롬프트 템플릿
  • 6-4 체인
  • __체인이란?
  • __랭체인에서 제공되는 체인 목록
  • __랭체인의 사전 준비
  • __제네릭 체인
  • __인덱스 체인
  • __유틸리티 체인
  • 6-5 에이전트
  • __에이전트란?
  • __랭체인에서 제공하는 에이전트 목록
  • __랭체인의 사전 준비
  • __에이전트 생성
  • 6-6 도구
  • __도구란?
  • __랭체인에서 제공하는 도구 목록
  • __랭체인의 사전 준비
  • __구글 맞춤 검색 도구(google-search)
  • __Wolfram Alpha 도구(wolfram-alpha)
  • 6-7 메모리
  • __메모리란?
  • __랭체인에서 제공하는 메모리 목록
  • __랭체인의 사전 준비
  • __ConversationBufferMemory
  • __ConversationBufferWindowMemory
  • __ConversationTokenBufferMemory
  • __ConversationSummaryMemory
  • __ConversationSummaryBufferMemory
  •  
  • ▣ 7장: ChatGPT 플러그인
  • 7-1 ChatGPT 플러그인 사용법
  • __ChatGPT 플러그인 개요
  • __제공되는 ChatGPT 플러그인
  • __ChatGPT 플러그인 사용법
  • 7-2 ChatGPT 플러그인을 만드는 방법
  • __ChatGPT 플러그인 제작 개요
  • __ChatGPT 플러그인 제작 과정
  • 7-3 ChatGPT 검색 플러그인
  • __ChatGPT Retrieval Plugin 개요
  • __벡터 데이터베이스 준비
  • __JWT 토큰 준비
  • __웹 애플리케이션 실행
  • __인덱스에 초기 데이터 추가
  • __웹 애플리케이션의 동작 확인
  • __랭체인에서 조작

예제 코드

정오표

OpenAI 모델 종료에 따른 변경

2024년 1월 4일부로 OpenAI의 일부 모델이 종료됨에 따라 일부 LLM 모델이 지원 중단되어 관련 본문 페이지(122~133쪽, 213~221쪽)를 공개합니다. 아래 파일을 내려받아 해당 페이지의 본문 내용 및 실습을 참고하시기 바랍니다.


  • 127쪽, 3번째 예제 코드의 3번째 줄

    # 테스트 생성 실행

    ==>

    # 텍스트 생성 실행
  • 171쪽, '라마인덱스 패키지 설치'의 코드를 다음 내용으로 교체

    # 패키지 설치
    !pip install llama-index==0.6.12

    ==>

    # 패키지 설치
    !pip install llama-index==0.6.12 langchain==0.0.154 openai==0.28
  • 173쪽, 두 번째 예제 코드('text-davinci-003' 모델 지원 종료에 따른 변경)

    from llama_index import GPTVectorStoreIndex
    
    # 인덱스 생성
    index = GPTVectorStoreIndex.from_documents(documents)

    ==>

    from llama_index import GPTVectorStoreIndex, ServiceContext, LLMPredictor
    from langchain.chat_models import ChatOpenAI
    
    # LLMPredictor 준비
    llm_predictor = LLMPredictor(llm=ChatOpenAI(
        temperature=0, # 온도
        model_name="gpt-3.5-turbo" # 모델명
    ))
    
    # ServiceContext 준비
    service_context = ServiceContext.from_defaults(
        llm_predictor=llm_predictor,
    )
    
    # 인덱스 생성
    index = GPTVectorStoreIndex.from_documents(
        documents,
        service_context=service_context,
    )
  • 178쪽, 본문 2번째 줄

    라마인덱스에서 질문응답형 채팅 AI를

    ==>

    라마인덱스에서 질의응답형 채팅 AI를

  • 230쪽, 본문 2번째 줄

    SimilaritySimilarityExampleSelector의 사용 예는 다음과 같습니다.

    ==>

    MaxMarginalRelevanceExampleSelector의 사용 예는 다음과 같습니다.

  • 238쪽, 페이지 상단 예제 코드의 9번째 줄

    제몯:{title}

    ==>

    제목:{title}
  • 243쪽, 첫 번째 예제 코드의 첫 번째 줄

    # 질문 응답 체인 실행

    ==>

    # 질의응답 체인 실행
  • 244쪽, 3번째 예제 코드의 3번째 줄

    # 소스가 있는 질문 응답 체인 생성

    ==>

    # 소스가 있는 질의응답 체인 생성
WHERE TO BUY · 정가 28,000원
WHERE TO BUY · 정가 28,000원