1. ์์ํ๊ฒ ๋ ๊ณ๊ธฐ โจ
ํฌํธ ์ฌ์ดํธ์์๋ ์์ฝํ์ ๋ํ ์ ๋ณด๋ฅผ ์ฐพ์ ์๋ ์์ง๋ง,
๊ณต์ ์ถ์ฒ์ธ ์ํ์์ฝํ์์ ์ฒ์ ์ ํํ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๊ณ ์ถ์์ด์.
๊ทธ๋์ ๊ณต๊ณต๋ฐ์ดํฐ API์ ChatGPT๋ฅผ ํ์ฉํด์, ๋๊ตฌ๋ ์ฝ๊ฒ ์์ฝํ ์ ๋ณด๋ฅผ ๋ฌผ์ด๋ณผ ์ ์๋ GPT๋ฅผ ๋ง๋ค๊ฒ ๋์์ฃ !
2. ๋ง๋๋ ๊ณผ์ ์ ์ด๋ ๊ฒ! ๐ ๏ธ
1.๊ณต๊ณต๋ฐ์ดํฐํฌํธ(data.go.kr)์ ์ ์ > ์ธ๊ธฐ ๋ฐ์ดํฐ > ์คํ API ์ฐพ์ ๋ณด์์ต๋๋ค.
2.โ**์ํ์์ฝํ์์ ์ฒ_์์ฝํ๊ฐ์์ ๋ณด(e์ฝ์์)**โ ์ ์
3.'ํ์ฉ ์ ์ฒญ' ํด๋ฆญ > API ์ฌ์ฉ ์ ์ฒญ ๋ฐ ์์ฒญ URL๊ณผ Keyํ๋ณด
4.GPT ๋ง๋ค๊ธฐ]([https://chat.openai.com/gpts](https://chat.openai.com/gpts)) ํ์ด์ง ์ ์ ํ โ์์ฝํ ์ ๋ณด ๋์ฐ๋ฏธโ GPT ์์ฑ ์์
- '๋ง๋ค๊ธฐ'๋ก ์ฐ์ ์์ฑ
- โ๊ตฌ์ฑโ ํญ์ผ๋ก ์ด๋ํด์ GPT๊ฐ ์๋ ์ ์ํ ์ด๋ฆ/์ง์นจ/์ค๋ช ํ์ธ
- GPT ๋ง๋ค๊ธฐ ์ง์นจ์ ์ข ๋ ์์ธํ๊ฒ ๋ณด์(์ฑGPT ๋ฐ GPT๋ง๋๋ ๋ค๋ฅธ GPT ๋ค์๊ฒ ์ถ๊ฐ ๋ฌธ์)
- ๋ํ ์คํํฐ๋ ์์ฑ
- ์ง์นจ ๋ด์ฉ
# ๐ ์์ฝํ ์ ๋ณด ์ ๊ณต GPT ์ง์นจ์
์ด GPT๋ **๊ณต๊ณต๋ฐ์ดํฐ ํฌํธ(Open API)**์ ํ์ฉํด ์์ฝํ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์ฃผ๋ชฉ์ ์ผ๋ก ํฉ๋๋ค.
์ฌ์ฉ์์ ์ง๋ฌธ์ ๋ํด **์ ํํ๊ณ ์ ๋ขฐํ ์ ์๋ ์ฝ๋ฌผ ์ ๋ณด๋ฅผ ์น์ ํ๊ฒ ์๋ด**ํฉ๋๋ค.
---
## โ
๊ธฐ๋ฅ ๊ฐ์
- ์ฌ์ฉ์์ ์
๋ ฅ(์: ์์ฝํ ์ด๋ฆ, ํจ๋ฅ, ๋ถ์์ฉ, ๋ณต์ฉ๋ฒ ๋ฑ)์ ๋ฐ๋ผ
๐ **์ํ์์ฝํ์์ ์ฒ์ Open API**์์ ์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ์กฐํํด์ ์๋ตํฉ๋๋ค.
๐ API ์ฐ๊ฒฐ์ด ์ํํ์ง ์์ ๋๋ ์๋ฌ ์ํฉ ์ค๋ช
ํฉ๋๋ค.
๐ ๋ฏธ๋ฆฌ ํ์ต๋ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ตํฉ๋๋ค.
๐ ํจ๋ฅ์ด ๋น์ทํ ์ฝํ์ ์ ์ํฉ๋๋ค.
๐ ์๋ต์ ๋ง์ง๋ง์ ์ฌ์ฉ์๊ฐ ์ถ๊ฐ๋ก ๊ถ๊ธํดํ ์ ์๋ ์ฌํญ๋ค์ 2๊ฐ ์ ๋ ์ ์ํฉ๋๋ค.
- ์์ฝํ ๊ด๋ จ ์ง๋ฌธ์ **์๊ธฐ ์ฝ๊ฒ**, ํ์์ **์ ๋ฌธ์ฉ์ด๋ฅผ ํ์ดํด์** ์ค๋ช
ํฉ๋๋ค.
---
## Constraints
1. **์ ํ์ฑ**
- ๊ณต๊ณต ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ๋ณด๋ง ์ ๊ณต
- ์ ๋ณด์ ์ถ์ฒ(์: ์์ฝ์ฒ)๋ฅผ ๋ช
ํํ ๋ฐํ
2. **์ค๋ฆฝ์ฑ**
- ํน์ ์์ฝํ ์ถ์ฒ, ํ๋งค ์ ๋ ๊ธ์ง
- ์ํ์ ํ๋จ์ด ํ์ํ ๊ฒฝ์ฐ **์๋ฃ ์ ๋ฌธ๊ฐ ์๋ด์ ๊ถ์ฅ**
3. **์ดํด ์ค์ฌ ์๋ต**
- ์ง๋ฌธ์ด ๋ชจํธํ ๊ฒฝ์ฐ, **์ถ๊ฐ ์ค๋ช
์ ์์ฒญ**
- ๋ณต์กํ ์์ฝ ์ฉ์ด๋ ๊ฐ๋ฅํ ํ **์ฝ๊ฒ ํ์ด**
- ์ฌ์ฉ์์ ์์ฒญ ์ ํ์ ๋ฐ๋ผ ์ ์ฐํ๊ฒ ์๋ต
(์: ์ฑ๋ถ ์ค์ฌ vs ํจ๋ฅ ์ค์ฌ)
4. **์ํ์ ์กฐ์ธ ์ ํ**
- ์ด GPT๋ ์๋ฃ ์ ๋ฌธ๊ฐ๊ฐ ์๋๋ฉฐ,
**์ง๋จ, ์ฒ๋ฐฉ, ์น๋ฃ ๊ฐ์ด๋๋ฅผ ์ ๊ณตํ์ง ์์**
---
## ๐ฃ๏ธ ์์ ์๋ต ํค
> ๐ฌ "์ด ์ฝ์ ์ฌ๊ทผ๊ฒฝ์, ๋๊ฒฝ์ ํ์์ ํ์ ์ ์ต์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์์ฌ ์ ์ถฉ๋ถํ ๋ฌผ๊ณผ ํจ๊ป 1์ผ 1ํ ๋ณต์ฉํด ์ฃผ์ธ์.
๋ค๋ง, ์์ฅ ์ฅ์ ๋ ์ถํ ์ํ์ด ์์ ์ ์์ด์.
๋ถํธํ ์ฆ์์ด ์๋ค๋ฉด ๊ผญ ์ ๋ฌธ๊ฐ ์๋ด์ ๋ฐ์ผ์ธ์."5.โ์ ์์ ๋ง๋ค๊ธฐโ ํด๋ฆญ โย ์คํค๋ง ๊ตฌ์ฑ ์์
- ์ค์ ํฌ์ธํธ : ๊ธฐ๋ฅ > '์น ๊ฒ์' ๋๊ธฐ (์ผ๋ฉด ์น ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์ด ๋์ค๊ฒ ๋จ)
- "ActionGPT์์ ๋์๋ฐ๊ธฐ" ๋ฒํผ ํด๋ฆญ > ์คํค๋ง ์์ฒญ
- ๊ณต๊ณต๋ฐ์ดํฐ ํด๋น ์คํAPI ์์ธ ํ์ด์ง๋ฅผ ์ฒจ๋ถ
- ์์ธ ํ์ด์ง ๋ด์ ์ฐธ๊ณ ๋ฌธ์ "IROS_239_์์ฝํ๊ฐ์์ ๋ณด(e์ฝ์์) ์๋น์ค_v1.0.docx"๋ pdf๋ก ๋ณํํด์ ์ฒจ๋ถ
6.์คํค๋ง ์์ฑ
- Action GPT๋ฅผ ํตํด์ 1์ฐจ ์์ฑ
- GPT-4o, Claude์๊ฒ ๊ฒ์ฆ
- ์ด ๊ณผ์ ์์ ๋ง์ ํฐํคํ์นด~^^
์คํค๋ง ์ ๋ฌธ
{
"openapi": "3.1.0",
"info": {
"title": "DrbEasyDrugInfoService",
"description": "์ํ์์ฝํ์์ ์ฒ์์ ์ ๊ณตํ๋ ์์ฝํ๊ฐ์์ ๋ณด(e์ฝ์์) ์๋น์ค.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://apis.data.go.kr/1471000/DrbEasyDrugInfoService",
"description": "๊ณต๊ณต๋ฐ์ดํฐํฌํธ ์ด์ ํ๊ฒฝ (HTTPS)"
}
],
"paths": {
"/getDrbEasyDrugList": {
"get": {
"operationId": "getDrbEasyDrugList",
"summary": "์์ฝํ๊ฐ์์ ๋ณด ์กฐํ",
"description": "์ ํ๋ณ ๊ฐ์ ์ ๋ณด์ธ ์๊ธฐ ์ฌ์ด ์์ฝํ ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค.",
"parameters": [
{
"name": "serviceKey",
"in": "query",
"required": true,
"description": "๊ณต๊ณต๋ฐ์ดํฐํฌํธ์์ ๋ฐ๊ธ๋ฐ์ ์ธ์ฆํค (URL Encode ํ์)",
"schema": {
"type": "string",
"default": "๊ฐ์ธ_API Key ์
๋ ฅ"
}
},
{
"name": "pageNo",
"in": "query",
"required": false,
"description": "ํ์ด์ง ๋ฒํธ",
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "numOfRows",
"in": "query",
"required": false,
"description": "ํ ํ์ด์ง ๊ฒฐ๊ณผ ์",
"schema": {
"type": "integer",
"default": 10
}
},
{
"name": "entpName",
"in": "query",
"required": false,
"description": "์
์ฒด๋ช
",
"schema": {
"type": "string"
}
},
{
"name": "itemName",
"in": "query",
"required": false,
"description": "์ ํ๋ช
",
"schema": {
"type": "string"
}
},
{
"name": "itemSeq",
"in": "query",
"required": false,
"description": "ํ๋ชฉ๊ธฐ์ค์ฝ๋",
"schema": {
"type": "string"
}
},
{
"name": "type",
"in": "query",
"required": false,
"description": "์๋ต ํ์ (xml ๋๋ json)",
"schema": {
"type": "string",
"enum": ["xml", "json"],
"default": "json"
}
}
],
"responses": {
"200": {
"description": "์ฑ๊ณต ์๋ต",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"header": {
"type": "object",
"properties": {
"resultCode": { "type": "string" },
"resultMsg": { "type": "string" }
}
},
"body": {
"type": "object"
}
}
}
},
"application/xml": {
"schema": {
"type": "object"
}
}
}
}
}
}
}
}
}7.์ต์ข ๋ง๋ฌด๋ฆฌ
'๊ตฌ์ฑ'์์ ์ต์ข ๋ง๋ฌด๋ฆฌํ๊ธฐ
- '์ง์นจ'์ ๋ํด์ ChatGPT์๊ฒ ๋ฌป๊ณ ์ฌ์ ๋น
- ๋ํ์คํํฐ ์ฌ์ ๋น
- ๊ฐ์ธ์ ๋ณด๋ณดํธ์ ์ฑ ์ ๋ ฅ :ย [https://openai.com/policies/privacy-policy]
> ๐ ๋ด GPT ๋งํฌ: ๐ [์์ฝํ ์ ๋ณด ๋์ฐ๋ฏธ ๋ฐ๋ก๊ฐ๊ธฐ]
https://chatgpt.com/g/g-67e53955c0bc81918b1dfa34891ca0a1-yiyagpum-jeongbo-doumi
8.์ด์ฉํ๊ธฐ
3. ๊ณผ์ ์์ ๋๋ ์ ๐ง
-ย ๊ณต๊ณต๋ฐ์ดํฐ API ์ฐ๋, ์์ ์ ๋ณต์กํ๋๋ฐ GPT ๋น๋์์ ๋๋ฌด ์ฌ์์ก์ด์.
- ํนํย ์คํค๋ง ๊ตฌ์ฑ ์๋ํ ๋๊ตฌ(ActionGPT์๊ฒ ๋์ ๋ฐ๊ธฐ)๊ฐ ์ ๋ง ์น์ ํด์
GPT ๋ง๋ค๊ธฐ์ ์ง์ ์ฅ๋ฒฝ์ด ํ ๋ด๋ ค๊ฐ์ต๋๋ค!
- ์ด์ API ํค๋ง ์์ผ๋ฉด, GPT๋ฅผ ๋ค์ํย ๋ง์ถคํ ์๋น์ค ๋์ฐ๋ฏธ๋ก ๋๊ตฌ๋ ์ฝ๊ฒ!!!
- GPT๋ ํฐํคํ์นด, ํ ์๋ก ์ข์์ ธ์ ๐ค
์ฒ์์ ๋จ์ํ "์ฝ ์ด๋ฆ โ ์ค๋ช ์ถ๋ ฅ" ์ ๋๋ก๋ง ์๊ฐํ๋๋ฐ,
GPT์ ๋ํ๋ฅผ ๋ง์ด ํ ์๋ก ๋ต๋ณ์ ํ์ง์ด ํ์คํ ์ฌ๋ผ๊ฐ๊ณ ,
API ์ฐ๋ ๋ฐฉ๋ฒ ๋ฐ ์งํ ๋จ๊ณ์ ๋ํ ์ค๋ช ๋ ๊ตฌ์ฒดํ ๋์์ด์. ์๋ฌ ๋ฐ์ ๋น๋๋ ๋์ ๋๊ฒ ์ค๊ตฌ์.
๋ํํ API๋ผ๊ณ ์๊ฐํ๊ณ ๊ณ์ ๋ํ๋ฅผ ์ด์ด๊ฐ๋ฉด ์ ๋ง ๋๋ํด์ ธ์!
4. ๋ง๋ฌด๋ฆฌ & ๋ค์ ์์ด๋์ด ๐ก
๊ณต๊ณต๋ฐ์ดํฐ๋ ์์ฒญ๋ ๋ณด๋ฌผ์ฐฝ๊ณ
GPT๋ ์ฐ๊ฒฐ๋ง ์ํ๋ฉด, ๋ค์ํ ๊ธฐ๋ฅ์ ๋๋ง์ ์ฑ๋ด ์ ์ ๊ฐ๋ฅ
๐ ์: ๋ ์จ GPT, ๊ตํต์ ๋ณด GPT, ์ฌํ์ง์ ๋ณด GPT ๋ฑ
๐ฏ ์ด๋ฒ ์ฌ๋ก๋ย "๊ณต๊ณต๋ฐ์ดํฐ ์ฐ๋์ ๊ธฐ์ด ์ฐ์ต์ฉ"์ผ๋ก ๋ฑ์ผ ๋ฏ ํฉ๋๋ค. ๋ค์ ๋ฒ์๋ ๋ ๊ฐ ์ด์์ API๋ฅผ ์ฐ๋ํด์ ๋ค์ํ ์ ๋ณด๋ฅผ ์ฃผ๋ GPTs๋ฅผ ๋ง๋ค์ด ๋ณด๋ฉด ์ข์ ๋ฏ์!
5. OpenAPI์ ๊ณต๊ณต๋ฐ์ดํฐ ์๋ฒ ๊ฐ์ ์ถฉ๋?
์ฒซ ์ฐ๋ ์ดํ์ ๊ณ์ํด์ "ClientResponseError" ์ง์ ๋ฐ์
Claude ๋ฑ์ ํ์ฉํ์ฌ ๋ค์ํ ์คํค๋ง ์์ ์ ์งํํ์ผ๋, ์๋ฌ ๊ณ์ ๋ฐ์
ํด๋น ๊ณต๊ณต๋ฐ์ดํฐ ์๋ฒ๊ฐ OpenAPI์ ์์ฒญ์ ๊ฑฐ๋ถํ๋ ๊ฒ์ผ๋ก ํ๋จ๋จ
์ฐํ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ , ๊ณต๊ณต๋ฐ์ดํฐ > ์ฐํ ์๋ฒ > OpenAI ์ ๊ณผ์ ์ผ๋ก ์ฌ๊ตฌ์ถ ์ํ
์ฐํ ์๋ฒ๋ github, vercel์ ํ์ฉํด์ ๊ตฌ์ถ
API ์ฐํ ์๋ฒ ๊ตฌ์ถ์ ๋ํ ์์ธ ๋ด์ฉ์ ๋ค๋ฅธ ์ผ์ด์ค๋ก ์๊ฐํด ๋๋ฆด ์์
API ์ฐํ ์๋ฒ ๊ตฌ์ถ์ ๋ํ ์ผ์ด์ค (์๋ ๋ฐ๋ก๊ฐ๊ธฐ)
https://www.gpters.org/chatbot/post/public-data-api-case-J4b9IyEmailQVys