📌 강의 요약 – Project 1: Building AI Assistant with ChatGPT
1. 프로젝트 개요
- 본 섹션은 ChatGPT를 활용하여 AI Assistant(챗봇)를 구축하는 실습 프로젝트입니다.
- 목표: 사용자 맞춤형 데이터 기반 AI 챗봇 구현.
- 활용 모델: OpenAI의 GPT 계열 모델 (예: GPT-4 Turbo).
- 접근 방식: OpenAI Playground와 Python을 이용한 프로그래밍 방식 구현 .
2. 사전 준비 (Pre-requisites)
- OpenAI 계정 생성 및 Billing 설정(최소 $5 충전 필요) .
- API Key 생성: “Create new secret key”를 통해 발급 → 한 번만 표시되므로 별도 저장 필요 .
3. OpenAI Playground 소개
- 사용자 친화적 인터페이스로 ChatGPT와 상호작용 가능.
- 기능:
- 모델 및 메시지 커스터마이징
- 다양한 사용 사례(use cases) 지원
- Assistants API를 Playground 내에서 바로 사용 가능 .
4. Assistants API 개요
- 역할: 애플리케이션 내부에 AI Assistant를 생성할 수 있는 API.
- 특징
- Assistant는 명령어(instructions)를 가질 수 있음.
- 모델, 외부 도구, 사용자 지식 파일을 활용 가능.
- 지원 도구
- Code Interpreter – Python 코드 실행, 데이터 처리 및 시각화.
- Retrieval – 외부 문서(예: story.txt) 검색 및 답변 .
- Function Calling – 정의된 함수 호출 가능 .
5. Assistant 통합 절차
- Assistant 생성: 이름, instruction, 모델, 도구 선택.
- Conversation 시작: Thread 생성.
- 사용자 입력: Thread에 메시지 추가.
- Assistant 실행: Thread 기반으로 응답 생성, 필요시 자동 도구 호출 .
6. Hands-on 실습
- Playground 활용
- 예시: story.txt 파일 업로드 후 “이 이야기의 주인공은 누구인가?” 질문 → Retrieval 기능을 통해 문서 기반 답변 제공 .
- 출력: Dr. Michael Greene (발명가, Lumina 디바이스 창시자) .
- Python 코드 기반 구현
- OpenAI 라이브러리 설치 (pip install openai) .
- API Key 인증 후 Assistant 객체 생성.
- 파일 업로드(story.txt) → file ID 발급.
- Assistant에 파일 연결 후 Thread 생성.
- 메시지 전송 및 Assistant Run 실행 → 응답 수신 .
7. 핵심 요약
- Assistants API = 맞춤형 AI 챗봇 개발 핵심 도구
- 세 가지 주요 도구(Code Interpreter, Retrieval, Function Calling)를 활용하여 확장성 높은 AI Assistant 구현 가능.
- Playground + Python API 병행 실습을 통해 이론과 실무를 연결.
- Retrieval을 통해 외부 지식 문서 기반 질의응답 시스템을 쉽게 구축할 수 있음 .
✔ 핵심 포인트 강조
- OpenAI API Key 발급과 Billing 설정이 필수.
- Playground는 시각적 실습, Python API는 실제 응용 프로그램 개발에 적합.
- Retrieval을 활용하면 사용자 문서 기반 맞춤형 AI Assistant 구축이 가능하다.
📘 AI Assistant 구축 (ChatGPT & Assistants API) – 연습문제
난이도: 하
문제 1. (객관식)
다음 중 OpenAI Assistants API의 지원 도구에 해당하지 않는 것은 무엇인가?
① Code Interpreter
② Retrieval
③ Function Calling
④ Auto Scaling
✅ 정답: ④
💡 해설: Assistants API는 Code Interpreter, Retrieval, Function Calling 세 가지 도구를 지원합니다. Auto Scaling은 클라우드 인프라 개념이지 API 지원 기능이 아닙니다 .
문제 2. (객관식)
OpenAI API를 사용하기 위해 필수적으로 수행해야 하는 사전 준비(Prerequisite) 사항으로 올바른 것은?
① AWS IAM Role 생성
② OpenAI 계정 및 Billing 설정
③ Python 가상환경 생성
④ Dockerfile 작성
✅ 정답: ②
💡 해설: OpenAI API 사용을 위해서는 OpenAI 계정 생성 및 최소 $5 충전, API Key 발급이 필요합니다 .
난이도: 중
문제 3. (주관식)
Assistants API를 활용하여 외부 문서 기반으로 질의응답을 가능하게 하는 기능을 무엇이라고 하는가?
✅ 정답: Retrieval
💡 해설: Retrieval 기능은 사용자가 업로드한 파일을 벡터화 후 검색(indexing & vector search) 하여, 사용자 질문에 관련 문서 내용을 기반으로 답변할 수 있도록 합니다 .
문제 4. (객관식)
다음 중 OpenAI Playground의 특징에 대한 설명으로 옳은 것은?
① 단순히 모델 응답을 확인할 수만 있고, Assistant를 생성할 수 없다.
② 사용자 맞춤 instruction을 설정할 수 있다.
③ Retrieval 기능을 제공하지 않는다.
④ 학습 데이터를 직접 재훈련(fine-tuning)해야만 사용 가능하다.
✅ 정답: ②
💡 해설: OpenAI Playground는 Assistant 생성, instruction 설정, Retrieval/Function Calling/Code Interpreter 활성화 등이 가능합니다 .
난이도: 상
문제 5. (서술형)
Python을 이용하여 Assistants API를 프로그래밍 방식으로 사용할 때, Assistant 실행(Assistant Run) 절차를 단계별로 서술하시오.
✅ 모범답안:
- Assistant 객체 생성 (이름, instruction, 모델, 도구 지정)
- Thread 생성 (사용자 대화 흐름 관리)
- Thread에 메시지 추가 (사용자 입력)
- Run 실행 → Assistant가 Thread를 읽고 필요한 도구(Code Interpreter, Retrieval, Function Calling)를 호출
- Assistant 응답을 수신 (Thread 내 메시지로 반환)
💡 해설: Playground UI와 동일한 구조를 코드로 구현하며, Thread와 Run 개념을 이해하는 것이 핵심입니다.