2023.04.29 - [프로젝트] - Chat GPT 활용 서비스 구현하기 - 1. 설계하기
2023.05.02 - [프로젝트] - Chat GPT 활용 서비스 구현하기 - 2. Open AI API 연동하기
2023.05.02 - [프로젝트] - Chat GPT 활용 서비스 구현하기 - 3. Open AI API 연동하기 ver2.
분석된 키워드를 기반으로 데이터베이스에 저장하기
지난 시간에 개발한 키워드 분석을 통해 추출한 질문과 키워드를 MySQL에 저장해보자.
ERD는 다음과 같이 설계했다.
Open AI API의 반환 결과는 저번 시간에 본 것처럼 카테고리 별, 질문 별 키워드로 구성되어 있다.
[
{
"category": "DB",
"questions": [
{
"question": "Database normalization이란 무엇인가요?",
"keywords": [
"데이터 정규화",
"1NF",
"2NF",
"3NF"
]
},
...
]
},
{
"category": "OperatingSystem",
"questions": [
{
"question": "프로세스와 스레드의 차이점은 무엇인가요?",
"keywords": [
"동시성",
"병렬성",
"메모리 공유"
]
},
...
]
},
...
]
저장 로직을 짜기 앞서 DTO를 저장하기 쉬운 구조로 변경하는 과정이 필요할 것 같다. 기존에 내가 진행하던 프로젝트와는 달리 모든 데이터가 한 번에 존재하기 때문에 이를 구조화하여 정리하는 과정이 필요하다.
(기존에 하던 프로젝트들에서는 DTO를 엔티티로 변경하기 쉽고 간결하게 받았다면 이번에는 엔티티화하기 나름 까다로웠다.)
카테고리가 바깥에 있고 질문이 리스트로 존재하는 구조이기 때문에 이에 맞춰서 구현하자.
아래는 구현 결과로 저장된 데이터이다.
- Question Table
- Keyword Table
- QuestionKeyword Table
위 이미지와 같이 저장은 잘 되었다. 그런데 좀 걸리는 게 하나 있다.
저장 로직 코드가 썩 깔끔하지는 않다. 고칠 방법을 생각해봐야 한다.
'프로젝트' 카테고리의 다른 글
Chat GPT 활용 서비스 구현하기 - 6. 스케쥴러 (0) | 2023.05.06 |
---|---|
Chat GPT 활용 서비스 구현하기 - 5. 메일로 전송하기 (2) | 2023.05.05 |
Chat GPT 활용 서비스 구현하기 - 3. Open AI API 연동하기 ver2. (0) | 2023.05.02 |
Chat GPT 활용 서비스 구현하기 - 2. Open AI API 연동하기 (0) | 2023.05.02 |
Chat GPT 활용 서비스 구현하기 - 1. 설계하기 (0) | 2023.04.29 |