본문 바로가기

IT/개발

google gemini API text 모델을 이용한 개발 기초(제미나이, gemini-pro)

반응형

 

여기서는 google gemini API를 이용하여 Text 모델을 구동 시켜 보는 예제를 살펴 보겠습니다. 

 

API 사용에 대한 기초는 다음을 참고.

 

https://yongeekd01.tistory.com/179

 

google gemini API 이용 개발 기초(제미나이 소개, API 사용준비, 모델들, gemini-pro, gemini-pro-vision)

1. Google gemini 소개 1.1 Gemini 개요 제미나이는 구글 AI에서 개발한 멀티모달 기반 대규모 언어 모델입니다. 텍스트, 이미지, 오디오, 동영상, 코드 등 다양한 형태의 정보를 이해하고 처리할 수 있는

yongeekd01.tistory.com

 

 

1. gemini-pro 모델 사용 예제 

GenerativeModel을 이용하여 원하는 텍스트 모델을 지정하고 GenerativeModel.generate_content 메서드에 프롬프트 문자열을 전달할 수 있습니다

 

1.0은 한글 처리가 아직 약간 부족한듯 합니다. preview 모델인 1.5는 한글 오류가 거의 없어진것 같더라고요. 

 

 
import google.generativeai as genai
import os

# 환경 변수에서 GOOGLE_API_KEY를 가져와 변수에 저장
GOOGLE_API_KEY = os.getenv('GOOGLE_API_KEY')  
# genai 모듈을 구성하고 API 키를 설정
genai.configure(api_key=GOOGLE_API_KEY)  

# 'generateContent'를 지원하는 모델을 출력
for m in genai.list_models():  
    if 'generateContent' in m.supported_generation_methods:  
        print(m.name)  

# gemini-pro 모델을 사용하여 GenerativeModel 객체 생성        
model = genai.GenerativeModel('models/gemini-pro')

response = model.generate_content("Write a poem about flowers in English")
print(response.text)

response = model.generate_content("한국어로 꽃에 대한 시를 지어봐")
print(response.text)

'''
**Floral Symphony**

Oh, blooms of beauty, ephemeral and bright,
Your petals dance with colors, a wondrous sight.
From vibrant hues to whispers soft and sweet,
Your symphony of shades, a vibrant treat.

Your fragrance fills the air with sweet perfume,
A fragrant tapestry that weaves a timeless loom.
Each scent a melody, a whisper in the breeze,
Inviting hearts to find solace and ease.

Petals unfurl like secrets yet untold,
Soft as velvet, promising stories to be unrolled.
Veins of crimson, golden threads of light,
Nature's artistry, a celestial delight.

Like delicate dancers in a graceful ballet,
Your stems sway gently, following nature's sway.
From towering lilies to petite pansies fair,
Each bloom unique, beyond compare.

In gardens fair, you bloom with cheerful grace,
A vibrant canvas where beauty finds its place.
A symphony of colors, a feast for the eyes,
Flowers in bloom, a heavenly paradise.

꽃, 아름다운 꽃,
자연의 선물, 얼마나 화려한지.

꽃잎의 부드러움, 색깔의 밝음,
향기로운 향기, 마음을 사로잡는다.

봄이 오면 꽃이 핀다,
새로운 삶과 희망의 상징.

여름에는 꽃이 만발하다,
태양의 따뜻함과 비의 축복.

가을이 오면 꽃이 시든다,
그러나 겨울이 지나면 다시 피어난다.

꽃, 인내와 회복력의 상징,
삶의 끊임없는 순환을 상기시킨다.

너는 우리 마음에 기쁨을 주고,
우리 영혼을 고무한다.

꽃, 아름다운 꽃,
자연의 선물, 영원히 사랑받을 것이다.
'''
 

 

API가 결과를 반환하지 못하면 GenerateContentRespose.prompt_피드백을 사용하여 프롬프트와 관련된 안전 문제로 인해 차단되었는지 확인가능합니다.

 

response.prompt_feedback

 

safety_ratings {

  category: HARM_CATEGORY_SEXUALLY_EXPLICIT

  probability: NEGLIGIBLE

}

safety_ratings {

  category: HARM_CATEGORY_HATE_SPEECH

  probability: NEGLIGIBLE

}

safety_ratings {

  category: HARM_CATEGORY_HARASSMENT

  probability: NEGLIGIBLE

}

safety_ratings {

  category: HARM_CATEGORY_DANGEROUS_CONTENT

  probability: NEGLIGIBLE

}

 

 

반응형