Skip to content

Commit 3432398

Browse files
authored
Merge pull request #34 from BestDAOU/yechan
Yechan
2 parents 053b14a + f1a64a2 commit 3432398

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/main/java/bestDAOU/PicMessage_backend/config/WebConfig.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public void addCorsMappings(CorsRegistry registry) {
1717
// .allowedOriginPatterns("http://223.194.154.236:3000") // React 앱이 실행되는 포트
1818
.allowedOriginPatterns(
1919
"http://localhost:3000",
20-
"http://223.194.154.236:3000"
20+
"http://223.194.159.100:3000"
2121
)
2222
.allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH","OPTIONS") // 허용할 HTTP 메서드
2323
.allowedHeaders("*") // 모든 헤더 허용

src/main/java/bestDAOU/PicMessage_backend/service/ChatService.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,8 @@ private Map<String, Object> handlePersonalizedMessage(String userMessage) {
283283
// 4) GPT 프롬프트 조립
284284
String prompt = String.format("""
285285
너는 1:1 대화 형식의 친구 대리 쳇봇이야.
286-
아래 내용을 참고해서, 사용자 요청 문장을 더 자연스럽고 따뜻하게 바꿔줘.
286+
사용자 요청을 더 자연스럽고 따뜻하게 바꿔줄 때,\s
287+
**반드시** 수신자의 [특징]과 [메모]를 참고하여 문장 곳곳에 녹여내야 해.
287288
288289
[수신자 정보]
289290
이름: %s
@@ -307,13 +308,14 @@ private Map<String, Object> handlePersonalizedMessage(String userMessage) {
307308
body
308309
);
309310

311+
System.out.println("prompt = " + prompt);
310312
// 5) GPT 호출
311313
String rawResponse = callPersonalizedGPT(prompt);
312314
log.debug("Raw GPT response: {}", rawResponse);
313315
// 6) 'content: "..."' 프리픽스 또는 JSON 래퍼 제거 후 본문만 추출
314316
String aiMessage = rawResponse.trim();
315-
// 6-1) content: "..." 패턴
316-
Matcher m = Pattern.compile("^content:\\s*\"([\\s\\S]*)\"$").matcher(aiMessage);
317+
// 6-1) content: "..." 또는 내용: "..." 패턴으로 감싸인 경우 본문만 추출
318+
Matcher m = Pattern.compile("^(?:content|내용):\\s*\"([\\s\\S]*)\"$").matcher(aiMessage);
317319
if (m.find()) {
318320
aiMessage = m.group(1);
319321
} else {
@@ -353,8 +355,11 @@ private String callPersonalizedGPT(String prompt) {
353355
"model", "gpt-4o",
354356
"messages", List.of(
355357
Map.of("role", "system", "content",
356-
"너는 친구에게 보내는 따뜻한 1:1 대화 메시지를 다듬어 주는 AI야. " +
357-
"오직 content 필드에만 최종 메시지를 담아 응답해줘."
358+
"너는 친구에게 보내는 따뜻한 문자 메시지를 대신 작성해주는 AI야.\n" +
359+
"- 사용자가 작성한 메시지를 참고해서 더 자연스럽고 따뜻한 말투로 다듬어줘.\n" +
360+
"- 수신자의 특징과 메모, 말투 지침을 잘 반영해서 문장을 구성해.\n" +
361+
"- 응답은 **오직 메시지 본문만** 출력해. 다른 설명이나 접두어 없이 바로 메시지만 출력해.\n" +
362+
"- 예: \"예찬아, 새해 복 많이 받아! 올해도 운동 열심히 하자!\""
358363
),
359364
Map.of("role", "user", "content", prompt)
360365
)

0 commit comments

Comments
 (0)