diff --git a/.github/workflows/cd_prod.yml b/.github/workflows/cd_prod.yml index 45ba55b..2490a40 100644 --- a/.github/workflows/cd_prod.yml +++ b/.github/workflows/cd_prod.yml @@ -78,7 +78,7 @@ jobs: # fcm 서버 키 설정 - name: Set up FCM server key run: | - cd ./peech/src/main/resources/ + cd ./src/main/resources/ echo "${{ secrets.FCM_SECRET_KEY }}" > ./peech_fcm.json # 2. Spring Boot 애플리케이션 빌드 diff --git a/.github/workflows/ci_prod.yml b/.github/workflows/ci_prod.yml index 5d0f4c2..c93edfa 100644 --- a/.github/workflows/ci_prod.yml +++ b/.github/workflows/ci_prod.yml @@ -77,7 +77,7 @@ jobs: # fcm 서버 키 설정 - name: Set up FCM server key run: | - cd ./peech/src/main/resources/ + cd ./src/main/resources/ echo "${{ secrets.FCM_SECRET_KEY }}" > ./peech_fcm.json # 2. Spring Boot 애플리케이션 빌드 diff --git a/.github/workflows/cicd_dev.yml b/.github/workflows/cicd_dev.yml index 8be63a5..3cc5e66 100644 --- a/.github/workflows/cicd_dev.yml +++ b/.github/workflows/cicd_dev.yml @@ -78,7 +78,7 @@ jobs: # fcm 서버 키 설정 - name: Set up FCM server key run: | - cd ./peech/src/main/resources/ + cd ./src/main/resources/ echo "${{ secrets.FCM_SECRET_KEY }}" > ./peech_fcm.json # 2. Spring Boot 애플리케이션 빌드 diff --git a/src/main/java/com/twentythree/peech/analyzescript/application/AnalyzeScriptFacade.java b/src/main/java/com/twentythree/peech/analyzescript/application/AnalyzeScriptFacade.java index 2360e64..ded172d 100644 --- a/src/main/java/com/twentythree/peech/analyzescript/application/AnalyzeScriptFacade.java +++ b/src/main/java/com/twentythree/peech/analyzescript/application/AnalyzeScriptFacade.java @@ -4,6 +4,8 @@ import com.twentythree.peech.fcm.application.NotificationService; import com.twentythree.peech.script.service.ScriptService; import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -14,6 +16,7 @@ public class AnalyzeScriptFacade { private final AnalyzeScriptPredictor analyzeScriptPredictor; private final ScriptService scriptService; private final NotificationService notificationService; + private final Logger log = LoggerFactory.getLogger(this.getClass()); @Async public void analyzeScriptAndSave(Long userId, Long scriptId, String scriptContent) { @@ -21,6 +24,10 @@ public void analyzeScriptAndSave(Long userId, Long scriptId, String scriptConten .thenAccept(result -> { scriptService.reflectAnalyzeResult(scriptId, result); notificationService.pushNotification(userId); + }) + .exceptionally(e -> { + log.error("스크립트 분석 중 예외 발생", e); + return null; }); } } diff --git a/src/main/java/com/twentythree/peech/analyzescript/domain/AnalyzeScriptPredictor.java b/src/main/java/com/twentythree/peech/analyzescript/domain/AnalyzeScriptPredictor.java index 7dffb22..377d99f 100644 --- a/src/main/java/com/twentythree/peech/analyzescript/domain/AnalyzeScriptPredictor.java +++ b/src/main/java/com/twentythree/peech/analyzescript/domain/AnalyzeScriptPredictor.java @@ -31,7 +31,13 @@ public CompletableFuture requestAnalyzeScript(String scriptContent) { String systemPrompt = gptSystemPrompt; messages.add(new Message("system", systemPrompt)); - String userPrompt = "아래의 글은 회사 면접을 위한 자기소개서입니다. 내용을 보고 자기소개서를 분석해주세요.\n"+ + String userPrompt = "분석 결과에 대한 응답값은 아래의 형식에 맞게 작성해야합니다.\n" + + "1. 전반적인 분석결과: 입력받은 자기소개서를 분석한 결과를 요약하여 작성해주세요\n" + + "2. 세부 분석결과 : 자기소개서 내용을 세부적으로 분석한 결과를 작성해주세요. 이때 작성방식은 아래와 같으며, 카테고리는 최대 5개를 넘기지 않도록 합니다.\n" + + "\t[분석된 항목에 대한 카테고리 이름]\n" + + "\t\t- 분석 내용: 해당 항목에서 드러난 내용에 대한 강점이 있다면 이를 포함하여 분석 내용을 간결하게 제시해 주세요.\n" + + "\t\t- 개선점 및 고려할 사항: 이 항목에서 보완할 수 있는 부분이 있다면 간결하게 제시해 주세요. " + + "보완할 내용이 없다면, 면접관으로부터 질문으로 받을 수 있을 만한 부분들을 제시해 주거나 큰 보완사항은 없습니다라고 응답해도 좋습니다.\n"+ "자기소개서: " + scriptContent; messages.add(new Message("user", userPrompt));