※ 이 글은 데이콘 새싹 해커톤의 GPTs 교육 내용을 이해하기 위해 작성한 교육자료 요약문임을 밝힙니다.
GPTs 란?
"custom versions of ChatGPT that you can create for a specific purpose"
- Chat GPT 사에서 만든 개인 맞춤형 AI 챗봇
- 코딩 없이 누구나 자연어 기반으로 만들 수 있는 맞춤형 챗봇
GPTs 챗봇 주요 사례
[1] DB 기반 맞춤형 챗봇
- 특정 분야의 전문 지식에 축적된 데이터베이스를 활용해 차별화된 기능을 제공
1. AllTrails
- 등산, 러닝, 사이클링에 알맞는 자연 경로 추천
- 등반 고도, 길이, 예상 완주 시간등의 객관적, 계량적 정보를 답변으로 제공
- '매우 아름다운' 같은 애매한 표현 없음
2. ScholarGPT
- 전문 학술 연구분야의 데이터베이스에 연결되어, 사용자에게 특화된 학술 정보를 실시간으로 제공
- 요청한 논문에 대한 요약뿐 아니라, 그 논문이 인용한 논문에 대한 링크를 제공
[2] 소프트웨어 기반 맞춤형 챗봇
- GPTs Store의 상위 랭크에 올라온 많은 GPTs 챗봇들이 이 유형에 해당
- 특정 작업을 처리하기 위해 설계된 소프트웨어와 연동하여 사용자의 복잡한 요구사항을 맞춤식으로 해결
- 서버에 설치된 특수한 소프트웨어를 활용하여 DB나 또 다른 애플리케이션과 상호 작용하며 요청된 작업을 처리
1. Free YouTube Summarize
- Youtube 영상 링크를 제공하면 영상의 내용을 이해 하고 요약
- 직접 인터넷에 접근하지 못하는 GPT의 한계 극복
2. Show me
- 사용자의 아이디어를 시각적 다이어그램으로 변환하여 시각화 해주는 소프트웨어 툴을 기반으로 하는 챗봇
- 시퀀스, 그래프, 마인드맵, 타임라인, 엔티티 관계 다이어그램 등 다양한 형식의 맞춤형 다이어그램을 생성
3. Canva
- 자연어를 통해 디자인 하고자 하는 결과물을 손쉽게 요청, 다양한 디자인 템플릿과 자동 생성 기능을 활용
GPTs 핵심 3요소
- GPTs의 전문성과 맞춤형 개인화 능력의 핵심 3요소
- GPTs 생성시 'Configure' 을 통하여 설정
1. Instructions
- 용도와 목적에 맞도록 최대한 명확하면서도 구체적으로 기술
- 역할 유형 (Role Type)
- 응답 방식과 사용자의 정체성에 대하여 지정
- 응답 형식뿐 아니라, 응답을 생성하기 전에 ChatGPT가 '행동'해야 할 세부 지침을 설정 (페르소나)
(Role Type)
너는 수학 문제 풀이와 공부를 도와주기 위해 특별히 최적화된 '개념 수학 멘토'라는 이름의 맞춤형 ChatGPT 버전이야. 너의 주요 역할은 사용자가 프롬프트 통해 수학 문제를 질문하면, 단계 별로 질문을 던지면서 그 문제에 담긴 핵심 개념을 알기 쉽게 제공해 주는 멘토 역할이야.
(Response Format)
너는 수학 교육의 최고의 전문가이자 대학생 캐릭터야. 따라서 사용자(학생)이 친근함을 유지 할 수 있도록, '형' 혹은 '오빠'가 잘 알고 있는 동생에게 대하는 말투로 사용자의 질문에 대한 응답을 해줘. 따라서 한국어로 "~합니다."와 같은 존대 표현 보다는 편한 말투로 응답해 주어야 해.
(행동 지침 구체화)
(A) 단계별로 문제를 푸는 과정을 첫단계에서 부터 마지막 단계까지 각 단계에 대한 접근 방법의 '제목'을 안내해줘. 단, 여기서는 직접 문제 풀이 과정은 보져주지 말고.
(B) 그 다음에 다음 질문을 사용자에게 해줘. "단계별로 내가 직접 문제를 풀어 줄까?" (1) "아니면 나랑 함께 차근차근 문제를 풀어나갈래?" (2)
(C) 만일 사용자가 1을 선택하면, 단계별로 문제 풀이 과정, 정답 도출, 그리고 그 과정에서 꼭 알아야 할 핵심 개념에 대한 정리를 해 줘.
(D) 만일 사용자가 2를 선택하면, 각 단계 마다의 적절한 과정을 질문하고, 사용자의 답변이 그 과정에 해당되는 미션이 완료 되었다면, 다듬 단계로 넘어가서 동일한 질문과 피드백을 주는 방식으로 대응해줘
(E) 모든 단계가 마무리되고 정답이 도출되면, 이 문제를 푸는 과정에서 꼭 알아야 하는 핵심 개념을 핵심 개념에 대한 정리를 해줘
2. Knowledge
- 'Knowledge' 섹션 아래의 'Upload Files' 버튼을 클릭하여 챗봇 제작을 위해 준비한 파일을 업로드
- 텍스트 파일, 스프레드시트, 프레젠테이션, 문서 등 일반적인 파일 확장자가 모두 포함
- 각 챗봇당 최대 20개
- 512MB, 2백만 토큰 (순수 텍스트로 구성된 소설책이 1~2MB)
- 개인사용자의 경우 10GB, 기업 사용자의 경우 100GB 용량 제한
3. Actions
- 사이드 네비게이션에서 Explore GPTs -> Create -> Configure -> Knowledge 아래 쪽에 Actions Section과 'Create new action' 버튼을 눌러 설정
- GPTs가 외부 데이터 소스 및 애플리케이션과의 상호작용을 가능하게 하는 핵심 기능
- 사용자의 요청을 기반으로 외부 API를 호출
- GPTs 챗봇 개발자가 외부 데이터 리소스나 애플리케이션을 직접 관리하거나 개발에 참여하는 경우
- GPTs 챗봇 개발자가 이미 서비스 중인 외부 애플리케이션의 정의된 API와 연동
1단계: 인증(Authentication)
- API를 통해 외부 어플리케이션에 접근하는 데 필요한 인증 방식을 설정
- 사용자의 접근 권한을 검증하고, 안전한 데이터 교환을 위한 기반을 마련
2단계: 스키마(Schema)
= Open API Specification
- 외부 어플리케이션에서 사용 가능한 API의 사양 명세를 정의
Open API Specification (OAS)
API 설계 표준화
앤드포인트, HTTP 메소드, 요청 및 응답 포맷, 인증방식 등 API 사용에 필수적인 정보를 포괄적으로 제공
JSON 또는 YAML 포맷으로 작성
3단계: 프라이버시 폴리시(Privacy Policy)
- 사용자 데이터의 처리와 관련된 법적 및 윤리적 요구사항을 충족시키는 방안을 마련
- 데이터 보호 정책을 명시, 사용자의 개인정보 보호를 위한 조치를 강구
3-1. Actions Schema
- 예시
- 최소 필수 요소
- openapi -- 사용 중인 OpenAPI 스펙의 버전
- info -- API에 대한 기본 정보(제목, 버전, 라이선스 등 API에 대한 전반적인 설명)
- paths -- API의 엔드포인트와 해당 엔드포인트에서 수행할 수 있는 작업 방식(GET, POST), 쿼리 매개 변수 등
- servers: API가 호스팅되는 서버의 base URL
- API Key는 반드시 "schema" key의 "enum" 파라미터를 ["발급받은 API key"] 형식으로 추가
- Open API사에는 이러한 Schema를 작성하는 것을 자동적으로 수행해 주는 GPTs 챗봇 'ActionsGPT'을 제공