본문 바로가기
Python

구글 제미나이 Gemini, 파이썬 API 기초 사용법

by 퍼포먼스마케팅코더 2024. 1. 22.
반응형

구글 제미나이 Gemini, 파이썬 API 기초 사용법

안녕하세요 여러분, 오늘은 정말 특별한 이야기를 가지고 왔어요. 바로 구글의 최신 AI, 제미나이에 대한 이야기인데요. 지난해 12월에 구글이 발표한 이 AI는 정말 새롭고 흥미로운 기능들로 가득해요. 제가 이 제미나이를 직접 테스트 해보고, 파이썬 코드로 여러분께 쉽게 설명해드리고자 해요.

 

제미나이는 사용하기 정말 간단해요. 먼저, 구글 제너러티브 AI를 설정하려면 API 키가 필요해요. 이 API 키를 사용해서 설정을 시작하는 건데요, 설정할 때는 네 가지 주요 변수를 설정해야 합니다. 이 변수들은 여러분이 AI를 어떻게 사용할 것인지 결정하는 중요한 부분이에요.

 

여기서 새롭게 추가된 부분이 있어요. 바로 '안전 설정'이에요. 욕설이나 성적인 표현 같은 불쾌할 수 있는 내용들을 필터링해주는 기능이죠. 이렇게 안전 설정을 통해 더 쾌적하고 안전한 환경에서 AI를 사용할 수 있어요.

 

제미나이 프로 모델은 현재 무료로 제공되고 있어요. 지메일 계정만 있으면 누구나 쉽게 이용할 수 있답니다. 하지만 언제 유료로 전환될지 모르니, 지금 이 기회를 잘 활용해보시는 것도 좋을 것 같아요. 이제 파이썬 코드를 조금 변형해보면서 제미나이를 사용하는 방법을 알려드릴게요. 제가 약간 수정해둔 코드를 따라 하시면, 여러분도 AI를 쉽게 활용할 수 있을 거예요. 아래에 제가 준비한 내용을 참고해보세요. 이 기회에 제미나이를 마음껏 즐겨보시길 바라요. 감사합니다!

 

https://makersuite.google.com/app/prompts/new_chat

 

 

import google.generativeai as genai

def initialize_genai(api_key):
    """
    Google Generative AI 초기화 및 모델 설정 함수입니다.

    Args:
    api_key (str): Google Generative AI를 사용하기 위한 API 키입니다.

    Returns:
    genai.GenerativeModel: 설정된 모델을 반환합니다.
    """
    # API 키를 사용하여 Google Generative AI 구성
    genai.configure(api_key=api_key)

    # 생성 설정: 텍스트의 예측 가능성, 다양성, 최대 길이를 정의
    generation_config = {
        "temperature": 0.5,  # 예측 가능성과 창의성의 균형
        "top_p": 0.1,        # 텍스트 다양성을 위한 확률 설정
        "top_k": 1,          # 고려되는 최상위 예측 수 제한
        "max_output_tokens": 2048  # 생성될 텍스트의 최대 토큰 수
    }

    # 안전 설정: 특정 카테고리의 내용을 차단하기 위한 설정
    safety_settings = [
        {"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
        {"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
        {"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
        {"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_MEDIUM_AND_ABOVE"},
    ]

    # 모델 인스턴스 생성 및 설정 적용
    model = genai.GenerativeModel(model_name="gemini-pro",
                                  generation_config=generation_config,
                                  safety_settings=safety_settings)
    return model

def send_message(model, message):
    """
    모델을 사용하여 메시지를 전송하고 응답을 받는 함수입니다.

    Args:
    model (genai.GenerativeModel): 사용할 모델 객체입니다.
    message (str): 전송할 메시지 내용입니다.

    Returns:
    str: 모델의 응답 텍스트를 반환합니다.
    """
    # 대화 이력을 사용하여 새 메시지 전송
    convo = model.start_chat(history=[
        {"role": "user", "parts": [prompts_text]},
        {"role": "model", "parts": ["What would you like me to rewrite?"]}
    ])
    convo.send_message(message)

    # 응답 텍스트 결합 및 반환
    response_text = ''.join(part.get('text', '') for part in convo.last.parts)
    return response_text

# 사용 예시
api_key = "API 키 입력"
model = initialize_genai(api_key)

# 메시지 내용
content = """
여기에 전송할 메시지 내용을 입력합니다.
"""

# 응답 받기
response = send_message(model, content)
print(response)

 

 

반응형

댓글