메인 기능인 시청 가이드와 추천을 위해서는 LLM 연동이 필수적이다.
TMDB와 AniList의 데이터를 받아오는 과정에서의 정합성(중복 체크, 업데이트, 시리즈 관리 등)문제도 있기 때문에
AniList 연동 이전에 LLM연동부터 진행하기로 하였다.
마침 제미나이는 개발 및 테스트 단계에서 활용하기 좋은 무료 등급을 제공한다고 한다.
Gemini API 키 발급
Google AI Studio 사이트로 이동하여 API키를 받으면 복사할 수 있는 키 문자열이 나오는데 이를 복사해 둔다.
Python 라이브러리 설치
프로젝트의 Python 환경(tmdb_collector.py가 있는 환경)에서 Gemini API를 사용하기 위한 공식 라이브러리를 설치한다.
pip install google-generativeai
API 키 보안 및 관리 (.env 파일 활용)
(라이브러리가 설치되어 있지 않다면 라이브러리 설치)
pip install python-dotenv
프로젝트 루트에 있는 .env파일을 열고 API키를 추가한다.
(설치되어 있는지 확인하는 코드 pip show python-dotenv)
코드 스니펫
# .env 파일
# 기존 TMDB, DB 정보...
TMDB_API_KEY="..."
DB_HOST="..."
DB_USER="..."
DB_PASSWORD="..."
DB_DATABASE="..."
# 새로 추가할 Gemini API 키
GEMINI_API_KEY="여기에_발급받은_API_키를_붙여넣으세요"
+ .gitignore에 .env파일이 포함되어 있는지 재확인
# gemini_test.py
import os
import google.generativeai as genai
from dotenv import load_dotenv
def main():
# .env 파일에서 환경 변수 로드
load_dotenv()
# API 키 설정
api_key = os.getenv("GEMINI_API_KEY")
if not api_key:
print("오류: .env 파일에 GEMINI_API_KEY가 설정되지 않았습니다.")
return
try:
genai.configure(api_key=api_key)
# 사용할 모델 선택 (gemini-1.5-flash는 빠르고 비용 효율적인 최신 모델)
model = genai.GenerativeModel('gemini-1.5-flash-latest')
# 테스트용 프롬프트
prompt = "대한민국의 수도는 어디야?"
print(f"Gemini에게 질문 중: \"{prompt}\"")
# API 호출
response = model.generate_content(prompt)
# 응답 출력
print("\n--- Gemini 응답 ---")
print(response.text)
print("--------------------")
print("\nAPI 연동 테스트 성공!")
except Exception as e:
print(f"API 호출 중 오류가 발생했습니다: {e}")
if __name__ == "__main__":
main()
PS C:\Users\admin\IdeaProjects\springproject\python_api_collector> python gemini_test.py
Gemini에게 질문 중: "대한민국의 수도는 어디야?"
--- Gemini 응답 ---
대한민국의 수도는 서울입니다.
--------------------
API 연동 테스트 성공!
PS C:\Users\admin\IdeaProjects\springproject\python_api_collector>
성공!