안녕하세요.
이번 시간에는 Python에서 Gemini 모델을 API를 통해 호출하는 방법에 대하여
쉽게 정리해보도록 하겠습니다.
API 키 발급
먼저, 구글에서 제공하는 Gemini 모델을 사용하기 위한 API 키를 발급해야 합니다.
발급은 아래의 링크에서 가능하며,
https://aistudio.google.com/app/apikey?hl=ko
결제 수단 등록 없이 무료 계정으로도 일정량 사용이 가능하나,
절대로 키 유출이 되지 않도록 반드시 유의해주세요.
모듈 설치 및 사용 가능 모델 확인
Gemini 기능 사용을 위한 google-generativeai 모듈 설치가 필요합니다.
설치 명령어는 다음과 같습니다.
!pip install -q -U google-generativeai
이후, 위에서 발급 받았던 API 키를 가지고 등록을 진행해줍니다.
import google.generativeai as genai
API_KEY="위에서 발급 받은 API 키"
genai.configure(api_key=API_KEY)
사용 가능 모델은 다음과 같이 확인이 가능합니다.
for m in genai.list_models():
if "generateContent" in m.supported_generation_methods:
print(m.name)
저희는 이 중에서 "gemini-2.0-flash" 모델을 이번 예제에서 사용해보도록 하겠습니다.
model = genai.GenerativeModel("gemini-2.0-flash")
텍스트 Input 예제
이제 선언한 모델을 기준으로 텍스트 input을 넣어 호출해보도록 하겠습니다.
response = model.generate_content("15 + 27은 얼마일까요?")
print(response.text) # 15 + 27 = 42 입니다.
다음과 같은 형태로 multi-turn 대화도 가능합니다.
messages = [
{
"role": "user",
"parts": ["제시해준 두 수를 더한 값을 말하시오. 15 35"],
},
{
"role": "assistant",
"parts": ["50"],
},
{
"role": "user",
"parts": ["15 27"],
}
]
response = model.generate_content(messages)
print(response.text) # 42
이미지 Input 예제
이번에는 이미지 input이 포함된 API 호출 예제를 다루어 보겠습니다.
이 과정에서는 pillow 모듈이 필요하며, 설치는 다음 명령어로 진행하시면 됩니다.
!pip install pillow
이미지 객체 다음과 같이 불러옵니다.
import PIL.Image
img = PIL.Image.open("image.jpg") # 이미지가 저장된 경로를 지정
호출은 text input의 경우와 유사하게 다음과 같이 리스트에 이미지 객체를 포함시켜서
진행해주시면 됩니다.
response = model.generate_content(
[
"제시된 이미지를 3문장 이내의 한국어로 설명해주세요.",
img,
]
)
print(response.text) # 잔디밭에 앉아있는 검은색 래브라도 리트리버가 보인다. 목에는 빨간색 목걸이를 하고 있으며, 주변에는 나무들이 보인다. 강아지는 카메라를 바라보며 앉아있다.
OpenAI 호환성
위와 같은 방법으로 Gemini를 호출하는 것도 가능하지만,
만일 기존에 OpenAI 모듈을 활용하고 있었다면 쉽게 호환시키는 방법도 가능합니다.
base_url을 아래와 같이 지정한 뒤, 기존 OpenAI 모듈과 동일하게 사용해주시면 됩니다.
from openai import OpenAI
client = OpenAI(
api_key="발급받은 GEMINI용 API KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-2.0-flash",
n=1,
messages=[
{"role": "system", "content": "제시된 두 수를 더하시오."},
{
"role": "user",
"content": "15 27"
}
]
)
print(response.choices[0].message.content) # 15 + 27 = 42
이 글이 Gemini API 사용 과정에 도움이 되셨다면 좋겠습니다.
감사합니다.
'Python > NLP Code' 카테고리의 다른 글
파이썬 generativeai에서 safety level 세팅 방법(Gemini API 콘텐츠 필터 해제) (0) | 2025.04.09 |
---|---|
파이썬 고성능 언어 감지 모듈 Lingua 소개 및 예제 (0) | 2025.02.06 |
LangChain 활용 ReAct 알고리즘 구현 예제 (0) | 2025.01.14 |