개발일지 23 - LLM 연동

tk7580·2025년 6월 24일

LLM 연동

메인 기능인 시청 가이드와 추천을 위해서는 LLM 연동이 필수적이다.
TMDB와 AniList의 데이터를 받아오는 과정에서의 정합성(중복 체크, 업데이트, 시리즈 관리 등)문제도 있기 때문에
AniList 연동 이전에 LLM연동부터 진행하기로 하였다.

마침 제미나이는 개발 및 테스트 단계에서 활용하기 좋은 무료 등급을 제공한다고 한다.

  1. Gemini API 키 발급
    Google AI Studio 사이트로 이동하여 API키를 받으면 복사할 수 있는 키 문자열이 나오는데 이를 복사해 둔다.

  2. Python 라이브러리 설치
    프로젝트의 Python 환경(tmdb_collector.py가 있는 환경)에서 Gemini API를 사용하기 위한 공식 라이브러리를 설치한다.
    pip install google-generativeai

  3. 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파일이 포함되어 있는지 재확인

  1. 기본 연동 테스트 코드 작성
    간단한 스크립트로 호출을 테스트한다.
# 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> 

성공!

0개의 댓글