AI와 데이터 사이언스 API (FastAPI를 활용한 실전 예제로 배우는 파이썬 개발)

AI와 데이터 사이언스 API (FastAPI를 활용한 실전 예제로 배우는 파이썬 개발)

$33.00
Description
데이터에서 API로, API에서 제품으로,
실무 전 과정을 직선으로 만드는 가장 빠른 방법
이 책은 데이터 수집과 모델 학습, API 구축·배포·문서화·SDK까지 데이터 사이언스 전 과정을 실전 예제로 하나로 잇는다. FastAPI·SQLAlchemy·Pydantic을 기반으로 REST 설계와 OpenAPI, 인증·테스트, 도커, Render·AWS 배포, PyPI 배포를 한 흐름으로 설명한다. 판타지 스포츠 도메인을 활용해 개념을 곧바로 코드와 서비스로 연결하고 포트폴리오로 증명하는 방법을 제시한다. 또한 주피터와 pandas로 분석을 수행하고 Airflow로 파이프라인을 자동화하며 Streamlit 대시보드로 “만든 API를 실제로 쓰는” 가치를 보여준다. 더 나아가 ONNX, LangChain, 챗GPT를 통해 생성형 AI가 API를 호출하는 에이전트형 애플리케이션까지 확장한다. 결과적으로 데이터 사이언티스트와 백엔드·API 설계자, 구직·이직 준비자 모두에게 즉시 통하는 실무 가이드를 제공한다.
저자

라이언데이

RyanDay
미국주립은행감독관협의회(CSBS,ConferenceofStateBankSupervisors)의선임데이터사이언티스트다.연방기관디지털서비스부서에서클라우드,데이터사이언스,API개발을이끌었으며,FastAPI프로젝트에서코드리뷰와QA활동도하고있다.
AWS솔루션스아키텍트(solutionsarchitect)자격증을보유하고있으며,미국비즈니스경제학협회(NationalAssociationofBusinessEconomics)회원이다.흥미로운데이터를끊임없이생성하는판타지풋볼이본인이오랫동안몰두해온주제이기때문에,데이터사이언스및코딩프로젝트에판타지풋볼을적극적으로활용하고있다.

목차

추천의글
지은이소개
옮긴이소개
옮긴이의말
들어가며

1부|데이터사이언스를위한API개발

1장데이터사이언티스트를위한API만들기
데이터사이언티스트는API를어떻게활용할까?
데이터사이언티스트는어떤도구를사용할까?
데이터사이언티스트를위한API설계
1부포트폴리오프로젝트소개
모든API에는스토리가있다
__SportsWorldCentral회사소개
__SWC에API가필요한이유
첫번째API제품선택
__잠재사용자식별
__사용자스토리만들기
참고자료
요약

2장API아키텍처선택
API아키텍처스타일
__상태전이표현
__GraphQL
__gRPC
__우리의선택:REST
기술아키텍처
2장에서사용하는소프트웨어
__파이썬
__GitHub
GitHubCodespace시작하기
__GitHub계정만들기
__1부저장소복제하기
__GitHubCodespace실행하기
__Codespace환경둘러보기
__첫번째커밋하기
참고자료
요약

3장데이터베이스만들기
API구성요소
3장에서사용하는소프트웨어
__SQLite
__SQLAlchemy
__pytest
SQLite데이터베이스만들기
__데이터베이스테이블만들기
__테이블구조이해하기
__데이터불러오기
파이썬을사용해데이터에접근하기
__사용자환경에SQLAlchemy설치하기
__데이터베이스접근을위한파이썬파일만들기
__데이터베이스구성파일만들기
__SQLAlchemy도우미함수만들기
__환경에pytest설치하기
__SQLAlchemy코드테스트하기
참고자료
요약

4장FastAPI코드개발
포트폴리오프로젝트진행
4장에서사용하는소프트웨어
__FastAPI
__HTTPX
__Pydantic
__Uvicorn
3장프로젝트파일복사하기
Codespace에새라이브러리설치하기
API용파이썬파일만들기
__Pydantic스키마정의하기
__FastAPIController만들기
API테스트
API실행하기
참고자료
요약

5장API문서화
신뢰확보하기
좋은API문서만들기
__핵심기능
__추가기능
실제API문서살펴보기
__Sleeper애플리케이션
__MyFantasyLeague
__Yahoo!판타지풋볼
API내장문서확인하기
__4장프로젝트파일복사하기
__문서화옵션1:SwaggerUI
__문서화옵션2:Redoc
OAS파일
포트폴리오프로젝트이어하기
__OASinfo객체에세부정보추가하기
__경로분류를위한태그추가하기
__개별엔드포인트에세부정보추가하기
__쿼리매개변수설명추가하기
__SwaggerUI에서변경사항확인하기
__API회귀테스트
README.md파일업데이트하기
참고자료
요약

6장클라우드에API배포하기
클라우드배포의장점과책임
__장점
__책임
클라우드호스트선택방법
프로젝트디렉터리설정
GitHubCodespace를클라우드호스트로사용하기
Render에API배포하기
__Render계정만들기
__새웹서비스만들기
__API변경사항자동배포하기
도커컨테이너로애플리케이션배포하기
__도커주요용어정리
__도커설치여부확인하기
__도커파일만들기
__.dockerignore파일만들기
__컨테이너이미지빌드하기
__로컬에서컨테이너이미지실행하기
AWS에애플리케이션배포하기
__Lightsail컨테이너서비스만들기
__AWSCLI설치하기
__AmazonLightsail컨테이너서비스플러그인설치하기
__로그인자격증명구성하기
__컨테이너이미지를Lightsail로푸시하기
__Lightsail배포만들기
API문서업데이트
참고자료
요약

7장바로사용할수있는파이썬SDK만들기
SDK는사용자와API의간극을메워준다
SDK개발언어선택전략
최소기능SDK로시작하기
__전문가의조언:SDK를쉽게설치하도록만들어야한다
__전문가의조언:일관되고자연스러운파이썬스타일의SDK를만들어야한다
다양한기능을갖춘SDK만들기
__전문가의조언:합리적인기본값을사용해야한다
__전문가의조언:다양한기능을제공해야한다
__전문가의조언:의미있는로그를남겨야한다
__전문가의조언:API의복잡한세부사항은숨겨야한다
__전문가의조언:대용량다운로드기능을지원해야한다
__전문가의조언:SDK문서를만들어야한다
__SDK테스트
__전문가의조언:모든API작업을SDK로지원해야한다
1부프로젝트를마무리하며
참고자료
요약

2부|데이터사이언스프로젝트에서API활용하기

8장데이터사이언티스트가API에관해알아야할것들
다양한API스타일활용하기
HTTP기본사항
API를책임감있게사용하는방법
관심사분리:API호출코드분리와SDK활용의중요성
API를만드는방법
API테스트방법
API배포및컨테이너화
버전관리시스템의중요성
2부포트폴리오프로젝트소개
GitHubCodespace실행하기
__2부저장소복제하기
__GitHubCodespace실행및설정
로컬에서SWCAPI실행하기
참고자료
요약

9장데이터분석을위한API활용
스포츠분석을위한사용자정의측정지표
판타지사용자정의측정지표를위한API데이터소스
샤크리그점수사용자정의측정지표만들기
9장에서사용하는소프트웨어
__httpx
__주피터노트북
__pandas
Codespace에새라이브러리설치하기
Codespace에서API실행하기
API클라이언트파일만들기
주피터노트북생성및환경설정
노트북설정하기
API데이터활용하기
리그균형점수계산
라인업효율성점수계산
샤크리그점수계산
참고자료
요약

10장데이터파이프라인에서API활용하기
데이터파이프라인의데이터소스유형
데이터파이프라인구축계획
ApacheAirflow로데이터파이프라인오케스트레이션하기
GitHubCodespace에ApacheAirflow설치하기
로컬분석용데이터베이스만들기
Codespace에서API실행하기
Airflow연결설정
첫번째DAG만들기
공유함수만들기
DAG실행하기
요약

11장Streamlit데이터애플리케이션에서API사용하기
대화형시각화로사용자참여유도하기
11장에서사용하는소프트웨어
__nfl_data_py
__Streamlit
Streamlit및nfl_data_py설치하기
Codespace에서API실행하기
9장API클라이언트재사용하기
Streamlit애플리케이션만들기
진입점파일업데이트
Streamlit애플리케이션실행하기
팀선수명단페이지만들기
팀통계페이지만들기
Streamlit애플리케이션배포하기
2부프로젝트를마무리하며
참고자료
요약

3부|API로AI활용하기

12장API로AI활용하기
AI와API의접점
생성형AI와LLM이사용할API설계하기
AI의정의
생성형AI와LLM
에이전트형AI애플리케이션만들기
3부포트폴리오프로젝트소개
GitHubCodespace시작하기
__3부저장소복제하기
__GitHubCodespace실행및설정
참고자료
요약

13장머신러닝API배포하기
머신러닝모델학습과정
13장에서사용하는소프트웨어
__ONNXRuntime
__scikit-learn
__sklearn-onnx
Codespace에새라이브러리설치하기
CRISP-DM프로세스사용하기
비즈니스이해
데이터이해
데이터준비
모델링
평가
배포
참고자료
요약

14장LangChain을활용해API사용하기
AI를사용해API호출하기(LangChain활용)
LangGraph에이전트만들기
__Anthropic가입하기
__GitHubCodespace실행하기
Codespace에새라이브러리설치하기
주피터노트북만들기
LangGraph에이전트와대화하기
로컬에서SWCAPI실행하기
swcpySDK설치하기
LangChain툴킷만들기
AI를사용해API호출하기(LangGraph활용)
에이전트와대화하기(도구사용)
참고자료
요약

15장챗GPT를사용해API호출하기
애플리케이션아키텍처
챗GPT시작하기
사용자정의GPT만들기
GitHubCodespace실행하기
GitHubCodespace에서SWCAPI실행하기
OAS파일에서버정보추가하기
GPT작업만들기
GPT에서API테스트하기
사용자정의GPT와대화하기
3부포트폴리오프로젝트마무리
요약

찾아보기

출판사 서평

◈내용소개◈


1. 설계부터배포까지한번에!

이책은요구정의와사용자스토리에서출발해REST선택,데이터모델링,엔드포인트설계를차근차근완성해나간다.이어서FastAPI·SQLAlchemy·Pydantic을활용해타입안정성과유지보수성을확보하고,OpenAPI기반문서를통해팀협업을더욱정교하게다듬는다.회귀테스트와도커컨테이너로안정적인릴리스흐름을마련한뒤,Render와AWS로배포해실제운영환경까지준비한다.마지막으로파이썬SDK를PyPI에배포해일관된사용경험과재사용성을제공하며,API실무의처음부터끝까지한번에완주할수있도록안내한다.

2. 만든순간쓰이는마법

이책에서다루는노트북·파이프라인·대시보드는‘만드는즉시가치가드러나는’실무도구들이다.httpx클라이언트로API를호출해주피터와pandas에서지표를계산하고인사이트를도출할수있으며,Airflow로증분수집과의존성을관리해반복가능한데이터파이프라인을구축할수있다.여기에Streamlit으로대화형시각화를제공하면사용자참여와의사결정속도가동시에높아진다.나아가API소비자관점에서의모범사례를통해,데이터가어떻게실제제품가치로전환되는지자연스럽게확인할수있다.

3. 모델을서비스로!

이책은ONNX·LangChain·챗GPT를활용해모델을실제서비스로전환하는과정을일관되게보여준다.우선scikit-learn모델을ONNX로변환해추론성능과이식성을끌어올리고,FastAPI를통해예측엔드포인트를공개한다.여기에인증·인가를더해보안경계를확보하고,운영환경에맞는설정을갖춰실서비스수준으로완성한다.이후LangChain과LangGraph로도구호출형에이전트를구성해API오케스트레이션을자동화하고,챗GPT와OAS를연동해대화형워크플로까지확장함으로써,모델이실제사용자경험으로자연스럽게이어지도록돕는다.


◈이책의대상독자및이책에서다루는내용◈

이책은API,AI,데이터사이언스의접점에있는내용을다루는만큼,다음세가지유형의독자에게특히유용하다.

데이터사이언티스트
데이터사이언티스트(datascientist)들은항상API를사용하지만,‘RESTAPI호출은코드몇줄이면구현할수있다’라는이유로API사용에대해새로배울것이없다고생각하기쉽다.실제로RESTAPI는호출이간단하며,그점이API확산의한이유가됐다.하지만안정적이고견고하며제공자에게부담을주지않는탄력적인방식으로API를사용하려면더세심한접근이필요하다.
이책을통해배울수있는핵심기술은다음과같다.

●API개발및배포하기
●소프트웨어개발키트(SDK,SoftwareDevelopmentKit)및API클라이언트개발하기
●파이썬(Python)패키지를만들어PyPI에배포하기
●머신러닝모델을API로배포하기
●Streamlit기반데이터애플리케이션개발하기
●Airflow데이터파이프라인구축하기
●LangChain과챗GPT(ChatGPT)를활용한생성형AI애플리케이션개발하기

API개발자및설계자
API개발자와설계자는중요한새사용자층을위해API를강화하는방법을배울수있다.데이터사이언티스트가하는일,수행하는작업,선호하는API기능등을배우게된다.또한생성형AI애플리케이션이API를호출하는방법과API에필요한기능에대해서도배울수있다.
그리고실습예제를통해다음과같은다양하고새로운기술을배울수있다.

●FastAPI,SQLAlchemy,Pydantic을사용하는파이썬API개발하기
●도커(Docker)로API컨테이너화하기
●클라우드호스트에API배포하기
●파이썬SDK를만들어PyPI에배포하기
●LangChain과챗GPT를사용해생성형AI애플리케이션개발하기

구직자및이직자
위에서소개한기술들은현장에서많이필요로하는기술이므로,이기술을배우면데이터사이언스나소프트웨어개발분야에서첫직장을찾거나새로운역할에도전하는데큰도움이될것이다.이책은포트폴리오프로젝트를중심으로구성했다.이를통해구체적인목표를달성해실력을증명하는가시적인성과물을만들수있다.