▣ 01장: LLM API 프로그래밍 개요
1.1 플레이그라운드에서 LLM 기초 익히기
1.2 더 나은 지침을 작성하는 방법
1.3 LLM 최강자 OpenAI의 API
1.4 구글 제미나이 API 파헤치기
1.5 대한민국 대표 LLM, 업스테이지 솔라 API
1.6 랭체인 기초부터 RAG 구축까지
1.7 스트림릿으로 LLM 웹 애플리케이션 개발
1.8 다중 플랫폼 LLM 애플리케이션 개발
1.9 정리
▣ 02장: OpenAI 플레이그라운드에서 LLM 기초 익히기
2.1 OpenAI 가입과 결제 설정
__OpenAI 가입
__결제 카드 등록
__크레딧 구매
2.2 OpenAI 플레이그라운드 둘러보기
__플레이그라운드에 입장
__Completions
__Chat 모드
__TTS
2.3 Chat 모드와 Complete 모드 비교
__단일 턴과 다중 턴 대화
__텍스트 요약
__코드 완성
2.4 다양한 프롬프트 예제를 보고 배우기
2.5 토큰
__토큰 개념과 토큰 수
__OpenAI의 토큰화 확인하기
2.6 매개변수 조절하기
__Model
__Temperature
__Maximum Tokens
__Stop sequences
__Top P
__Frequency penalty와 Presence penalty
2.7 모델 성능 간단 비교
__텍스트 요약
__질의응답
__물리학 문제 풀이
__대학수학능력 국어 점수
2.8 도구를 활용하는 어시스턴트를 코딩 없이 만들기
__첫 번째 어시스턴트 만들기 - 고민 상담 봇
__코드 인터프리터로 PPT 문서를 제작하는 어시스턴트 만들기
__PDF 파일 등의 ‘지식'을 참고해 답변하는 어시스턴트 만들기
2.9 Realtime
__실시간 대화 체험하기
__Realtime API의 활용 가능성
2.10 생성 빈도 제한
2.11 정리
▣ 03장: 더 나은 프롬프트 작성하기
3.1 구체적으로 지시하기
3.2 적확한 표현을 찾기
__단어 선택에 따라 작동 방식이 달라지는 예
__문장의 어조를 지정하는 예
3.3 부정문보다는 긍정문
3.4 문제에 답을 함께 주기
3.5 제로샷, 원샷, 퓨샷, 매니샷 학습
__제로샷
__원샷
__퓨샷
__매니샷
3.6 수행 단계 나누기
__단순 질의
__프롬프트 연쇄
3.7 CoT: 차근차근 생각하라고 시키기
__예: 사과 12개의 가격 구하기
__예: 숫자를 두 수의 곱으로 나타내기
3.8 출력 형식 지정하기
__답이 여러 개인 주관식 단답형 시험 문제 출제
__LLM별 선호 형식
__구조화된 출력을 얻는 방법
3.9 LLM으로 프로그래밍 SQL 문 생성
__SQL 개요
__LLM을 활용한 자연어 질의 변환
__보안 및 성능상의 위험과 해결 방안
__활용 사례
3.10 멀티모달 모델의 객체 인식 정확도 높이기
3.11 ReAct
__ReAct란?
__ReAct 작동 방식
__ReAct의 이점
__ReAct의 한계
__ReAct 프롬프트 작성 방법
__추가 정보
3.12 검색 증강 생성
__RAG란?
__RAG의 장점
__RAG의 단점 및 한계
__RAG의 문제점 해결 방안
__RAG vs. 큰 컨텍스트
__정리
3.13 프롬프트 엔지니어링의 위협과 보안
__위협의 예
__모범 사례
3.14 정리
3.15 더 읽을 거리
▣ 04장: OpenAI API 프로그래밍
4.1 OpenAI API 키 발급받기
4.2 API 키를 안전하게 보관하기
__API 키를 구글 코랩 보안 비밀에 등록하기
__컴퓨터 환경 변수에 API 키를 등록하기
4.3 OpenAI API 사용해 보기
4.4 대화 기록 쌓기
4.5 OpenAI API의 출력을 구조화하기
__출력 구조화 개요
__JSON 모드와 Structured Outputs 비교
__Pydantic을 활용한 출력 구조화 실습
__JSON 스키마를 활용한 출력 구조화 실습
4.6 OpenAI API를 활용한 임베딩
__임베딩이란?
__OpenAI API로 임베딩 생성
__코사인 유사도
__비슷한 의미를 갖는 단어/문장 찾기
4.7 멀티모달 모델을 활용한 이미지 이해
__웹상의 이미지에 관해 설명하기
__로컬 이미지에 관해 설명하기
__텍스트를 포함한 이미지를 이해
4.8 이미지 생성
__이미지 생성 기본 예제
__여러 장의 이미지를 생성하기
4.9 음성 합성
4.10 위스퍼로 음성 받아쓰기
__패키지 선택 및 설치
__받아쓰기 함수 정의
__오디오 파일 받아쓰기
__유튜브 영상 자막 만들기
__프롬프트로 맥락을 설명하고 자막 만들기
__녹취록 만들기
4.11 Batch API를 활용한 일괄 처리
__감성 분석과 네이버 영화 리뷰 데이터셋
__감성 분석의 다양한 접근 방식
__단일 샘플 감성 분석 테스트
__Batch API를 이용한 감성 분석 예제
__결과 분석 및 모델 선택 가이드
__Batch API 사용 시 주의사항
4.12 유해 텍스트 확인
__모더레이션의 범주
__모더레이션 실습
__한국어 모더레이션의 한계
4.13 어시스턴트 API
__어시스턴트의 주요 구성 요소
__단순한 어시스턴트 ‘쉬운 말 추천 봇 v1’
__어시스턴트 API의 함수 호출 기능
__함수를 활용하는 ‘쉬운 말 추천 봇 v2’
__타빌리 검색 API를 활용해 용어 설명을 작성하는 어시스턴트 만들기
__Assistant API 활용 시 고려할 점
4.14 파인튜닝
__파인튜닝 개요와 장단점
__파인튜닝 실습 개요
__CSV/TSV 데이터 준비
__데이터 가공
__데이터 업로드와 파인튜닝 실행
__테스트
4.15 OpenAI 모델별 API 요금
__GPT-4o
__GPT-4o mini
__o1 시리즈
__GPT-4 Turbo 및 GPT-4
__GPT-3.5 Turbo
__파인튜닝
__오디오 모델
__Realtime API
4.16 정리
▣ 05장: 구글 제미나이 API
5.1 구글 제미나이 API 개요
5.2 제미나이 API 환경 설정
__구글 제미나이 API 키 발급
__주요 모델 및 무료 사용량
__구글 제미나이 AI 환경 변수 설정과 SDK 설치
5.3 제미나이 AI 기본 사용법
__기본 사용법 1 – 싱글턴으로 메시지 주고받기
__기본 사용법 2 – 멀티턴으로 메시지 주고받기(1)
__기본 사용법 3 – 멀티턴으로 메시지 주고받기(2)
5.4 시스템 지침 사용하기
__페르소나 만들기
__답변 형식 지정하기
5.5 제미나이 AI I/O 구조
__제미나이 AI 입력 데이터 구조
__제미나이 AI 출력 데이터 구조
5.6 제미나이 AI 제어하기
__매개변수 설정하기
__안전성 점검하기
5.7 제미나이 API로 유튜브 동영상 인식하기
__유튜브 동영상 인식 파이프라인
__유튜브 동영상 다운로드
__유튜브 동영상 업로드
5.8 File API를 활용해 음성 인식하기
__음성 인식하기
5.9 제미나이로 함수 호출하기
__함수 호출 기초
__LMM의 함수 호출 과정
__함수 호출 구현하기
__스마트폰 주문 챗봇 구현
__2단계 함수 호출 구현하기
5.10 인터넷 검색으로 답변 품질 높이기
__그라운딩 기능 사용하기
__인터넷 검색 통제하기
5.11 OpenAI 호환성
__SDK 없이 API 호출하는 방법
__OpenAI 호환성이 가능한 이유
__OpenAI 호환성 적용 전략
5.12 정리
▣ 06장: 업스테이지 API
6.1 업스테이지 API 개요
__솔라 LLM 기반 API
__문서 처리용 API
6.2 업스테이지 모델 체험하기
__업스테이지 플레이그라운드
__Poe.com에서 채팅
__솔라 번역 모델을 체험할 수 있는 Solar Custom Translate
6.3 업스테이지 회원 가입하고 API 키 받기
6.4 솔라 LLM으로 채팅 구현하기
__공식 문서의 예제 코드 확인
__솔라 챗 API 실습
6.5 솔라 번역 API 활용하기
__솔라 번역 API 기본 사용법
__번역 예시를 함께 입력하기
6.6 솔라 임베딩 API
__간단한 임베딩 예시
__임베딩 함수 정의
__비슷한 속담 찾기
6.7 문서 OCR 사용해 보기
6.8 웹에서 이미지를 크롤링하고 텍스트를 추출해 질의응답
__API 키 준비
__이미지 가져오기
__이미지에서 텍스트 추출
__질의응답
6.9 업스테이지 API를 활용한 애플리케이션 소개
6.10 정리
▣ 07장: 랭체인과 플로와이즈
7.1 랭체인 개요
__랭체인 프레임워크
__파이썬과 자바스크립트용 랭체인
__랭체인 버전별 주요 변화
__LCEL
__랭체인에 관한 비판과 개선
__랭체인 기반 로코드/노코드 도구
__랭체인의 대안
7.2 플로와이즈로 코딩 없이 랭체인 활용하기
__Node.js 설치
__플로와이즈 설치와 실행
__간단한 챗봇 만들기
__플로와이즈에서 사용할 수 있는 다양한 노드들
__플로와이즈로 제품 카탈로그 챗봇 만들기
7.3 랭체인의 구성 요소
__Model I/O
__검색
__조합
__추가 구성 요소
7.4 랭체인 기본 실습
__솔라 API를 활용한 간단한 질의응답 및 채팅
__언어 모델 교체하기
__프롬프트 템플릿
7.5 LCEL
__LCEL 개요
__LCEL 실습
7.6 타빌리 검색 도구를 사용하는 에이전트
7.7 제미나이, 랭체인, 크로마DB를 활용해 RAG 시스템 구축하기
__준비 작업하기
__벡터 DB 만들어 보기
__벡터 DB 기반 질의응답 프로그램 만들기
7.8 웹 스크레이핑과 요약
__주피터 실습 환경 구성
__파이썬 실습
7.9 맞춤 로더 제작
__패키지 설치
__API 키를 환경 변수에 설정
__로더 클래스 정의
__위키독스 책 내용을 로드
__색인 생성과 질의응답
7.10 Runnable을 활용한 다국어 리뷰 감성 분석 시스템 구축
__Runnable 개념 소개
__실습 코드 개요
__언어 감지 설정
__다국어 리뷰 감성 분석 시스템 구축 준비
__번역 기능 구현
__감성 분석 및 키포인트 추출 설정
__Runnable 컴포넌트 정의
__전체 워크플로 구성
__시스템 실행 및 결과 분석
7.11 랭서브로 노랫말 생성기 웹 앱 만들기
__코드 작성
__웹서버 실행 및 테스트
__API 문서 자동 생성
__API 호출
__실습 종료
7.12 랭스미스
__랭스미스의 주요 기능
__API 키 발급받기
__코드 실습
7.13 정리
▣ 08장: 스트림릿으로 인공지능 웹 애플리케이션 만들기
8.1 스트림릿 기초
__첫 번째 스트림릿 앱 만들기
__스트림릿 앱 실행과 종료
__스트림릿 앱의 기본 구조
__파인튜닝용 데이터 변환기 만들기
__BMI를 계산하고 차트를 그리는 스트림릿 앱 만들기
__비밀 정보를 안전하게 저장하기
8.2 시험 문제를 출제하는 스트림릿 앱 만들기
8.3 상품평을 분류하고 시각화하는 스트림릿 앱 만들기
8.4 제미나이 API를 활용해 스트림릿 챗봇 만들기
__캐싱과 세션 스테이트
__메시지 컨테이너
__제미나이 챗봇 단계별 구현하기
__응답 방식 개선하기
8.5 이미지를 설명하는 스트림릿 앱 만들기
8.6 DALL·E 3로 이미지를 생성하는 스트림릿 앱 만들기
8.7 유튜브 영상 자막을 추출하고 콘텐츠를 생성하는 스트림릿 앱 만들기
__실습 준비
__유튜브 영상 제목과 설명을 가져오는 함수
__영상 설명에서 키워드를 추출하는 함수
__영상의 음성을 다운로드하는 함수
__음성에서 텍스트를 추출하는 함수
__콘텐츠 유형
__요약, 에세이, 블로그, 비평 생성
__녹취록/자막 번역
__실행
8.8 이미지에서 텍스트를 추출하고 요약하는 스트림릿 앱 만들기
8.9 영수증 이미지를 분석하는 스트림릿 앱 만들기
__1단계: 영수증 이미지를 업로드받아 화면에 출력
__2단계: 영수증 정보를 추출해 화면에 출력
__3단계: 지출 내역 자동 분류 기능을 추가해 완성
8.10 파인튜닝한 모델을 사용하는 문장 교정기 만들기
__문장 교정기 개요
__AsyncOpenAI 소개
__문장 교정기 구현
__앱 실행 및 활용
__추가 예제
8.11 스트림릿과 랭체인을 활용한 챗봇 만들기
8.12 정리
▣ 09장: Flet 프레임워크와 LLM API를 활용해 다국어 채팅 앱 만들기
9.1 Flet 프레임워크 소개
9.2 Flet 개발을 위한 환경 구성
__가상 환경 활성화
__Flet 설치
9.3 첫 번째 Flet 앱 만들기
__Flet 프로젝트 생성
__코드 설명
__Flet 앱 실행
9.4 기본적인 채팅 앱 만들기
__채팅 앱의 기본 구조 이해하기
__기본적인 Flet 채팅 앱 만들기
__입장할 때 사용자 이름 입력받기
__로그인 및 채팅 메시지 구분
__메시지 표시 방식 변경
9.5 다국어 채팅 번역 기능 추가 및 완성
__앱 생성
__코드 설명
__앱 실행
▣ 부록A: 모델별 토큰 사용량 비교
A.1 OpenAI 모델
__GPT-3.5 Turbo, GPT-4 Turbo, GPT-4
__GPT-4o, GPT-4o mini
A.2 Gemini Pro
A.3 Solar
A.4 비교
▣ 부록B: 구글 클라우드에서 버텍스 제미나이 사용하기
B.1 버텍스 제미나이에 도달하는 논리적 경로
B.2 구글 클라우드 플랫폼에서 버텍스 AI 시작하기
__구글 클라우드 플랫폼 가입하기
__서비스 계정 만들기
__Vertex AI API 사용 설정하기
__버텍스 제미나이 API 정상 작동 확인
▣ 부록C: .NET에서 OpenAI API 사용하기
C.1 OpenAI API 키 준비
C.2 비주얼 스튜디오 설치
C.3 새 프로젝트 생성
C.4 OpenAI 패키지 설치
C.5 예제 코드 작성
C.6 코드 실행
▣ 부록D: OpenAI Realtime API 실습
D.1 Node.js 설치
D.2 예제 소스 코드 다운로드
__첫 번째 방법: 압축 파일 다운로드해서 풀기
__두 번째 방법: Git 저장소 복제
D.3 OpenAI API 키 준비
D.4 예제 코드 실행
__릴레이 서버 실행
__리얼타임 콘솔 실행
__리얼타임 콘솔 테스트
▣ 부록E: LLM 애플리케이션 안정성을 위한 가드레일
E.1 가드레일의 개념과 필요성
__가드레일의 종류
__가드레일이 없는 경우와 있는 경우의 차이
E.2 Guardrails AI 시작하기
__가입 및 API 키 발급
__설치 및 기본 설정
__Guardrails Hub
__RegexMath를 사용해 전화번호 검출하기
__Dectec PII를 사용해 개인 식별 정보 검출 및 마스킹
__Valid SQL로 SQL 문 유효성 검사
__맞춤 검출기로 개인 식별 정보 마스킹
E.3 마무리
E.4 참고 자료