[도서 리뷰] 챗GPT API를 활용한 챗봇 만들기
이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.
5일만에 파이썬, 프롬프트 엔지니어링, 오픈AI API, 에이전트, 벡터DB 마스터하기라는 매력적인 문구에 이끌려 이 책을 읽게 되었다. 요즘 고객센터 문의나 질의응답에서 사람의 대답을 얻는 것보다 AI의 답을 얻는 것이 흔한 시대가 되었다. 기술적인 질문에 대해서도 일일이 찾아 답변하지 않아도 API 가 알아서 지난 질문의 답을 찾아와 링크까지 걸어주며 친절하게 답을 해준다.
-
챗GPT API를 활용한 챗봇 만들기
-
챗GPT 가 나오고 여러 서비스에 플러그인 형태로 API 를 활용한 플러그인을 지난 한 해 동안 여러 개 사용해 왔다. API도 간단하고 단순하기 때문에 최근 점점 추상화 되고 있는 프로그래밍 라이브러리나 패키지를 활용하면 그럴 듯한 챗봇을 만들 수 있는데 이 책에 이런 레시피가 친절하게 나와있다.
-
4 프롬프트 엔지니어링의 기초
-
챗봇 개발에 필요한 필수적인 파이썬에 대한 내용을 배우고 프롬프트 사용법 그리고 프롬프트 엔지니어링에 대한 기법까지 핵심적인 노하우 위주로 학습할 수 있도록 구성이 되어있다.
- 5 프롬프트 엔지니어링의 핵심 기법
- 원하는 답변을 얻기 위해 다음과 같은 프롬프트 기법에 대해서도 예시와 함께 설명을 하고 있다. 챗봇을 개발하다보면 API 사용뿐만 아니라 프롬프트를 어떻게 구성해야 할지에 대한 아이디어를 얻어볼 수 있도록 구성되어 있다.
- 프롬프트를 잘 만드는 방법
- LLM과 인-컨텍스트 러닝
- Few-shot Prompting
- CoT 기법
- SC 기법
- ToT 기법
- ReAct 기법
- RAG 기법
-
6 프롬프트 엔지니어링으로 챗봇 설계하고 구현하기
-
이전 챕터에서 배운 기법을 활용하여 실제로 어떻게 프롬프트를 만들고 설계해야 하는지에 대한 구체적인 방법을 알아볼 수 있다.
1. 대화형 언어 모델에서의 컨텍스트
2. 챗봇 시스템 설계하기
3. 프롬프트 만들기
4. 프롬프트 실행하기
5. 생성 결과 개선하기
-
7 웹 애플리케이션에서 챗봇과 대화하기
-
프롬프트를 구성하였다면 이제 직접 챗봇을 구현할 준비가 되었다. 백엔드나 서버개발이 처음일지라도 간단하게 애플리케이션을 구현할 수 있는 핵심적인 노하우를 소개하고 있다.
1. 서버 프로그램의 동작 살펴보기
2. 서버 구동 과정 손에 익히기
3. application.py 살펴보기
4. 웹 리소스 적용하기
5. 화면에서 대화 주고받기
6. Chatbot 객체와 연결해서 대화하기
- 8 프롬프트 엔지니어링으로 챗봇 꾸미기
- 그럴 듯한 챗봇을 구현하기 위해 이전 챕터에서까지 다뤘던 내용을 활용할 수 있는 노하우를 제시한다.
1. 시스템 역할을 통한 페르소나 구축
2. 시스템 역할 성능 개선하기
3. 내 찐친으로 탈바꿈하기
4. 컨텍스트 용량 관리하기
5. 공통사항을 미리 반영하기
- 9 인간의 언어로 함수 호출하기
- Tavily 를 활용하여 인터넷 검색을 활용하여 현실세계 데이터를 활용할 수 있는 방법을 소개한다.
1. 언어 모델이 함수를 호출하는 방법
2. Function Calling 활용해서 인터넷 검색하기
3. 병렬적 Function Calling
- 10 에이전트 구현과 프롬프트 분할
- 사람과 일을 할 때도 작은 작업 단위로 체크해가며 진행해야 좀더 꼼꼼하게 일을 진행할 수 있는 것처럼 에이전트에게 복잡한 태스크를 분할하여 태스크를 진행할 수 있는 노하우를 다룬다.
1. 에이전트 개념 잡기
2. 자율적 에이전트가 동작하는 원리
3. 자율적 에이전트 구현하기
4. 복잡한 Task 분할하기
5. 찐친에게 에지를 주는 방법
6. WarningAgent 구현하기
7. WarningAgent 사용하기
- 11 대화 내용 저장하기
- 몽고DB를 활용하여 데이터를 저장하는 방법에 대해 소개한다. 대화가 증발되지 않도록 다음에 다시 챗봇을 열었을 때도 지난 대화 내용을 확인할 수 있는 방법을 알 수 있다.
1. 도큐먼트 DB
2. MemoryManager 구현하기
3. MemoryManager 사용하기
-
12 기억을 위한 준비
-
임베딩 텍스트를 저장하고 사용할 수 있는 PineconeDB 활용법을 소개한다. 몽고DB 사용법 처럼 API를 통해 벡터DB를 활용할 수 있는 방법을 알 수 있다.
1. 컴퓨터가 언어를 이해하는 방법
2. 인간이 임베딩을 대하는 방법
3. 임베딩 모델 사용해 보기
4. 벡터DB의 필요성
5. PineconeDB 맛보기
- 13 기억을 동작시키는 방법
- 임베딩되어 저장된 DB에서 유사도를 통해 데이터를 가져와서 대화를 생성하는 방법을 다루고 있다. 기억된 내용으로 유사도를 통해 답변을 생성하기 때문에 할루시네이션을 줄이고 의미있는 답변을 구성할 수 있는 노하우를 다루고 있다.
1. 대화 일괄 생성
2. 기억을 구조화하는 방법
3. 데이터베이스에 기록하기
4. 실시간으로 기억 검색하기
5. 실시간으로 기억해 내기
6. 백그라운드에 기억 저장하기
- 14 Assistants API 개념 잡기
- 15 Assistants API 심화 학습
- 16 GPTs와 API 사용전략
- 17 카카오톡에 챗봇 올리기
- 18 멀티모달 기능 적용하기
- 작게 여러 번 하기
API를 활용하여 설치나 설정에 대한 부담을 줄이고 초보자라도 기본적인 파이썬 사용법을 이해하고 있다면 챗봇을 구현해 볼 수 있는 기본적인 기법을 짜임새 있게 설명하고 있다. 구름IDE를 사용하여 개발할 수 있는 방법까지 제공하고 있기 때문에 환경설정에 어려움을 느끼는 사람도 비교적 시행착오를 적게 줄여가면서 챗봇을 구현할 수 있는 노하우를 제시하고 있는 책이다.
AskUp 과 같은 카카오톡 챗봇이나 디스코드 챗봇 등이 어떻게 구현되는지 지난 대화 내용이나 데이터를 바탕으로 어떻게 대화를 생성해 나가는지, 날씨와 같은 실시간성 정보를 어떻게 웹사이트 상에서 가져오는지에 대한 방법과 핵심 노하우를 배울 수 있는 책이다.
이 리뷰는 한빛미디어의 나는 리뷰어다 이벤트를 통해 책을 제공받아 작성했습니다.