GPTs에서 Make an Action 활용 예제 (날씨 조회)
이전 글에서 GPTs에서 말하는 "Make"의 의미를 소개 했습니다. 의미를 완전히 이해하기위해서는 실제 사용하는 방법이 따라야겠죠! 이번 글에서는 GPTs에서 "Make"를 활용하여 실제로 날씨 정보를 조회하는 기능을 만드는 과정을 소개합니다. 실시간 날씨 조회가 필요한 상황을 실현하기위해 Webhook 방식을 활용해 간단하면서도 실용적인 GPTs 기능을 구현해 보겠습니다.
다음 순서를 따라하면서 날씨 조회 GPTs를 만들어 보세요. 그 과정에서 GPT 이외에 필요한 외부적인 요소를 연결하는 방법을 이해할 수 있습니다. 현재 예제는 간단한 날씨 조회를 위해 날씨 정보 관련 API를 사용하는 방법이지만 다양한 외부 요소를 연결할 수 있습니다.
📌 1. OpenWeatherMap API 키 발급
📍 API 키란?
OpenWeatherMap에서 제공하는 API를 사용하기 위해 필요한 인증 수단입니다.
요청을 보낼 때 API Key를 함께 전달해야 데이터를 받을 수 있습니다.
📋 발급 절차
- https://openweathermap.org/ 접속
- 회원가입 또는 로그인
- 우측 상단 메뉴 → My API keys 클릭
- 기본 키(Default) 또는 Create Key로 새 키 생성
- 발급된 키를 복사하여 기록해둡니다.
📌 2. Webhook URL 구성
OpenWeatherMap의 현재 날씨 조회 API는 다음과 같은 URL 형태를 가집니다.
https://api.openweathermap.org/data/2.5/weather?q=Seoul&appid=YOUR_API_KEY&units=metric
파라미터 | 설명 |
---|---|
q | 도시 이름 (예: Seoul) |
appid | 발급받은 API 키 |
units | metric을 지정하면 섭씨 온도 사용 |
이 URL을 그대로 Webhook 형태로 GPTs에서 호출하면 됩니다.
📌 3. GPTs에 Webhook 등록하기
GPTs 설정 방법 요약
- ChatGPT → "Create a GPT" 클릭
- Configure 탭 이동
- Actions → Add Action 선택
- Webhook URL 및 요청 설정
Action 입력 스키마 예시:
{
"openapi": "3.1.0",
"info": {
"title": "Weather Lookup API",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.openweathermap.org/data/2.5/weather?appid=YOUR_API_KEY&units=metric"
}
],
"paths": {
"/weather": {
"get": {
"operationId": "getWeather",
"summary": "Get current weather by city name",
"parameters": [
{
"name": "q",
"in": "query",
"required": true,
"description": "City name (e.g., Seoul, New York)",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Successful response - current weather information"
}
}
}
}
}
}
🌤️ 스키마 작성법 (Webhook URL 조립 포인트 포함)
GPTs에 외부 날씨 API(OpenWeatherMap)를 연결하기 위해서는, 스키마 작성 시점에 서버 URL에 고정 파라미터를 미리 포함시켜야 합니다.
특히 GPTs Builder는 "Webhook 호출 URL"을 등록 후 따로 수정할 수 없기 때문에,
스키마 설계 단계에서 모든 URL 구조를 완성시켜야 합니다.
✅ 스키마 작성 핵심 포인트
항목 | 설명 |
---|---|
servers.url | API 서버의 기본 주소 + 고정 파라미터(appid, units)를 포함해서 작성 |
paths | 호출할 엔드포인트 경로(/ ) 설정 |
parameters | 사용자가 입력하는 값(q=도시명)만 작성 (appid는 작성하지 않음) |
Webhook 호출 URL 예시:
https://api.openweathermap.org/data/2.5/weather?q={city}&appid=YOUR_API_KEY&units=metric
이렇게 설정하면, 사용자가 GPT에게 "서울 날씨 알려줘"라고 입력했을 때,
GPT가 자동으로 API를 호출해 현재 날씨를 알려줄 수 있습니다.
📌 4. 사용 예시
사용자 입력:
"서울의 현재 날씨를 알려줘" 또는 "서울"
GPTs 내부 처리 과정은 다음과 같습니다.
- city="Seoul"을 Webhook URL에 삽입 -> API 호출 -> 응답(JSON)을 받아 요약하여 답변
예상 출력:
Seoul의 현재 날씨: 맑음, 온도: 18.76°C
📌 5. 주의 상항(보안 팁)
- API Key는 절대로 외부에 노출하지 말아야 합니다.
- 만약 GPTs에 URL 형태로 키를 포함해야 한다면, 발급받은 API Key의 호출량 제한 설정을 권장합니다.
- 가능하다면 서버를 통해 중계하여 키를 숨기는 방식(Flask/Node.js 중계 서버 활용)을 고려할 수도 있습니다.(추후 작성 계획)
✅ Make의 의미를 이제는 이해할 수 있다.
실습을 통해 GPTs에서 OpenWeatherMap API을 연동하여 실시간 날씨 정보를 확인 할 수 있도록 하였습니다. 사용자의 프롬프트에서 작성된 도시를 이용하여 내부에서는 어떻게 인식될까요? 이를 통해 make의 의미를 이해하시길 바랍니다.
- 날씨 API를 GPTs에 연결할 때
→ Action을 등록하는 과정이
→ "make a weather lookup tool" 처럼 표현될 수 있는 거예요.
즉, "make"는 과정(행위)를 의미할 뿐, 문법이나 명령어(keyword)는 아닙니다. 이 처럼 다양한 과정 또는 행위를 연결하여 좀 더 GPTs에 기능을 부여할 수 있습니다.
여기까지 작성되었다면 실제로 GPTs를 등록하고 정보를 얻는 과정을 다음 글에서 계속하겠습니다.
'AI > 생성형AI' 카테고리의 다른 글
[GPT업무자동화](5)GPTs에 메일 외부 자원 연동(OAuth) (1) | 2025.05.06 |
---|---|
[AI미래]GPT-5시대 우리의 준비 (5) | 2025.05.02 |
[GPT업무자동화](3)GPTs에서 Action란? (1) | 2025.04.29 |
[GPT업무자동화](2)나만의 GPTs 만들기 (2) | 2025.04.29 |
[GPT업무자동화](1)GPT로 자동화하고 시간 절약하자! (3) | 2025.04.28 |