개요
Gemini API는 텍스트, 이미지, 동영상, 오디오를 입력으로 제공하면 텍스트 출력을 생성하는 다기능 인공지능 모델입니다. 본 가이드는 generateContent 및 streamGenerateContent 메서드를 사용하여 텍스트를 생성하는 방법을 설명합니다. 또한, 멀티모달 입력, 스트리밍 방식, 채팅 대화, 시스템 안내 추가 등 다양한 기능에 대해 다룹니다.
텍스트 생성
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의 텍스트 생성, 스트리밍, 멀티모달 입력, 채팅 대화, 시스템 안내 추가 등의 기능을 이해할 수 있습니다. 추가적으로 시각적 및 오디오 이해 기능을 활용하면 더욱 강력한 애플리케이션을 개발할 수 있습니다.
'오픈소스를 위한 기초 상식' 카테고리의 다른 글
오랜만에 파이썬: 함수(Function)와 매개변수(Parameter) (0) | 2025.02.14 |
---|---|
Gemini API: 텍스트, 이미지, 오디오를 활용한 AI 콘텐츠 생성 가이드 (1) | 2025.02.08 |
Gemini API: 인공지능의 새로운 가능성을 열다 (0) | 2025.02.04 |
CSV 파일로 데이터 저장: 데이터 관리와 활용의 첫걸음 (0) | 2025.02.02 |
Requests로 배우는 Python 웹 크롤링 기초와 실습 (0) | 2025.01.31 |