첫째마당 | LLM과 친해지기
01장 LLM으로 어떤 일을 할 수 있을까?
_01-1 챗GPT로 시작된 생성형 AI 시대
__대규모 언어 모델, LLM은 무엇일까?
__LLM의 종류
__LLM을 활용한 생성형 AI 서비스의 종류
_01-2 LLM을 왜 공부해야 할까?
__LLM 프로그래밍 경험이 필요한 이유
__어떤 언어 모델을 선택해야 할까?
__LLM의 한계를 보완하는 기술 6가지
02장 환경 설정하고 GPT API 시작하기
_02-1 파이썬 프로그래밍 환경 설정하기
__[Do it! 실습] 파이썬 설치하기
__[Do it! 실습] 비주얼 스튜디오 코드 설치하기
__[Do it! 실습] 가상 환경 만들기
_02-2 GPT API 시작하기
__API란?
__오픈AI의 API
__[Do it! 실습] 오픈AI의 API 키 발급받기
__[Do it! 실습] 오픈AI의 API 키로 질문하고 답변받기
__[Do it! 실습] API 키 관리하기
03장 오픈AI의 API로 챗봇 만들기
_03-1 프롬프트 엔지니어링 알아보기
__[Do it! 실습] GPT에게 역할 부여하기
__[Do it! 실습] 원샷 프롬프팅과 퓨샷 프롬프팅 적용하기
_03-2 GPT와 멀티턴 대화하기
__[Do it! 실습] 멀티턴 대화하는 챗봇 만들기
_03-3 스트림릿으로 챗봇 완성하기
__[Do it! 실습] 스트림릿으로 챗봇 UI 만들기
둘째마당 | 오픈AI의 GPT API를 활용한 업무 자동화
04장 문서와 논문을 요약하는 AI 연구원
_04-1 PDF 문서 전처리하기
__[Do it! 실습] PDF 파일을 텍스트 파일로 변환하기
__[Do it! 실습] PDF 파일 전처리 하기
_04-2 논문을 요약해 주는 AI 연구원 완성하기
__[Do it! 실습] 텍스트 요약 프롬프트 만들기
__[Do it! 실습] PDF 내용 요약하여 출력하기
05장 회의록을 정리하는 AI 서기
_05-1 음성을 텍스트로 변환하기
__[Do it! 실습] 위스퍼 API 활용하기
_05-2 로컬에서 음성을 텍스트로 변환하기
__허깅페이스
__[Do it! 실습] 위스퍼 모델을 내려받아 로컬에서 사용하기
_05-3 문장과 화자 구분하기
__[Do it! 실습] 화자 분리 모델로 시간대별 화자 구분하기
__[Do it! 실습] 판다스로 문장 분석하고 화자 매칭하기
_05-4 회의록을 정리하는 AI 서기 완성하기
__[Do it! 실습] 전체 회의 내용 요약하기
__[Do it! 실습] GPT로 녹취록 교정하기
06장 GPT-4o를 이용한 AI 이미지 분석가
_06-1 GPT 비전에게 이미지 설명 요청하기
__[Do it! 실습] 인터넷에 있는 이미지로 설명 요청하기
__[Do it! 실습] 내가 가진 이미지 설명 요청하기
__[Do it! 실습] GPT 비전의 한계 알아보기
_06-2 이미지를 활용해 퀴즈 만들기
__[Do it! 실습] 문제 생성 함수 만들기
__[Do it! 실습] 영어로 문제 출제하기
__[Do it! 실습] TTS로 영어 듣기 평가 문제 만들기
07장 최신 주식 정보를 알려 주는 AI 투자자
_07-1 펑션 콜링의 기초
__GPT야, 지금 몇 시지?
__펑션 콜링이란?
__[Do it! 실습] 펑션 콜링 적용하기
__뉴욕은 지금 몇 시야?
__[Do it! 실습] 도시별 시간 알려 주기
__[Do it! 실습] 여러 도시의 시간을 한 번에 대답할 수 있게 하기
__[Do it! 실습] 스트림릿에서 펑션 콜링 사용하기
_07-2 GPT와 미국 주식 이야기하기
__[Do it! 실습] yfinance 사용하기
__[Do it! 실습] GPT에서 사용할 yfinance 관련 함수 만들기
__[Do it! 실습] 코드 리팩토링하기
__[Do it! 실습] 종목 최근 주가 정보와 추천 정보 가져오기
_07-3 스트림 출력하기 180
__[Do it! 실습] 터미널 창에서 스트림 방식으로 출력하기
__[Do it! 실습] 스트림릿에서 스트림 방식으로 출력하기
__[Do it! 실습] 스트림 방식에서 펑션 콜링 사용하기
셋째마당 | 랭체인을 활용한 에이전트 개발
08장 랭체인으로 에이전트 만들기
_08-1 랭체인으로 챗봇 만들기
__랭체인이란?
__[Do it! 실습] 랭체인과 오픈AI의 GPT API 비교하기
__[Do it! 실습] 랭체인으로 멀티턴 대화하기
_08-2 LCEL로 체인 만들기
__[Do it! 실습] 출력 파서와 체인
__[Do it! 실습] 프롬프트 템플릿 이용하기
_08-3 랭체인 도구로 에이전트 만들기
__[Do it! 실습] @tool 데코레이터로 랭체인에 함수 연결하기
__[Do it! 실습] 파이단틱 이용하기
_08-4 스트림 방식으로 출력하기
__[Do it! 실습] 도구 사용할 때 스트림 출력하기
_08-5 스트림릿에 구현하기
__[Do it! 실습] 랭체인 메모리에 기반한 멀티턴 챗봇 만들기
__[Do it! 실습] 랭체인 메모리 없이 멀티턴 만들기
__[Do it! 실습] 도구 추가하고 스트림 방식으로 출력하기
09장 RAG로 문서에 기반해 답변하는 챗봇 만들기
_09-1 RAG란 무엇일까?
__언어 모델과 RAG의 작동 방식
__기본적인 언어 모델의 답변과 RAG의 차이
__청킹: 대량의 문서를 쪽지 단위로 자르기
__임베딩: 텍스트를 벡터로 변환하기
__벡터 DB와 리트리버
__질의 확장
_09-2 RAG에 기반한 챗봇 구현하기
__[Do it! 실습] PDF 파일 텍스트로 변환하고 청크 단위로 쪼개기
__[Do it! 실습] 오픈AI 임베딩 모델 사용하기
__[Do it! 실습] 벡터 DB와 리트리버
__[Do it! 실습] 주어진 청크에 기반하여 언어 모델로 답변 생성하기
__[Do it! 실습] 질의 확장 구현하기
_09-3 스트림릿으로 챗봇 완성하기
__[Do it! 실습] 기본 스트림릿 코드에 리트리버 추가하기
__[Do it! 실습] 출처 표기하기
10장 인터넷 검색을 활용해 답변하는 챗봇 만들기
_10- 1 인터넷 검색 후 답변하기 - 덕덕고 검색
__[Do it! 실습] GPT에 인터넷 검색 기능 추가하기
__[Do it! 실습] 검색 기능에 옵션 설정하기
__[Do it! 실습] 기사 링크 가져오기
__[Do it! 실습] 뷰티풀수프를 이용해 특정 영역만 가져오기
_10-2 자료 조사 후 기사 쓰기 - 타빌리 검색
__[Do it! 실습] 타빌리 활용하기
__[Do it! 실습] 인터넷에서 자료 조사 후 기사 쓰는 기자 만들기
_10-3 유튜브 영상 요약하기
__[Do it! 실습] YoutubeSearch 패키지로 유튜브 검색하기
__[Do it! 실습] YoutubeLoader 패키지로 유튜브 자막 가져오기
__[Do it! 실습] 자막 내용 요약하기
_10-4 웹과 유튜브 검색을 활용한 챗봇 만들기
__[Do it! 실습] 챗봇에 웹 검색 도구 추가하기
__[Do it! 실습] 유튜브 검색 도구 추가하기
11장 로컬에서 딥시크-R1 모델 사용하기
_11-1 딥시크 모델 알아보기
__소규모 언어 모델의 등장
__딥시크-R1 모델
__[Do it! 실습] 올라마와 딥시크-R1 모델 설치하기
_11-2 랭체인에서 딥시크 모델 사용하기
__[Do it! 실습] 딥시크와 랭체인으로 챗봇 만들기
_11-3 딥시크에 기반한 RAG 만들기
__[Do it! 실습] 딥시크로 RAG 만들기
넷째마당 | 랭그래프를 활용해 협업하는 AI 팀 만들기
12장 랭그래프와 친해지기
_12-1 랭그래프로 만드는 기본 챗봇
__랭그래프란?
__랭그래프의 기본 개념 ― 노드, 엣지, 상태
__[Do it! 실습] 랭그래프로 간단한 챗봇 만들기
__[Do it! 실습] 상태 정의하기
__[Do it! 실습] 노드 생성하기
__[Do it! 실습] 엣지 설정하기
__[Do it! 실습] 스트림 출력하기
_12-2 대화 내용을 저장하는 메모리
__[Do it! 실습] 랭그래프의 메모리 기능 활용하기
_12-3 인터넷 검색 후 기사를 작성하는 챗봇 만들기
__[Do it! 실습] 신문기자 챗봇 만들기
__[Do it! 실습] 라우터 설정하기
__[Do it! 실습] 도구 테스트하고 기사 작성하기
13장 랭그래프를 활용해 멀티에이전트 RAG 만들기
_13-1 랭그래프에 기반한 RAG를 위한 사전 작업
__멀티에이전트 시스템과 정확한 가이드
__RAG의 한계 개선하기
__[Do it! 실습] PDF 전처리하고 벡터 DB 만들기
_13-2 라우터 알아보기
__라우터
__[Do it! 실습] 챗봇에 라우터 설정하기
_13-3 랭그래프로 RAG 에이전트 만들기
__[Do it! 실습] 관련 있는 청크만 필터링하기
__[Do it! 실습] RAG 답변 생성하기
_13-4 그래프 정의하기
__[Do it! 실습] 그래프 상태 선언하고 노드 정의하기
__[Do it! 실습] StateGraph 만들기
__[Do it! 실습] 멀티에이전트 테스트하기
14장 랭그래프로 목차를 작성하는 멀티에이전트 만들기
_14-1 사용자와 함께 목차를 작성하는 에이전트
__이 장에서 만드는 멀티에이전트
__사용자와 의사소통하는 커뮤니케이터 에이전트
__[Do it! 실습] 커뮤니케이터 에이전트 communicator 만들기
__책의 목차를 작성하는 콘텐츠 전략가 에이전트
__[Do it! 실습] 목차를 작성하는 콘텐츠 전략가 에이전트 content_strategist 만들기
_14-2 조장 역할을 하는 슈퍼바이저 에이전트
__조장이 필요하다! ― 슈퍼바이저 에이전트
__[Do it! 실습] 슈퍼바이저 에이전트 supervisor 추가하기
__[Do it! 실습] 파이단틱의 BaseModel로 출력 형태 정의하기
_14-3 웹 검색과 RAG를 활용하는 벡터 검색 에이전트
__벡터 DB를 활용해 효율적으로 웹 검색하기
__[Do it! 실습] 웹 검색 기능 만들기
__[Do it! 실습] 벡터 DB 만들기
__관련 높은 청크 찾는 벡터 검색 에이전트
__[Do it! 실습] 랭그래프에 연결하기
_14-4 부족한 정보 검색하는 웹 검색 에이전트
__부족한 정보를 찾아 주는 웹 검색 에이전트
__[Do it! 실습] 웹 검색 에이전트 web_search_agent 만들기
__[Do it! 실습] 목차에 검색 결과 활용하기
15장 스스로 판단하고 작업하는 멀티에이전트 만들기
_15-1 에이전트의 공동 목표 만들기
__목표를 점검하는 비즈니스 분석가 에이전트
__[Do it! 실습] 사용자의 의도를 파악하는 에이전트 business_analysist 만들기
_15-2 템플릿으로 더 명확한 가이드 세우기
__문서 양식을 정의하고 답변 형식을 유도하는 템플릿
__[Do it! 실습] 목차 작성을 위한 템플릿 만들기
__[Do it! 실습] 목차 작성 템플릿을 활용해 시스템 프롬프트 발전시키기
__스스로 판단하고 작업하는 멀티에이전트
__[Do it! 실습] 스스로 판단하고 작업하는 멀티에이전트 시스템 만들기
_15-3 스스로 리뷰하고 수정하는 에이전트로 발전시키기
__목차 리뷰 에이전트
__[Do it! 실습] 목차 조언 항목 추가하고 business_analyst에 반영하기
__[Do it! 실습] 목차를 검토하는 outline_reviewer 만들기
__[Do it! 실습] 벡터 검색 에이전트도 비즈니스 분석가 에이전트에게 조언하도록 구성하기
__[Do it! 실습] 무한 루프 방지하기
16장 인공지능 더 안전하게 활용하기
_16-1 로컬에서 라마와 임베딩 모델 구동하기
__[Do it! 실습] 메타의 라마 모델을 로컬에서 구동하기
__[Do it! 실습] 라마 기반으로 간단한 챗봇 만들기
__[Do it! 실습] 로컬 임베딩 모델 사용하기
_16-2 LLM에 기반한 서비스 발전시키기
__빠른 답변 vs 사용자가 원하는 답변
__기능 개발이 끝났으면 그때부터 시작이다
찾아보기