길벗·이지톡

도서 IT전문서/IT입문서 인공지능

트랜스포머부터 NLP, 비전, 파인튜닝, RAG, 에이전트까지, 허깅페이스로 익히는 실전 AI 시스템

허깅페이스는 모델과 라이브러리, 개발 도구를 한곳에서 활용할 수 있어 오늘날 AI 개발에서 빼놓기 어려운 플랫폼으로 자리잡았습니다. 이 책은 트랜스포머와 허깅페이스 허브의 기본 사용법부터 자연어 처리, 컴퓨터 비전, 데이터셋 활용, 모델 파인튜닝, 멀티모달 모델까지 차근차근 다루며, 이후에는 랭체인과 라마인덱스를 활용한 LLM 애플리케이션, RAG 기반 질의응답, 에이전트, 그라디오 웹 인터페이스, GPT4All을 이용한 로컬 LLM, MCP를 활용한 외부 도구 연동으로 확장해 나갑니다. 이론만 길게 설명하기보다 코드와 예제를 중심으로 설명하므로, 파이썬과 넘파이, 판다스를 사용할 수 있는 독자라면 AI 개발 경험이 많지 않아도 충분히 시작할 수 있습니다.

 

목차

1장 허깅페이스란

1.1 허깅페이스 트랜스포머 라이브러리

1.2 허깅페이스 모델

1.3 허깅페이스 그라디오 파이썬 라이브러리

1.4 허깅페이스 멘탈 모델 이해

1.5 요약

 

2장 시작하기

2.1 아나콘다 내려받기

__2.1.1 가상 환경 구축하기

__2.1.2 주피터 노트북 시작하기

2.2 트랜스포머 라이브러리 설치

__2.2.1 GPU 지원 확인하기

__2.2.2 파이프라인 객체에서 GPU 활용하기

2.3 허깅페이스 허브 패키지 설치

__2.3.1 파일 내려받기

__2.3.2 허깅페이스 CLI 사용법 안내

2.4 요약

3장 NLP 업무를 위한 허깅페이스 트랜스포머와 파이프라인 사용

3.1 트랜스포머 아키텍처 소개

__3.1.1 토큰화

__3.1.2 토큰 임베딩

__3.1.3 위치 인코딩

__3.1.4 트랜스포머 블록

__3.1.5 소프트맥스

3.2 트랜스포머 라이브러리 다루기

__3.2.1 사전 학습된 트랜스포머 모델이란

__3.2.2 트랜스포머 파이프라인이란

__3.2.3 모델 직접 사용하기

__3.2.4 트랜스포머 파이프라인 사용하기

3.3 NLP 작업에 트랜스포머 활용

__3.3.1 텍스트 분류

__3.3.2 텍스트 생성

__3.3.3 텍스트 요약

__3.3.4 텍스트 번역

__3.3.5 제로샷 분류

__3.3.6 질의응답 작업

3.4 요약

 

4장 허깅페이스를 컴퓨터 비전 작업에 활용

4.1 허깅페이스 컴퓨터 비전 모델

4.2 객체 탐지

__4.2.1 모델을 직접 사용하기

__4.2.2 트랜스포머 파이프라인 사용하기

__4.2.3 웹캠에 바인딩하기

4.3 이미지 분류

4.4 이미지 분할

__4.4.1 모델을 프로그래밍 방식으로 사용하기

__4.4.2 그라디오에 바인딩하기

4.5 비디오 분류

__4.5.1 필수 소프트웨어 설치하기

__4.5.2 테스트를 위한 비디오 내려받기

__4.5.3 트랜스포머 파이프라인 객체 사용하기

4.6 요약

 

 

 

5장 허깅페이스 데이터셋 탐색, 토큰화, 시각화

5.1 허깅페이스 데이터셋이란

__5.1.1 이용 가능한 데이터셋 목록 얻기

__5.1.2 데이터셋의 가용성 검증

__5.1.3 데이터셋 내려받기

__5.1.4 데이터셋 셔플링

__5.1.5 데이터셋 스트리밍

__5.1.6 데이터셋의 Parquet 파일 얻기

5.2 NLP에서 토큰화

__5.2.1 토큰화 방법의 유형

__5.2.2 데이터셋 토큰화

5.3 데이터셋 시각화

__5.3.1 twitter-financial-news-topic 데이터셋 사용하기

__5.3.2 CIFAR-10 데이터셋 사용하기

5.4 요약

 

6장 사전 학습된 모델 파인 튜닝과 멀티모달 모델 작업

6.1 사전 학습된 모델 파인 튜닝

__6.1.1 yelp_polarity 데이터셋 로드하기

__6.1.2 yelp_polarity 데이터셋 필터링하기

__6.1.3 축소된 데이터셋 토큰화하기

__6.1.4 시퀀스 분류를 위한 사전 학습된 모델 설정하기

__6.1.5 사전 학습된 모델 파인 튜닝을 위한 트레이너 구성 및 초기화

__6.1.6 파인 튜닝된 모델 사용하기

__6.1.7 다중 클래스 텍스트 분류를 위한 모델 파인 튜닝

6.2 멀티모달 모델 작업하기

__6.2.1 단일 모달 모델

__6.2.2 멀티모달 모델

6.3 요약

 

 

7장 랭체인과 라마인덱스를 사용한 LLM 기반 애플리케이션 구축

7.1 LLM 소개

7.2 랭체인 소개

__7.2.1 랭체인 설치하기

__7.2.2 프롬프트 템플릿 생성하기

__7.2.3 LLM 지정하기

__7.2.4 LLM 체인 생성하기

__7.2.5 체인 실행하기

__7.2.6 대화 유지하기

__7.2.7 RunnableWithMessageHistory 클래스 사용하기

__7.2.8 다른 LLM 사용하기

7.3 라마인덱스로 LLM을 개인 데이터에 연결

__7.3.1 패키지 설치하기

__7.3.2 문서 준비하기

__7.3.3 문서 로드하기

__7.3.4 임베딩 모델 사용하기

__7.3.5 문서 인덱싱하기

__7.3.6 임베딩 로드하기

__7.3.7 쿼리를 위해 LLM 사용하기

__7.3.8 질문하기

__7.3.9 OpenAI와 라마인덱스 사용하기

__7.3.10 앱을 위한 웹 프론트엔드 생성하기

__7.3.11 대화 유지하기

__7.3.12 챗봇 UI 생성하기

7.4 요약

 

8장 랭플로우를 활용한 시각적 랭체인 애플리케이션 구축

8.1 랭플로우란

__8.1.1 pip 명령어를 사용하여 랭플로우 설치하기

__8.1.2 도커를 이용한 랭플로우 설치하기

__8.1.3 클라우드에서 랭플로우 실행하기

8.2 새로운 랭플로우 프로젝트 생성

__8.2.1 프롬프트 컴포넌트 추가하기

__8.2.2 Models 컴포넌트 추가하기

__8.2.3 Chains 컴포넌트 추가하기

__8.2.4 Chat Input 및 Chat Output 컴포넌트 추가하기

__8.2.5 프로젝트 테스트하기

__8.2.6 Chat Memory 컴포넌트를 이용한 대화 유지

8.3 고유 데이터를 활용한 질의응답

__8.3.1 File 컴포넌트를 이용한 PDF 문서 불러오기

__8.3.2 Parse Data 컴포넌트를 이용한 긴 텍스트 분할하기

__8.3.3 Prompt 컴포넌트를 통한 질문 수집

__8.3.4 HuggingFace 컴포넌트 활용하기

__8.3.5 Chat Output 컴포넌트에 연결하기

__8.3.6 프로젝트 테스트하기

__8.3.7 OpenAI 컴포넌트를 활용한 LLM 사용하기

8.4 프로그래밍 방식으로 프로젝트 활용

__8.4.1 cURL 활용하기

__8.4.2 파이썬 코드

8.5 요약

 

9장 에이전트 프로그래밍

9.1 에이전트란

9.2 스몰에이전트를 사용한 에이전트 개발

__9.2.1 내장 도구 활용: DuckDuckGoSearchTool

__9.2.2 내장 도구 활용: PythonInterpreterTool

__9.2.3 사용자 정의 도구 작성하기

9.3 랭체인을 사용한 에이전트 개발

__9.3.1 내장 Tool 클래스 활용하기

__9.3.2 사용자 정의 도구 활용하기

9.4 랭그래프를 사용한 에이전트 개발

__9.4.1 랭그래프란

__9.4.2 랭그래프 에이전트 기초

__9.4.3 도구와 함께 랭그래프 사용하기

__9.4.4 사용자 정의 도구와 함께 랭그래프 사용하기

__9.4.5 메모리 기능을 포함한 랭그래프 사용하기

9.5 요약

 

10장 그라디오를 사용한 웹 기반 UI 구축

10.1 그라디오 기초

__10.1.1 그라디오의 Interface 클래스 사용법

__10.1.2 플래깅(Flagging) 옵션 설정하기

__10.1.3 인증(authentication) 설정하기

__10.1.4 서버 및 포트 커스터마이징

__10.1.5 그라디오 애플리케이션 공유하기

__10.1.6 그라디오 애플리케이션을 허깅페이스 스페이스에 배포하기

10.2 위젯 활용

__10.2.1 Textbox 활용하기

__10.2.2 Audio 활용하기

__10.2.3 Images 활용하기

__10.2.4 선택 위젯(selection widgets) 활용하기

__10.2.5 TabbedInterface 클래스를 사용하여 레이아웃 구성하기

10.3 챗봇 UI 생성

__10.3.1 기본 챗봇 UI 생성하기

__10.3.2 Textbox 전송(submit) 이벤트 연결하기

__10.3.3 챗봇 초기화 기능 구현하기

10.4 요약

 

11장 GPT4All을 이용한 로컬 실행 LLM 애플리케이션 구축

11.1 GPT4All 소개

11.2 GPT4All 설치 및 사용

__11.2.1 GPT4All 애플리케이션 설치하기

__11.2.2 gpt4all 파이썬 라이브러리 설치하기

__11.2.3 지원 모델 목록 확인하기

__11.2.4 특정 모델 로드하기

__11.2.5 질문하기

__11.2.6 그라디오와 연동하기

11.3 요약

 

12장 LLM을 이용한 로컬 데이터 쿼리

12.1 GPT4All로 고유 데이터 쿼리

__12.1.1 필수 패키지 설치 및 랭체인 모듈 임포트하기

__12.1.2 랭체인 패키지에서 다양한 모듈 임포트하기

__12.1.3 PDF 문서 로드하기

__12.1.4 텍스트를 청크로 분할하기

__12.1.5 임베딩(embedding)하기

__12.1.6 임베딩 로드하기

__12.1.7 모델 내려받기

__12.1.8 질문하기

__12.1.9 여러 문서 로드하기

__12.1.10 CSV 파일 로드하기

__12.1.11 JSON 파일 로드하기

12.2 LLM을 이용한 데이터 분석 코드 작성

__12.2.1 JSON 파일 준비 및 로드하기

__12.2.2 JSON 파일 로드하기

__12.2.3 Mistral 7B 모델을 사용하여 질문하기

__12.2.4 OpenAI를 사용하여 질문하기

12.3 요약

 

13장 LLM을 현실 세계와 연결: 모델 컨텍스트 프로토콜

13.1 MCP란

__13.1.1 MCP가 해결하는 문제

__13.1.2 MCP 이해하기

__13.1.3 MCP 서버 배포 및 구성 요소

__13.1.4 MCP 서버의 구성 요소

13.2 MCP 서버 구축

__13.2.1 uv 설치하기

__13.2.2 프로젝트 초기화하기

__13.2.3 패키지 설치하기

__13.2.4 MCP 서버 생성하기

__13.2.5 MCP 서버 점검하기

__13.2.6 Resources 구현하기

__13.2.7 Tools 구현하기

__13.2.8 프롬프트 구현하기

__13.2.9 구성 요소 테스트하기

13.3 클로드 데스크톱을 이용한 MCP 서버 테스트

__13.3.1 MCP 서버를 사용하도록 클로드 데스크톱 구성하기

__13.3.2 날씨 정보 가져오기

__13.3.3 텍스트 파일의 내용 가져오기

__13.3.4 PDF 파일의 내용 가져오기

__13.3.5 MCP 서버 개선하기

13.4 서드파티 MCP 서버 시도

__13.4.1 내 위치 가져오기(Get My Location)

__13.4.2 날짜 및 시간 정보(mcp-datetime)

13.5 요약

 

더보기접기

저자&기여자

ㆍ지은이 웨이멍 리

소개
기술 전문가이자 기업들이 최신 IT 기술을 도입하도록 돕는 전문 기업 Developer Learning Solutions(http://calender.learn2develop.net)의 설립자. 기업들이 비즈니스에 블록체인과 AI 솔루션을 도입할 수 있도록 컨설팅 서비스를 제공하고 있다.

ㆍ옮긴이 박지은

소개
자동차 SW 전문 기업에서 7년차 엔지니어로 근무하고 있다. 임베디드부터 클라우드까지 다양한 개발 경험을 가지고 있으며, 사내 AI 프로젝트에서 프로젝트 매니저(PM)를 맡고 있다. 전자공학을 전공하고, 컴퓨터 비전으로 석사 학위를 받았으며, 최근에는 기업 환경에 에이전트를 도입하는 일에 집중하고 있다. 고객 중심의 사고를 하고자 노력하며, 세상에 의미 있는 변화를 남기는 일에 관심이 있다.

저작권 안내

모든 자료는 저작권법의 보호를 받는 저작물로, 허락 없이 편집하거나 다른 매체에 옮겨 실을 수 없습니다.
인공지능(AI) 기술 또는 시스템을 훈련하기 위해 자료의 전체 내용은 물론 일부도 사용하는 것을 금지합니다.

All materials are protected by copyright law and may not be edited or reproduced in other media without permission.
It is prohibited to use all or part of the materials, including for training artificial intelligence (AI) technologies or systems, without authorization.

연관 프로그램

아래 프로그램은 길벗출판사가 제공하는 것이 아닙니다.
무료로 사용할 수 있는 정보를 안내해 드리니, 지원이 필요하면 해당 프로그렘 제작사로 문의해 주세요.