본문 바로가기
오픈소스를 위한 기초 상식

Gemini API 사용 가이드

by 지나가는 프로도 2025. 2. 6.

개요

Gemini API는 텍스트, 이미지, 동영상, 오디오를 입력으로 제공하면 텍스트 출력을 생성하는 다기능 인공지능 모델입니다. 본 가이드는 generateContentstreamGenerateContent 메서드를 사용하여 텍스트를 생성하는 방법을 설명합니다. 또한, 멀티모달 입력, 스트리밍 방식, 채팅 대화, 시스템 안내 추가 등 다양한 기능에 대해 다룹니다.

 

텍스트 생성

Gemini API를 사용하여 텍스트를 생성하는 가장 간단한 방법은 단일 텍스트 입력을 제공하는 것입니다

더보기

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("How does AI work?")
print(response.text)

이 경우 모델은 단순한 제로샷 방식으로 응답을 생성합니다. 원샷 또는 몇 번의 샷 프롬프트를 활용하면 더 나은 결과를 얻을 수 있습니다.

Gemini API는 멀티모달 입력을 지원하여 텍스트와 이미지를 결합한 입력을 제공할 수 있습니다.

더보기

import google.generativeai as genai
import PIL.Image

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open("/path/to/organ.png")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)

 

Gemini API는 기본적으로 전체 텍스트를 생성한 후 응답을 반환합니다. 하지만 스트리밍을 사용하면 부분 결과를 빠르게 받을 수 있습니다.

더보기

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Explain how AI works", stream=True)
for chunk in response:
    print(chunk.text, end="")

 

Gemini API는 지속적인 대화를 위한 기능을 제공합니다. 여러 번의 질문과 응답을 관리할 수 있습니다.

더보기

import google.generativeai as genai

genai.configure(api_key="GEMINI_API_KEY")

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)

response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response2 = chat.send_message("How many paws are in my house?")
print(response2.text)

또한, 채팅과 스트리밍을 함께 사용할 수도 있습니다.

더보기

response = chat.send_message("I have 2 dogs in my house.", stream=True)
for chunk in response:
    print(chunk.text, end="")

 

GenerationConfig를 사용하면 모델의 응답을 조정할 수 있습니다.

더보기

response = model.generate_content(
    "Explain how AI works",
    generation_config=genai.GenerationConfig(
        max_output_tokens=1000,
        temperature=0.1,
    )
)
print(response.text)

 

시스템 안내를 사용하면 특정 요구사항에 맞춰 모델의 동작을 조정할 수 있습니다.

더보기

model = genai.GenerativeModel(
  model_name="gemini-1.5-flash",
  system_instruction="You are a cat. Your name is Neko."
)

이렇게 설정하면 모델이 주어진 역할에 맞게 응답을 생성합니다.

 

결론

이 가이드를 통해 Gemini API의 텍스트 생성, 스트리밍, 멀티모달 입력, 채팅 대화, 시스템 안내 추가 등의 기능을 이해할 수 있습니다. 추가적으로 시각적 및 오디오 이해 기능을 활용하면 더욱 강력한 애플리케이션을 개발할 수 있습니다.