본문 바로가기
AI

API 활용 GPTs 만들기

by 에버리치60 2025. 11. 30.

API 활용 GPTs 만들기 - 초보자 가이드

🚀 API 활용 GPTs 만들기

초보자를 위한 단계별 실습 가이드

1API란 무엇인가?

API(Application Programming Interface)는 서로 다른 프로그램들이 소통할 수 있게 해주는 다리입니다.

실생활 비유
식당에서 주문하는 것과 비슷합니다:
  • 손님(당신의 GPT): 메뉴를 보고 주문
  • 웨이터(API): 주문을 주방에 전달
  • 주방(외부 서비스): 음식을 만들어 제공

API의 핵심 개념

  • 엔드포인트: API가 제공하는 특정 기능의 주소 (예: https://api.example.com/weather)
  • 요청(Request): API에게 보내는 질문이나 명령
  • 응답(Response): API가 돌려주는 결과 데이터
  • API 키: API를 사용할 수 있는 인증 열쇠

2GPTs에서 API 사용 준비하기

2-1. ChatGPT Plus 계정 확인

Custom GPTs를 만들려면 ChatGPT Plus 구독이 필요합니다.

2-2. GPT 생성 시작

  1. ChatGPT 좌측 상단 "Explore" 클릭
  2. "Create a GPT" 버튼 클릭
  3. 두 가지 옵션 중 "Configure" 탭 선택 (더 세밀한 설정 가능)
"Create" 탭은 대화형으로 GPT를 만들고, "Configure" 탭은 직접 설정을 입력할 수 있습니다.

3첫 번째 실습: 날씨 API 연동 GPT 만들기

3-1. 무료 날씨 API 가입하기

  1. OpenWeatherMap 사이트 방문: https://openweathermap.org
  2. 무료 계정 생성
  3. API 키 받기 (대시보드에서 확인 가능)

3-2. GPT 기본 설정

Name: 날씨 알려주는 GPT

Description: 실시간 날씨 정보를 제공하는 AI 어시스턴트

Instructions:

당신은 친절한 날씨 안내 도우미입니다. 사용자가 도시 이름을 말하면 해당 도시의 현재 날씨를 알려주세요. 온도, 날씨 상태, 습도 정보를 포함해주세요.

3-3. API 연동 설정 (Actions)

  1. "Configure" 탭에서 "Add actions" 클릭
  2. 아래 Schema를 입력:
{ "openapi": "3.1.0", "info": { "title": "날씨 API", "description": "OpenWeatherMap을 사용한 날씨 정보", "version": "1.0.0" }, "servers": [ { "url": "https://api.openweathermap.org/data/2.5" } ], "paths": { "/weather": { "get": { "description": "도시 이름으로 현재 날씨 가져오기", "operationId": "getCurrentWeather", "parameters": [ { "name": "q", "in": "query", "description": "도시 이름", "required": true, "schema": { "type": "string" } }, { "name": "appid", "in": "query", "description": "API 키", "required": true, "schema": { "type": "string" } }, { "name": "units", "in": "query", "description": "온도 단위 (metric=섭씨)", "required": false, "schema": { "type": "string", "default": "metric" } }, { "name": "lang", "in": "query", "description": "언어", "required": false, "schema": { "type": "string", "default": "kr" } } ], "responses": { "200": { "description": "성공적인 응답" } } } } } }
  1. "Authentication" 설정에서 "API Key" 선택
  2. Auth Type: "Query" 선택
  3. Query Parameter Name: "appid" 입력
  4. API Key에 받은 OpenWeatherMap API 키 입력

3-4. 테스트하기

테스트 대화
사용자: "서울 날씨 알려줘"
GPT: 서울의 현재 날씨를 확인해드리겠습니다... (API 호출 후 결과 제공)

4두 번째 실습: 영화 정보 API GPT 만들기

4-1. TMDB API 준비

  1. The Movie Database (TMDB) 가입: https://www.themoviedb.org
  2. Settings → API → API Key 발급

4-2. GPT 설정

Name: 영화 추천 전문가

Instructions:

당신은 영화 추천 전문가입니다. 사용자가 영화 제목을 말하면 상세 정보를 제공하고, 비슷한 장르의 영화를 추천해주세요.

4-3. API Schema 예시

{ "openapi": "3.1.0", "info": { "title": "영화 정보 API", "version": "1.0.0" }, "servers": [ { "url": "https://api.themoviedb.org/3" } ], "paths": { "/search/movie": { "get": { "description": "영화 검색", "operationId": "searchMovie", "parameters": [ { "name": "query", "in": "query", "description": "검색할 영화 제목", "required": true, "schema": { "type": "string" } }, { "name": "api_key", "in": "query", "required": true, "schema": { "type": "string" } }, { "name": "language", "in": "query", "schema": { "type": "string", "default": "ko-KR" } } ] } } } }

5세 번째 실습: 나만의 백엔드 API 만들기

5-1. 간단한 API 서버 만들기 (Python Flask)

무료 호스팅 서비스 Replit 사용하기:

  1. Replit.com 가입
  2. 새 Python Repl 생성
  3. 아래 코드 입력:
from flask import Flask, jsonify, request from flask_cors import CORS app = Flask(__name__) CORS(app) # 간단한 할일 목록 저장소 todos = [] @app.route('/todos', methods=['GET']) def get_todos(): return jsonify({"todos": todos}) @app.route('/todos', methods=['POST']) def add_todo(): data = request.get_json() todo = data.get('todo') if todo: todos.append(todo) return jsonify({"message": "추가 완료", "todo": todo}) return jsonify({"error": "할일을 입력하세요"}), 400 @app.route('/todos/', methods=['DELETE']) def delete_todo(index): if 0 <= index < len(todos): removed = todos.pop(index) return jsonify({"message": "삭제 완료", "todo": removed}) return jsonify({"error": "잘못된 인덱스"}), 400 if __name__ == '__main__': app.run(host='0.0.0.0', port=8080)
  1. "Run" 버튼 클릭하여 서버 시작
  2. 생성된 URL 복사 (예: https://your-app.replit.app)

5-2. GPT에 연결하기

{ "openapi": "3.1.0", "info": { "title": "할일 관리 API", "version": "1.0.0" }, "servers": [ { "url": "https://your-app.replit.app" } ], "paths": { "/todos": { "get": { "description": "모든 할일 가져오기", "operationId": "getTodos" }, "post": { "description": "새 할일 추가", "operationId": "addTodo", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "todo": { "type": "string" } } } } } } } } } }

6API 디버깅 및 문제 해결

자주 발생하는 문제

문제 1: API가 응답하지 않음
해결: API 키가 올바른지, URL이 정확한지 확인
문제 2: CORS 에러
해결: 서버에 CORS 헤더 추가 필요
문제 3: Schema 형식 오류
해결: OpenAPI 3.1.0 형식 준수 확인

디버깅 팁

  • Postman이나 curl로 API를 먼저 테스트
  • GPT의 응답에서 에러 메시지 확인
  • API 제공자의 문서 꼼꼼히 읽기

7고급 기능 및 팁

여러 API를 조합하기

하나의 GPT에 여러 API를 연결할 수 있습니다:

  • 날씨 API + 뉴스 API = 날씨 기반 뉴스 추천
  • 지도 API + 맛집 API = 위치 기반 맛집 추천

인증 방법

  • API Key: 가장 간단 (Query 또는 Header)
  • OAuth: 더 안전, 사용자 인증 필요
  • Bearer Token: 일부 API에서 사용
실제 서비스를 만들 때는 API 키를 안전하게 보관하세요. 환경 변수를 사용하거나 서버에서 프록시 역할을 하는 것이 좋습니다.

성능 최적화

  • 불필요한 API 호출 줄이기
  • 캐싱 활용하기
  • 에러 처리 명확히 하기

8다음 단계 및 학습 자료

추천 연습 프로젝트

  1. 뉴스 요약 GPT: News API 활용
  2. 환율 변환 GPT: 환율 API 활용
  3. 레시피 추천 GPT: 음식 API 활용
  4. 운동 트래커 GPT: 자체 DB API 구축
  5. 주식 정보 GPT: 금융 API 활용

유용한 무료 API 목록

  • OpenWeatherMap - 날씨
  • NewsAPI - 뉴스
  • TMDB - 영화/TV
  • RESTCountries - 국가 정보
  • CoinGecko - 암호화폐
  • ExchangeRate-API - 환율

더 배우기

  • OpenAPI Specification 문서 읽기
  • RESTful API 개념 이해하기
  • JSON 데이터 형식 학습
  • HTTP 메서드(GET, POST, PUT, DELETE) 이해

🎓 이 가이드를 따라하면서 막히는 부분이 있다면 언제든 질문하세요!

실습을 통해 배우는 것이 가장 빠른 학습 방법입니다.

'AI' 카테고리의 다른 글

NotebookLM 초급과정  (1) 2025.12.01
AI 프롬프트 초보자 가이드  (3) 2025.11.30
어르신을 위한 카페 키오스크 사용법  (3) 2025.11.28
AI 챗봇 민원 자동응답 만들기  (1) 2025.11.28
Google AI Studio 중급과정  (0) 2025.11.27