Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

생성형 인공지능으로 더미 데이터 생성 #3

Merged
merged 5 commits into from
Dec 29, 2024

Conversation

Stark-Industries0417
Copy link
Collaborator

**기존에 사용하던 Faker 라이브러리를 통해 더미 데이터를 생성하는 방식에서 생성형 AI를 활용한 방식으로 변경하였습니다.
현재는 User 데이터만 생성하고 있지만, 추후에는 더 다양한 유형의 데이터를 생성해볼 계획입니다. **
감사합니다.

  1. Perplexity.kt

    • Perplexity API와 연동하는 기능 구현:

      • query() 함수: Perplexity API에서 게임 유저의 더미 데이터를 요청하고 응답 처리.
      • createRequestBody() 함수: API 요청의 JSON body 생성.
    • ObjectMapperGson을 활용한 JSON 직렬화 및 역직렬화.

    • OKHttp3 라이브러리를 사용한 HTTP 요청 로직 추가.

    • User 데이터 클래스 정의:

      • 사용자와 관련된 속성 정보 포함 (name, age, level, score, achievements, active).
    • Perplexity API 응답 데이터 형식 정의:

      • ApiResponse, Choice, Message 데이터 구조.
  2. Config.kt

    • config.yml 파일을 읽어 초기화하는 Config 객체 구현:

      • YAML 설정 파일(config.yml)에서 aiApiKey 값을 읽어와 저장.
      • ObjectMapper를 사용해 YAML 데이터를 객체로 매핑.
    • initialize() 메서드를 통해 Config 초기화 및 API 키 데이터 로드.

implementation("com.squareup.okhttp3:okhttp:4.12.0")

// json
implementation("com.google.code.gson:gson:2.10.1")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gson과 jackson을 동시에 사용할 이유가 있었던 것인가요?

Copy link
Collaborator

@f-lab-lyan f-lab-lyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드는 비교적 잘 이해가 되는 것 같습니다. 다만, gson과 jackson을 동시에 쓰셨는데, 이걸 한쪽으로 통일하면 더 좋을 것 같네요. 그리고 로그를 생성하기 위해서 Perpliexity에 로그를 요청하는데, 이렇게 하면, 대용량의 로그를 생성하기는 힘들지 않을까요? 많은 로그를 빠른시간에 생성할 수 있는 방법을 고민해보시며 좋을 것 같습니다. :-)

@Stark-Industries0417 Stark-Industries0417 merged commit 28959a1 into main Dec 29, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants