Skip to content

feat: AI 추천 설명과 배포 시 OpenAI 키 영구 주입 - #195

Merged
hoshino-love0102 merged 1 commit into
mainfrom
codex/recommendation-ai-explanations
Oct 17, 2026
Merged

hoshino-love0102 merged 1 commit into
mainfrom
codex/recommendation-ai-explanations

Conversation

@hoshino-love0102

Copy link
Copy Markdown
Contributor

추천 근거를 짧은 한국어 문장으로 생성하고, 다른 변경이 main에 머지되어 재배포될 때도 OpenAI 키가 유지되도록 배포 경로를 구성합니다.

  • Spring에서 GPT-4.1 nano에 선택된 최대 3개 후보의 근거를 한 번에 전달합니다. 출력은 384토큰으로 제한하며 사용자 사진·식별자·메모는 전송하지 않습니다. 기존 추천 순위와 사진/시술 특성 근거를 유지합니다.
  • 생성 설명을 추천 기록에 저장하고 items[].explanation 및 기존 첫 추천 이유 메시지로 반환합니다. 재조회/동일 입력에는 재호출하지 않고, 제한 시간·API 오류·잘못된 응답에는 기본 문구를 사용합니다.
  • 별도 OPENAI_API_KEY 저장소 Secret을 매 배포의 환경 파일에 주입하며 PROD_ENV의 이전 값보다 우선합니다. 시크릿 누락은 기존 서버 변경 전에 차단하고, 배포 전후 컨테이너에서도 값 출력 없이 키 존재를 검사합니다. 반복 배포·교체·누락 검증을 CI와 Deploy에 추가했습니다.

검증: ./gradlew test bootJar 성공(616개 통과, 조건부 테스트 3개 제외), 배포 환경 회귀 테스트 4개 통과, YAML 구문 및 diff 확인 완료.

운영 설정: 저장소 Secret 등록은 완료했습니다. 실제 API 검증은 429 credit_balance_exhausted로 차단되어 모델의 실제 생성 결과는 확인하지 못했습니다. API 크레딧을 충전하기 전에는 기본 설명으로 동작합니다. 키 값은 코드/이미지/로그에 포함하지 않습니다.

@hoshino-love0102
hoshino-love0102 merged commit 5dcd5ca into main Oct 17, 2026
1 check 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.

1 participant