구글 제미나이 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)
'Python' 카테고리의 다른 글
Pydantic 2.0 업데이트: Python의 데이터 검증 및 구문 분석 향상 (0) | 2023.09.07 |
---|---|
[python] httpx BeautifulSoup 를 이용한 demoday 크롤링 (0) | 2023.03.10 |
[python] 파이썬 Pandas 재무 데이터 분석 (0) | 2023.02.27 |
python url parameter 인코딩 디코딩 변경방법 (0) | 2023.02.10 |
python error ERROR: 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다. 파이썬 에러 해결 (0) | 2023.02.10 |
댓글