오늘은 7편에 이어서 공중화장실 도우미 GPTS 마무리 과정을 포스트 하겠습니다.
1. Chat GPT 페이지
Explore GPTs > +Create > Configure 클릭
Name : 원하는 이름
Description : 이름 밑에 출력될 텍스트
Instructions : 제일 마지막에 작성해야 하니 지금은 생략
(GPTS에게 어떤 알고리즘으로 작동할 것인가? 에 대한 지침을 적는 곳)
(이건 알아서 써주길 바랍니다 1편에서 작동 알고리즘에 대해서 설명했으니 충분히 해낼 수 있습니다)
(제일 중요한 게 Instructions인데 스스로 고민해 보고 테스트 후 수정 과정을 거쳐야 됩니다)
2024.01.16 - [Making money with AI] - AI 파이프라인 연구 7 - 공중화장실 도우미 GPTS 만들기 1(FastAPI)
Conversation starters : 해당 GPTS를 처음 써보는 사람들을 위한 예시 문구를 입력하는 공간
Knowledge : 데이터 파일을 업로드해서 활용할 때 쓰는 공간
Capabilities : 웹 브라우징, 달리 이미지 생성, 코드인터프리터 3개 다 체크
Actions : 이건 어떻게 정의해야 할지 애매해서 GPT에게 물어봤습니다.
(instructions 만큼 중요한 기능)
2. Google Maps API
- SerpAPI 사이트에 접속후 회원가입을 진행
-왼쪽 API 리스트에서 Google Mas API 클릭
제가 알려준 내용대로 하면 이 페이지를 볼 필요는 없습니다.
하지만 한번정도는 내용을 확인해 보시는 게 좋습니다.
-왼쪽 메뉴에 Yout Account클릭 > Your Private API Key 복사
3. GPTS
-Create New Action 클릭 > Authentication : API KEY 클릭 : SerpAPI에서 받은 APIKEY 입력
( 아래에 작성할 스키마에 API KEY가 들어가 있어서 굳이 안 하셔도 작동할 거 같습니다. 저는 넣었습니다)
( 그리고 API키가 노출이 되는데 이건 저한테만 뜨는 건지 다른 사람들도 볼 수 있는 건지 모르겠습니다.)
( 안 넣고 구동이 된다면 그냥 넣지 마세요)
-*Schema 입력
openapi: 3.0.0
info:
title: SerpApi Google Maps API
version: 1.0.0
servers:
- url: https://serpapi.com
description: SerpApi Base Server
paths:
/search:
get:
operationId: searchGoogleMaps
summary: Perform a search on Google Maps
parameters:
- name: engine
in: query
required: true
description: Set to 'google_maps' to use the Google Maps API engine
schema:
type: string
- name: type
in: query
required: true
description: Type of search, either 'search' or 'place'
schema:
type: string
- name: q
in: query
description: Query to search
schema:
type: string
- name: ll
in: query
description: GPS coordinates for the search (latitude, longitude, zoom)
schema:
type: string
- name: google_domain
in: query
description: Google domain to use for the search
schema:
type: string
- name: hl
in: query
description: Language for the search results
schema:
type: string
- name: data
in: query
description: Search for a specific place
schema:
type: string
- name: place_id
in: query
description: Unique reference to a place on Google Maps
schema:
type: string
- name: start
in: query
description: Result offset for pagination
schema:
type: integer
- name: no_cache
in: query
description: Force fetch new results instead of using cache
schema:
type: boolean
- name: async
in: query
description: Submit search to be processed asynchronously
schema:
type: boolean
- name: api_key
in: query
required: true
description: <SerpAPI KEY>
schema:
type: string
- name: output
in: query
description: Define the final output format (json or html)
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
search_metadata:
type: object
search_parameters:
type: object
search_information:
type: object
local_results:
type: array
items:
type: object
<SerpAPI KEY> 이 부분을 삭제 후 실제 부여받은 SerpAPI KEY를 넣으세요
참고사항 : SerpApi에서 제공해 주는 무료 API 서치 횟수는 한 달에 100회
- *Privacy policy : https://serpapi.com/google-maps-api
- 입력 완료시 only me로 저장
- 뒤로 가기 진행 후 Create New Action 클릭
위에서 만든 Actions 설정은 SerpAPI를 통해서 Google Maps API와 연결하는 설정입니다.
이번에는 우리가 만든 API 서버를 연결해야 합니다.
-*Schema 입력
openapi: 3.0.0
info:
title: FastAPI Toilet Locator
version: 0.1.0
servers:
- url: 1편에서 호스팅후 새로 받은 URL
description: Base server for FastAPI Toilet Locator
paths:
/get_data/:
get:
operationId: getData
summary: Get Data
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: string
/api/coordinates:
post:
operationId: getClosestToilet
summary: Get Closest Toilet
parameters:
- name: latitude
in: query
required: true
schema:
type: number
- name: longitude
in: query
required: true
schema:
type: number
responses:
'200':
description: Successful Response
content:
application/json:
schema:
type: string
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
type: object
properties:
detail:
type: array
items:
$ref: '#/components/schemas/ValidationError'
ValidationError:
type: object
properties:
loc:
type: array
items:
type: string
msg:
type: string
type:
type: string
<1편에서 호스팅후 새로 받은 URL>을 삭제 후 실제 URL을 입력해주세요
1편에서 제가 텍스트 파일로 저장하라고 했던 그 주소입니다.
- Privacy policy : https://새로받은주소/docs
- only me로 저장
- 이제 instructions 문구를 적어보시고 테스트 한 뒤 퍼블릭으로 공개하시면 됩니다.
제가 몇 번 테스트해본 결과입니다.
아직 주지번과 부지번 사이에 - 넣는 기능이 구현이 안 되고 있내요
여기까지 따라오셨다면 당신은 한 단계 성장하셨습니다.
저도 이 프로젝트 만드는데 4일 걸렸습니다. 시행착오 과정이 있었거든요
아무것도 모르는 상태에서 계획을 짜고 정보를 수집하고 에러를 수정하는 과정의 반복이었습니다.
Chat GPT가 있어도 정말 힘들었지만 프로젝트를 마무리하니까 잠도 잘 오고 소화도 잘됩니다.😊
여러분도 충분히 하실 수 있으니 도전해 보시기 바랍니다. 파이팅!
'x' 카테고리의 다른 글
AI 파이프라인 연구 10 - GPTS 서울시 실시간 행사 정보 업데이트 (1) | 2024.01.25 |
---|---|
AI 파이프라인 연구 9 - Seoul Guide 서우리 GPTS (1) | 2024.01.22 |
AI 파이프라인 연구 7 - 공중화장실 도우미 GPTS 만들기 1(FastAPI) (1) | 2024.01.16 |
AI 파이프라인 연구 6 - 서울시 상권 매출 분석 GPT (1) | 2024.01.12 |
AI 파이프라인 연구 5 - GPT 스토어 오픈 (2) | 2024.01.11 |