목차
드디어 Gemini API를 써보기로 했습니다
솔직히 말씀드리면, 저는 꽤 오랫동안 OpenAI API만 쓰고 있었거든요. 익숙하기도 하고, 레퍼런스도 많고. 근데 작년부터 Google Gemini API가 계속 눈에 밟히기 시작했습니다. 특히 멀티모달(Multimodal) — 텍스트, 이미지, 오디오, 영상까지 하나의 API로 처리한다는 게 인프라 자동화 쪽에서 꽤 매력적으로 보이더라고요.
서버 로그 이미지 분석이라든가, 네트워크 토폴로지 다이어그램 해석이라든가. 이런 걸 텍스트 API 하나로만 하려면 전처리가 엄청 복잡해지는데, 이미지를 그냥 던져버릴 수 있다면 얘기가 달라지잖아요.
그래서 이번에 홈랩 프로젝트 겸 Google Gemini API를 제대로 파봤습니다. Google AI Studio 세팅부터 멀티모달 요청까지, 제가 삽질했던 부분들도 솔직하게 공유할게요.
▲ Google Gemini API의 멀티모달 아키텍처 — 텍스트, 이미지, 오디오, 영상을 하나의 엔드포인트로 처리합니다
Google Gemini API란? 기본 개념 정리
Gemini 모델 계열 이해하기
Gemini API를 쓰기 전에 모델 계열을 먼저 이해해야 해요. 저도 처음엔 이름이 너무 많아서 헷갈렸거든요.
| 모델명 | 특징 | 주요 용도 | 멀티모달 |
|---|---|---|---|
| Gemini 1.5 Pro | 최대 100만 토큰 컨텍스트, 고성능 | 복잡한 추론, 긴 문서 처리 | ✅ 지원 |
| Gemini 1.5 Flash | 빠른 응답, 비용 효율적 | 실시간 처리, 대량 요청 | ✅ 지원 |
| Gemini 1.0 Pro | 안정적인 범용 모델 | 텍스트 기반 작업 | ⚠️ 제한적 |
제 용도에는 Gemini 1.5 Flash가 제일 잘 맞더라고요. 홈랩 자동화 스크립트에서 API를 자주 호출하다 보니 응답 속도와 비용이 중요했거든요. Pro는 진짜 복잡한 분석이 필요할 때만 씁니다.
멀티모달(Multimodal)이 뭔데 이렇게 떠드냐면
쉽게 말해서, 기존 LLM API는 텍스트만 주고받는 구조였잖아요. 근데 멀티모달은 이미지, 영상, 오디오, PDF 같은 다양한 형식의 데이터를 텍스트와 함께 입력으로 넣을 수 있는 구조입니다.
인프라 엔지니어 관점에서 실용적인 예시를 들면:
- Grafana 대시보드 스크린샷을 던져주고 "이 그래프에서 이상 징후 찾아줘" 요청
- 서버 아키텍처 다이어그램 이미지를 분석해서 보안 취약점 리포트 생성
- 에러 로그 파일을 통째로 넣고 원인 분석 요청
- 네트워크 패킷 캡처 요약본 이미지 분석
이게 텍스트만 쓸 때랑 얼마나 차이가 나는지는 실제로 써보면 느낌이 와요. 아래에서 코드로 직접 보여드릴게요.
Google AI Studio 세팅 — API 키 발급부터
1단계: Google AI Studio 접속 및 API 키 발급
Gemini API를 쓰려면 먼저 Google AI Studio(aistudio.google.com)에서 API 키를 발급받아야 합니다. Google 계정만 있으면 되고, 무료 티어도 있어서 테스트하기엔 충분해요.
- aistudio.google.com 접속 후 Google 계정으로 로그인
- 좌측 메뉴에서 "Get API key" 클릭
- "Create API key" 선택 후 프로젝트 연결
- 발급된 키를 안전한 곳에 저장 (다시 볼 수 없으니 주의!)
⚠️ 주의: API 키는 절대 코드에 하드코딩하지 마세요. 저는 환경변수로 관리합니다.
# .env 파일 또는 환경변수로 관리
export GOOGLE_API_KEY="your-api-key-here"
# Python에서 불러올 때
# import os
# api_key = os.environ.get("GOOGLE_API_KEY")
2단계: Python SDK 설치
# Google Generative AI Python SDK 설치
pip install google-generativeai
# 버전 확인
pip show google-generativeai
저는 가상환경(venv)에서 작업하는 걸 항상 권장해요. 나중에 의존성 충돌로 고생하는 것보다 처음부터 깔끔하게 관리하는 게 낫거든요.
# 가상환경 생성 및 활성화
python3 -m venv gemini-env
source gemini-env/bin/activate # Linux/Mac
# gemini-env\\Scripts\\activate # Windows
pip install google-generativeai python-dotenv
▲ Google AI Studio에서 API 키를 발급받고 플레이그라운드에서 바로 테스트할 수 있습니다
실전 구현 — 텍스트부터 멀티모달까지
기본 텍스트 요청 — Hello, Gemini!
먼저 가장 기본적인 텍스트 요청부터 시작해봅시다. 이것만 돌아가도 절반은 성공이에요.
import google.generativeai as genai
import os
from dotenv import load_dotenv
# 환경변수 로드
load_dotenv()
# API 키 설정
genai.configure(api_key=os.environ.get("GOOGLE_API_KEY"))
# 모델 초기화 — gemini-1.5-flash 사용
model = genai.GenerativeModel("gemini-1.5-flash")
# 기본 텍스트 요청
response = model.generate_content(
"Linux 서버에서 메모리 누수를 디버깅하는 방법을 3단계로 설명해줘"
)
print(response.text)
처음 돌렸을 때 진짜 빠르게 응답이 오더라고요. 체감상 GPT-3.5 터보랑 비슷하거나 조금 빠른 느낌? 물론 이건 네트워크 상황마다 다르니 참고만 하세요.
멀티모달 요청 — 이미지 분석하기
자, 이제 진짜 재밌는 부분입니다. 이미지를 같이 넣어서 분석을 요청하는 거예요. 저는 이걸로 서버 모니터링 대시보드 스크린샷을 분석하는 스크립트를 만들었습니다.
import google.generativeai as genai
import PIL.Image
import os
from dotenv import load_dotenv
load_dotenv()
genai.configure(api_key=os.environ.get("GOOGLE_API_KEY"))
# 멀티모달 모델 초기화
model = genai.GenerativeModel("gemini-1.5-flash")
# 로컬 이미지 파일 로드
image = PIL.Image.open("server_dashboard.png")
# 이미지 + 텍스트 함께 요청
response = model.generate_content([
image,
"이 서버 모니터링 대시보드에서 이상 징후가 있는지 분석해줘. "
"CPU, 메모리, 네트워크 트래픽 관점에서 각각 평가해줘."
])
print(response.text)
💡 팁: PIL.Image 말고도 URL로 직접 이미지를 넘길 수도 있어요. 로컬 파일 없이 빠르게 테스트할 때 유용합니다.
import httpx
import google.generativeai as genai
# URL에서 이미지 직접 로드
image_url = "https://example.com/network-diagram.png"
image_data = httpx.get(image_url).content
# 바이트 데이터로 넘기기
response = model.generate_content([
{
"mime_type": "image/png",
"data": image_data
},
"이 네트워크 다이어그램에서 SPOF(Single Point of Failure)를 찾아줘"
])
print(response.text)
'IT > AI' 카테고리의 다른 글
| [AI] 고급 프롬프트 엔지니어링: ChatGPT와 Gemini 활용 극대화 전략 (0) | 2026.04.23 |
|---|---|
| [AI] Gemini API 실전 활용 가이드: 모델 선택부터 멀티모달 요청, 비용 절감 전략까지 (0) | 2026.04.23 |
| [AI] ChatGPT, Claude, Gemini: 실무 LLM 비교 분석 (2) | 2026.04.19 |
| [AI] Claude Opus 4.7 완벽 분석: AI 코딩·비전 성능 향상 및 토큰 비용 40% 절감 전략 (1) | 2026.04.17 |
| [AI] Ollama로 로컬 LLM 최신 모델 쉽게 설치하고 사용하기 (0) | 2026.04.16 |
| [AI] Ollama로 Mac mini에서 Gemma 4 26B 실행: Flash Attention 최적화 가이드 (0) | 2026.04.14 |