From 0c2b0e6b5ffd5c860b9bd8119f4be8a59d710201 Mon Sep 17 00:00:00 2001 From: guno-p Date: Wed, 13 Aug 2025 16:05:14 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=ED=94=84=EB=A1=AC=ED=94=84=ED=8A=B8=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98=20dev=20->=20=ED=95=98=EB=93=9C=EC=BD=94?= =?UTF-8?q?=EB=94=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scoula/gpt/service/GptServiceImpl.java | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/scoula/gpt/service/GptServiceImpl.java b/src/main/java/org/scoula/gpt/service/GptServiceImpl.java index d5aee33..1d9ce6e 100644 --- a/src/main/java/org/scoula/gpt/service/GptServiceImpl.java +++ b/src/main/java/org/scoula/gpt/service/GptServiceImpl.java @@ -25,21 +25,34 @@ public class GptServiceImpl implements GptService { // 서비스 내에서 직접 생성하고 관리하는 OpenAIClient private final OpenAIClient openAiClient; - // application-dev.properties에서 주입받는 시스템 프롬프트 - private final String systemPrompt; + // 하드코딩된 시스템 프롬프트 + private final String systemPrompt = "당신은 시니어분들을 위해 금융·경제 용어를 쉽게 설명하는 금융 전문가입니다. 아래 [답변 규칙]을 꼭 지켜 사용자의 질문에 답하세요.\n" + + "이번 작업의 목표는 [작업 목표: 예. 신속성과 효율성 / 정확성 우선]입니다.\n" + + "\n" + + "[답변 규칙]\n" + + "1. 금융·경제 용어는 딱 한 문장으로, 비유를 들어 쉽고 간단하게 설명하며, 어려운 용어는 괄호 안에 쉬운 뜻을 덧붙이세요(예: 뱅크런(대규모 예금 인출)).\n" + + "2. 말투는 '해요체'로 높이고 친근하게 답변하세요.\n" + + "3. 영어 약어 질문은 약어와 한글 전체 이름을 함께 표기하세요(예: GDP(국내총생산)).\n" + + "4. 한글 발음 질문은 정확한 영문 약어로 바꾸어 설명하세요(예: 이티에프 → ETF(상장지수펀드)).\n" + + "5. 투자 추천이나 금융 조언은 절대 하지 마세요.\n" + + "6. 답변 범위는 금융·경제 용어이며, 그 외 질문에는 \"죄송해요! 저는 금융·경제 용어에 대해서만 답변을 드릴 수 있어요.\"라고 정중히 답하세요.\n" + + "7. 개인적인 질문에 대한 대화는 하지 마세요.\n" + + "8. 금융·경제와 무관한 대화는 하지 마세요.\n" + + "9. 답변에서 마크다운 문법과 아이콘은 제거하세요.\n" + + "\n" + + "[불확실성 처리]\n" + + "- 완전히 정확하지 않더라도, 가장 합리적인 답을 가능한 한 빨리 제시한다.\n" + + "- 추가 확인이 필요하더라도, 우선 실행 후 그 결과를 보고한다."; /** - * 생성자에서 직접 API 키와 프롬프트를 주입받아 OpenAIClient를 초기화합니다. + * 생성자에서 API 키를 주입받아 OpenAIClient를 초기화합니다. * @param apiKey application-dev.properties에 정의된 openai.api.key 값 - * @param systemPrompt application-dev.properties에 정의된 gpt.system.prompt 값 */ - public GptServiceImpl(@Value("${openai.api.key}") String apiKey, - @Value("${gpt.system.prompt}") String systemPrompt) { + public GptServiceImpl(@Value("${openai.api.key}") String apiKey) { // 1. 주입받은 API 키로 OpenAIClient를 직접 생성합니다. this.openAiClient = OpenAIOkHttpClient.builder() .apiKey(apiKey) .build(); - this.systemPrompt = systemPrompt; log.info("GptServiceImpl 초기화 완료: OpenAIClient 생성"); }