Custom versions of ChatGPT

โ€œYou can now create custom versions of ChatGPT that combine instructions, extra knowledge, and any combination of skills.

Overview

Custom versions of ChatGPT(์ดํ•˜ GPTs)๋Š” OpenAI๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ, ๊ฐœ๋ฐœ ์ง€์‹ ์—†์ด๋„ ํŠน์ • ๋ชฉ์ ์— ๋งž๋Š” ๋‚˜๋งŒ์˜ ์ฑ—๋ด‡์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์›น ๊ธฐ๋ฐ˜ ๋„๊ตฌ์ด๋‹ค (November 6, 2023 ์ถœ์‹œ).

  • UI ๊ธฐ๋ฐ˜ ํ”„๋กฌํ”„ํŠธ ๊ตฌ์„ฑ
  • ์ฐธ๊ณ  ๋ฌธ์„œ ๋˜๋Š” ๋ฐ์ดํ„ฐ ์—…๋กœ๋“œ ์ง€์›
  • ์™ธ๋ถ€ API ์—ฐ๋™ (Actions ๊ธฐ๋Šฅ) ๊ฐ€๋Šฅ

๋ˆ„๊ตฌ๋‚˜ ๋ช‡ ๋‹จ๊ณ„๋งŒ์œผ๋กœ ๊ฐ„๋‹จํ•œ AI ์ฑ—๋ด‡์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.

NOTE

ChatGPT Plus ๋˜๋Š” Enterprise ์‚ฌ์šฉ์ž๋งŒ ์„ค๊ณ„ ๊ฐ€๋Šฅํ•˜๋‹ค.

Data control and privacy

  • GPTs ๊ฐœ๋ฐœ์ž์™€ ์‚ฌ์šฉ์ž ๊ฐ„ ๋Œ€ํ™”๋Š” ๊ณต์œ ๋˜์ง€ ์•Š์Œ
  • ์™ธ๋ถ€ API ์‚ฌ์šฉ ์‹œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๋ฐ์ดํ„ฐ ์ „์†ก ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •
  • GPTs์— Actions ๋˜๋Š” ์ง€์‹ ์ถ”๊ฐ€ ์‹œ, ๋ชจ๋ธ ํ•™์Šต ์‚ฌ์šฉ ์—ฌ๋ถ€๋ฅผ ์„ค์ • ๊ฐ€๋Šฅ

Actions

GPTs์— Actions๋ฅผ ์„ค์ •ํ•˜๋ฉด ์™ธ๋ถ€ API์™€ ์—ฐ๋™๋˜์–ด ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์งˆ์˜ํ•˜๊ฑฐ๋‚˜, ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์˜ˆ์‹œ:

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ: ์—ฌํ–‰ ์ •๋ณด, ์žฌ๊ณ , ๋‚ ์”จ, ๊ธˆ์œต ๋ฐ์ดํ„ฐ ๋“ฑ ์งˆ์˜
  • ์ด๋ฉ”์ผ ์—ฐ๋™: Gmail, Outlook ๋“ฑ์—์„œ ๋ฐ›์€ ๋ฉ”์ผ ์ฝ๊ธฐ, ์ž‘์„ฑ, ์ •๋ฆฌ
  • ์ „์ž์ƒ๊ฑฐ๋ž˜ ํ†ตํ•ฉ: ์ƒํ’ˆ ๊ฒ€์ƒ‰, ์ฃผ๋ฌธ ๋“ฑ ๊ฐ€๋Šฅ

Advantages of GPTs

  • Create multiple GPTs: GPTs ๊ฐœ์ˆ˜ ๋ฌด์ œํ•œ ์ƒ์„ฑ ๊ฐ€๋Šฅ
  • Upload knowledge source files: ์ง€์‹ ํŒŒ์ผ ์—…๋กœ๋“œ๋กœ ๋„๋ฉ”์ธ ๋Œ€์‘
  • Share your GPT: ๊ฐ„๋‹จํ•œ ๊ณต์œ  ๋งํฌ ์ƒ์„ฑ ๊ฐ€๋Šฅ

Application to current service

Image

ํ˜„์žฌ woorinara-chatbot ์„œ๋น„์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ๋ฆ„์„ ๊ฐ€์ง„๋‹ค:

  1. ์‚ฌ์šฉ์ž์˜ query๊ฐ€ ๋“ค์–ด์˜ค๋ฉด
  2. RuleBase ๊ธฐ๋ฐ˜์œผ๋กœ Location ๋˜๋Š” Visa๋กœ ๋ถ„๋ฅ˜
  3. ๋ถ„๋ฅ˜์— ๋”ฐ๋ผ PostgreSQL ๋˜๋Š” Qdrant์—์„œ ์ •๋ณด ๊ฒ€์ƒ‰ ํ›„ ์‘๋‹ต ์ƒ์„ฑ

๊ธฐ์ˆ ์  ๊ตฌ์„ฑ ๋ฐฉ์‹

์šฐ๋ฆฌ๊ฐ€ ๊ณ ๋ คํ•ด์•ผ ํ•  ๊ธฐ์ˆ ์  ๊ตฌ์„ฑ ๋ฐฉ์‹์€ 3๊ฐ€์ง€๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋ถ„๋ฅ˜ ์ฒ˜๋ฆฌ

GPTs Builder ๋‚ด๋ถ€ ํ”„๋กฌํ”„ํŠธ๋กœ ๋ถ„๋ฅ˜ ๊ฐ€๋Šฅ (์กฐ๊ฑด ๋ถ„๊ธฐ ํฌํ•จ):

๋‹น์‹ ์€ ์‚ฌ์šฉ์ž์˜ ์งˆ๋ฌธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์Œ ๋‘ ์นดํ…Œ๊ณ ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:
- "Location": ์ง€์—ญ, ์œ„์น˜, ์ฃผ๋ณ€ ์ •๋ณด ๊ด€๋ จ
- "Visa": ๋น„์ž, ์ž…๊ตญ, ์ฒด๋ฅ˜ ์กฐ๊ฑด ๊ด€๋ จ
 
๊ทธ ํ›„, ํ•ด๋‹น ์นดํ…Œ๊ณ ๋ฆฌ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ API๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ •๋ณด๋ฅผ ๋ฐ›์•„์˜ค๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ •ํ™•ํ•œ ๋‹ต๋ณ€์„ ๊ตฌ์„ฑํ•˜์„ธ์š”.

PostgreSQL ์—ฐ๋™

GPTs๋Š” HTTP API(REST API)๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. PostgreSQL์€ DataBase์ด๋ฏ€๋กœ ์ง์ ‘ ์—ฐ๊ฒฐ(DB connection)์€ ์•ˆ ๋˜๊ณ , ์ค‘๊ฐ„ API ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

๋”ฐ๋ผ์„œ, PostgreSQL โ†’ ์ค‘๊ฐ„ ์„œ๋ฒ„ โ†’ HTTP API ๊ตฌ์กฐ๋กœ ๋ฐ”๊ฟ”์•ผ Custom GPT๊ฐ€ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค.

์ด ์ค‘๊ฐ„ API ์„œ๋ฒ„๋Š” FastAPI, Flask ๋“ฑ์œผ๋กœ ๊ตฌํ˜„ํ•œ ํ›„ ์ผœ์ ธ ์žˆ์–ด์•ผ(์ธํ„ฐ๋„ท์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ) ์š”์ฒญ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

Qdrant ์—ฐ๋™

Qdrant๋Š” REST API๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ, ์ง์ ‘ Actions ์—ฐ๋™ ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•˜์ง€๋งŒ, ์ง์ ‘ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์€ ๋‹จ์ˆœํ•œ Qdrant Vector Search์ด๊ณ  ํ˜„์žฌ ์ฝ”๋“œ์— ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ๋ณต์žกํ•œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ(BM 25 + RRF)์ด๋‚˜ Google ๋ฒˆ์—ญ ์ฒ˜๋ฆฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ๋“ค์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

๋”ฐ๋ผ์„œ ์„œ๋ฒ„์—์„œ ์ „์ฒด ์ฒ˜๋ฆฌ ํ›„ ๊ฒฐ๊ณผ๋งŒ ๋ฐ˜ํ™˜ํ•˜๋Š” API ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜๋‹ค.

๊ธฐ์ˆ ์  ๊ฒฐ๋ก : ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋‚˜ ์ œ์•ฝ ์กด์žฌ

PostgreSQL์€ ์ „์ฒ˜๋ฆฌํ•œ .xlsx ์—…๋กœ๋“œ ๋“ฑ์œผ๋กœ ์šฐํšŒ ๊ฐ€๋Šฅํ•˜๊ณ  Qdrant๋„ ๊ธฐ๋ณธ ๊ฒ€์ƒ‰์€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ณต์žกํ•œ ์ฒ˜๋ฆฌ์—” API ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋˜ํ•œ ๋ณต์žกํ•œ LangGraph ๊ธฐ๋ฐ˜ ํ๋ฆ„์€ GPTs์—์„œ๋Š” ๊ตฌํ˜„์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค.

๋”ฐ๋ผ์„œ GPTs๋Š” ๋‹จ์ˆœํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ฑ—๋ด‡์—๋Š” ๋งค์šฐ ์ ํ•ฉํ•˜์ง€๋งŒ, ๊ณ ๊ธ‰ AI ํŒŒ์ดํ”„๋ผ์ธ์—๋Š” ๋ฐฑ์—”๋“œ ์„œ๋ฒ„/์ฝ”๋“œ ๊ธฐ๋ฐ˜ ํ†ตํ•ฉ์ด ํ•„์š”ํ•˜๋‹ค.

GPTs์˜ ํ•ต์‹ฌ ์ฒ ํ•™

โ€œDeveloper tools ์—†์ด ๊ตฌํ˜„ ๊ฐ€๋Šฅโ€์ด๋ผ๋Š” ๊ฒŒ ํ•ต์‹ฌ ์ฒ ํ•™์ด๋‹ค.

P.S. ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์€ ๋ถ€๋ถ„์—์„œ ์„œ๋ฒ„์™€์˜ ์—ฐ๋™์ด ํ•„์š”ํ•œ๋ฐ, ํ˜„์žฌ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ์ฝ”๋“œ ๋˜๋Š” ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋Š” ํ™•์ธ์ด ํ•„์š”ํ•˜๋‹ค. ์„œ๋ฒ„ ์ชฝ์ด๋ผ ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค.

๊ฒฐ๋ก 

Custom GPTs๋Š” ๋ˆ„๊ตฌ๋‚˜ ์‰ฝ๊ฒŒ ์ฑ—๋ด‡์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋œ ๋งค์šฐ ์ง๊ด€์ ์ธ ์›น ๊ธฐ๋ฐ˜ ๋„๊ตฌ์ด์ง€๋งŒ, ์‹ค์ œ ์„œ๋น„์Šค์— ์ ์šฉํ•˜๊ธฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ํ•œ๊ณ„์™€ ๊ณ ๋ ค์‚ฌํ•ญ์ด ์กด์žฌํ•œ๋‹ค. ์šฐ์„ , GPTs๋Š” ์™ธ๋ถ€ ๋ฐ์ดํ„ฐ์™€์˜ ์—ฐ๋™์„ ์œ„ํ•ด REST API ๊ธฐ๋ฐ˜์˜ Actions๋งŒ์„ ์ง€์›ํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด PostgreSQL๊ณผ ๊ฐ™์€ ์ „ํ†ต์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€๋Š” ์ง์ ‘์ ์ธ ์—ฐ๊ฒฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ˜๋“œ์‹œ ์ค‘๊ฐ„ API ์„œ๋ฒ„๋ฅผ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•ด์•ผ ํ•œ๋‹ค. ๋˜ํ•œ ๋ณต์žกํ•œ ๋กœ์ง(์˜ˆ: LangGraph ๊ธฐ๋ฐ˜์˜ ๋ฉ€ํ‹ฐ์Šคํ… ์ œ์–ด ํ๋ฆ„์ด๋‚˜ RAG ํŒŒ์ดํ”„๋ผ์ธ, ๋ฒˆ์—ญ ํ›„ ์žฌ๊ฒ€์ƒ‰ ๋“ฑ)์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด, ๊ฒฐ๊ตญ GPTs๊ฐ€ ์•„๋‹Œ ๋ณ„๋„์˜ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋งŒ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ์‹์ด ํ•„์š”ํ•˜๋‹ค.

๊ฒŒ๋‹ค๊ฐ€ GPTs๋Š” ์˜ค์ง OpenAI์˜ ์›น ์„œ๋น„์Šค(์˜ˆ: ChatGPT ์‚ฌ์ดํŠธ) ๋‚ด์—์„œ๋งŒ ์ž‘๋™ํ•˜๋ฏ€๋กœ, ๋ณ„๋„์˜ ๋ชจ๋ฐ”์ผ ์•ฑ์ด๋‚˜ ์™ธ๋ถ€ ์„œ๋น„์Šค์— ์ง์ ‘ ํ†ตํ•ฉํ•˜๋Š” ๋ฐ ์ œ์•ฝ์ด ์žˆ๋‹ค. ์ด๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด WebView๋กœ GPTs ๋งํฌ๋ฅผ ์ž„๋ฒ ๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ, UX๋‚˜ ์ œ์–ด๊ถŒ ์ธก๋ฉด์—์„œ ๋ถˆ์™„์ „ํ•œ ๋Œ€์•ˆ์ผ ๋ฟ์ด๋‹ค.

๋”ฐ๋ผ์„œ GPTs๋Š” ๊ฐ„๋‹จํ•œ Q&A, ๋‚ด๋ถ€ ์—…๋ฌด ์ž๋™ํ™”, ๊ฐœ์ธํ™” ๋„์šฐ๋ฏธ์™€ ๊ฐ™์€ ๋‹จ์ผ ๋ชฉ์  ์ฑ—๋ด‡์—๋Š” ๋งค์šฐ ์ ํ•ฉํ•˜์ง€๋งŒ, ์ •๊ตํ•œ ๋„๋ฉ”์ธ ๋ถ„๊ธฐ, ๋ณด์•ˆ ํ†ต์ œ, LLM ๊ธฐ๋ฐ˜ ํ›„์ฒ˜๋ฆฌ์™€ ๊ฐ™์€ ๊ณ ๋„ํ™”๋œ AI ์„œ๋น„์Šค์—๋Š” ํ•œ๊ณ„๊ฐ€ ๋ถ„๋ช…ํ•˜๋‹ค. ์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ์— ๋„์ž…ํ•  ๊ฒฝ์šฐ, REST API ์„ค๊ณ„, ์„œ๋ฒ„ ์ธํ”„๋ผ ๊ฐ€์šฉ์„ฑ, ๋ณด์•ˆ์„ฑ ๊ณ ๋ ค, LLM ์‘๋‹ต ํ’ˆ์งˆ ํ†ต์ œ ๋“ฑ์˜ ์‚ฌ์ „ ๊ฒ€ํ† ๊ฐ€ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค. GPTs๋Š” โ€œ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ์—†์ด ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” AI ์ธํ„ฐํŽ˜์ด์Šคโ€๋ผ๋Š” ๋ชฉ์ ์— ์ถฉ์‹คํ•˜์ง€๋งŒ, ๋ณต์žกํ•œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ฐฑ์—”๋“œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์™€ ์—ฐ๊ณ„ํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋‹ค.

Reference