AI 연동 (Gemini API)
오늘은 AI 서비스 도메인 구축을 처음 도전해봤다 그래서 주변에서 Google Gemini API를 많이 연동한다고 추천을 받아
진행하였다.
목표는 리뷰 번역 기능을 처리하는 별도 AI 서비스 도메인을 만드는 것이었고, 이를 위해 다음과 같은 작업을 수행했다:
💡 주요 작업
- ai-service 모듈 생성(4계층)
- Google Gemini API 연동 시도
- 번역 기능 구현 (입력 텍스트 → 영어 번역)
- 서비스-컨트롤러-클라이언트 구조 정립
- 추후 다양한 AI 기능 확장을 고려한 유연한 구조 설계
주요 작업으로는 이렇게 목표로 잡고 진행하였다.
진행 순서
- Google AI Studio 가입 및 API Key 발급
- Google 계정으로 AI Studio에 로그인
- Gemini Pro API 키를 생성 후 .yml 설정 파일에 저장
- API 호출을 위한 기본 endpoint 확인 및 적용
- ai-service 도메인 구성
- ai-service라는 별도 모듈 생성
- Controller → Service → Client 구조로 레이어 분리
- 공통 AiResponseDto 생성하여 응답 포맷 통일
- Google Gemini API 연동
- HTTP 통신을 위해 WebClient 사용
- Google Gemini API에 프롬프트 형태로 메시지 전달
- 응답 결과에서 번역된 텍스트만 파싱하여 클라이언트에 전달
- 기본 번역 기능 구현
- 요청 텍스트를 영어로 번역하는 단순 기능 우선 구현
- 리뷰 번역 등 텍스트 기반 AI 기능 확장을 염두에 둔 설계
ex)
요청:
{
"text": "오늘도 수고 많으셨습니다!"
}
응답:
{
"translatedText": "Thank you for your hard work today!"
}
💭 느낀 점
- 처음 해보는 AI API 연동이라 생소했지만, API 문서를 기반으로 구조를 잡아가며 구현해볼 수 있었다.
- 프롬프트 기반의 응답 제어가 익숙하지 않았는데, 조금씩 익혀가는 중이다.
- 리뷰 도메인과의 통합도 무리 없이 가능할 것으로 보여, 확장성이 기대된다.
- 일단은 리뷰 번역기능만 추가하였지만 익숙해지면 다른 기능까지 고려해볼만 하다고 생각되었다.