feat : 분석 프롬프트 수정(리뷰 분석시 부정의견 추가.)
This commit is contained in:
parent
a67cd0db79
commit
a0eb5f8979
@ -4,6 +4,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.ToString;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
@ -16,12 +17,14 @@ import java.util.List;
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@ToString
|
||||
public class AiFeedback {
|
||||
|
||||
private Long id;
|
||||
private Long storeId;
|
||||
private String summary;
|
||||
private List<String> positivePoints;
|
||||
private List<String> negativePoints;
|
||||
private List<String> improvementPoints;
|
||||
private List<String> recommendations;
|
||||
private String sentimentAnalysis;
|
||||
|
||||
@ -123,6 +123,7 @@ public class AnalyticsService implements AnalyticsUseCase {
|
||||
.storeId(storeId)
|
||||
.summary(aiFeedback.get().getSummary())
|
||||
.positivePoints(aiFeedback.get().getPositivePoints())
|
||||
.negativePoints(aiFeedback.get().getNegativePoints())
|
||||
.improvementPoints(aiFeedback.get().getImprovementPoints())
|
||||
.recommendations(aiFeedback.get().getRecommendations())
|
||||
.sentimentAnalysis(aiFeedback.get().getSentimentAnalysis())
|
||||
@ -460,6 +461,7 @@ public class AnalyticsService implements AnalyticsUseCase {
|
||||
.feedbackId(aiFeedback.getId())
|
||||
.summary(aiFeedback.getSummary())
|
||||
.positivePoints(aiFeedback.getPositivePoints())
|
||||
.negativePoints(aiFeedback.getNegativePoints())
|
||||
.improvementPoints(aiFeedback.getImprovementPoints())
|
||||
.recommendations(aiFeedback.getRecommendations())
|
||||
.sentimentAnalysis(aiFeedback.getSentimentAnalysis())
|
||||
@ -530,11 +532,13 @@ public class AnalyticsService implements AnalyticsUseCase {
|
||||
// 2. 실제 AI 서비스 호출 (기존 하드코딩 부분을 수정)
|
||||
AiFeedback aiFeedback = aiServicePort.generateFeedback(reviewData);
|
||||
|
||||
|
||||
// 3. 도메인 객체 속성 설정
|
||||
AiFeedback completeAiFeedback = AiFeedback.builder()
|
||||
.storeId(storeId)
|
||||
.summary(aiFeedback.getSummary())
|
||||
.positivePoints(aiFeedback.getPositivePoints())
|
||||
.negativePoints(aiFeedback.getNegativePoints())
|
||||
.improvementPoints(aiFeedback.getImprovementPoints())
|
||||
.recommendations(aiFeedback.getRecommendations())
|
||||
.sentimentAnalysis(aiFeedback.getSentimentAnalysis())
|
||||
|
||||
@ -31,6 +31,9 @@ public class AiAnalysisResponse {
|
||||
@Schema(description = "긍정적 요소")
|
||||
private List<String> positivePoints;
|
||||
|
||||
@Schema(description = "부정적 요소")
|
||||
private List<String> negativePoints;
|
||||
|
||||
@Schema(description = "개선점")
|
||||
private List<String> improvementPoints;
|
||||
|
||||
|
||||
@ -23,6 +23,7 @@ public class AiFeedbackDetailResponse {
|
||||
private Long storeId;
|
||||
private String summary;
|
||||
private List<String> positivePoints;
|
||||
private List<String> negativePoints;
|
||||
private List<String> improvementPoints;
|
||||
private List<String> existActionPlan; // improvemnetPoints 중에서 처리 된것.
|
||||
private List<String> recommendations;
|
||||
|
||||
@ -176,6 +176,7 @@ public class AIServiceAdapter implements AIServicePort {
|
||||
{
|
||||
"summary": "전체적인 분석 요약(2-3문장)",
|
||||
"positivePoints": ["긍정적 요소1", "긍정적 요소2", "긍정적 요소3"],
|
||||
"negativePoints": ["부정적 요소1", "부정적 요소2", "부정적 요소3"],
|
||||
"improvementPoints": ["개선점1", "개선점2", "개선점3"],
|
||||
"recommendations": ["추천사항1", "추천사항2", "추천사항3"],
|
||||
"sentimentAnalysis": "전체적인 감정 분석 결과",
|
||||
@ -187,6 +188,7 @@ public class AIServiceAdapter implements AIServicePort {
|
||||
|
||||
분석 시 다음 사항을 고려해주세요:
|
||||
1. 긍정적 요소는 고객들이 자주 언급하는 좋은 점들
|
||||
2. 부정적 요소는 고객들이 자주 언급하는 안좋은 점들(없는 경우에는 없음으로 표시)
|
||||
2. 개선점은 부정적 피드백이나 불만사항
|
||||
3. 추천사항은 매장 운영에 도움이 될 구체적인 제안
|
||||
4. 신뢰도 점수는 0.0-1.0 사이의 값
|
||||
@ -278,6 +280,7 @@ public class AIServiceAdapter implements AIServicePort {
|
||||
return AiFeedback.builder()
|
||||
.summary((String) result.get("summary"))
|
||||
.positivePoints((List<String>) result.get("positivePoints"))
|
||||
.negativePoints((List<String>) result.get("negativePoints"))
|
||||
.improvementPoints((List<String>) result.get("improvementPoints"))
|
||||
.recommendations((List<String>) result.get("recommendations"))
|
||||
.sentimentAnalysis((String) result.get("sentimentAnalysis"))
|
||||
|
||||
@ -105,6 +105,7 @@ public class AnalyticsRepositoryAdapter implements AnalyticsPort {
|
||||
.storeId(entity.getStoreId())
|
||||
.summary(entity.getSummary())
|
||||
.positivePoints(parseJsonToList(entity.getPositivePointsJson()))
|
||||
.negativePoints(parseJsonToList(entity.getNegativePointsJson()))
|
||||
.improvementPoints(parseJsonToList(entity.getImprovementPointsJson()))
|
||||
.recommendations(parseJsonToList(entity.getRecommendationsJson()))
|
||||
.sentimentAnalysis(entity.getSentimentAnalysis())
|
||||
@ -124,6 +125,7 @@ public class AnalyticsRepositoryAdapter implements AnalyticsPort {
|
||||
.storeId(domain.getStoreId())
|
||||
.summary(domain.getSummary())
|
||||
.positivePointsJson(parseListToJson(domain.getPositivePoints()))
|
||||
.negativePointsJson(parseListToJson(domain.getNegativePoints()))
|
||||
.improvementPointsJson(parseListToJson(domain.getImprovementPoints()))
|
||||
.recommendationsJson(parseListToJson(domain.getRecommendations()))
|
||||
.sentimentAnalysis(domain.getSentimentAnalysis())
|
||||
|
||||
@ -42,7 +42,10 @@ public class AiFeedbackEntity {
|
||||
|
||||
@Column(name = "positive_points", columnDefinition = "TEXT")
|
||||
private String positivePointsJson;
|
||||
|
||||
|
||||
@Column(name = "negative_points", columnDefinition = "TEXT")
|
||||
private String negativePointsJson;
|
||||
|
||||
@Column(name = "improvement_points", columnDefinition = "TEXT")
|
||||
private String improvementPointsJson;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user