이 가이드에서는 PaLM API를 사용하는 방식에서 Gemini API를 사용하는 방식으로 Python용 Vertex AI SDK 코드를 마이그레이션하는 방법을 보여줍니다. Gemini로 텍스트, 멀티턴 대화(채팅), 코드를 생성할 수 있습니다. Gemini 출력은 PaLM 출력과 다를 수 있으므로 마이그레이션한 후 응답을 확인하세요.
Gemini와 PaLM의 차이점
Gemini와 PaLM 모델은 다음과 같은 몇 가지 차이점이 있습니다.
- 응답 구조가 다릅니다. Gemini 응답 구조에 대한 자세한 내용은 Gemini API 모델 참조 응답 본문을 참조하세요. 
- 안전 카테고리가 다릅니다. Gemini와 PaLM 안전 설정의 차이점에 대한 자세한 내용은 Gemini와 다른 모델 계열의 주요 차이점을 참조하세요. 
- Gemini는 코드 완성을 수행할 수 없습니다. 코드 완성 애플리케이션을 만들어야 하는 경우 - code-gecko모델을 사용합니다. 자세한 내용은 Codey 코드 완성 모델을 참조하세요.
- 코드 생성의 경우 Gemini의 인용 차단율이 더 높습니다. 
- 모델의 응답 신뢰도를 나타내는 Codey 코드 생성 모델의 신뢰도 점수는 Gemini에 노출되지 않습니다. 
Gemini 모델을 사용하도록 PaLM 코드 업데이트
GenerativeModel 클래스의 메서드는 대부분 PaLM 클래스의 메서드와 동일합니다. 예를 들어 GenerativeModel.start_chat를 사용하여 PaLM에 해당하는 ChatModel.start_chat를 바꿉니다. 하지만 Google Cloud 는 항상 Gemini를 개선하고 업데이트하므로 약간의 차이가 발생할 수 있습니다. 자세한 내용은 Python SDK 참조를 확인하세요.
PaLM API에서 Gemini API로 마이그레이션하려면 다음 코드 수정이 필요합니다.
- 모든 PaLM 모델 클래스의 경우 Gemini의 - GenerativeModel클래스를 사용합니다.
- GenerativeModel클래스를 사용하려면 다음 import 문을 실행합니다.- from vertexai.generative_models import GenerativeModel
- Gemini 모델을 로드하려면 - from_pretrained메서드를 사용하는 대신- GenerativeModel생성자를 사용합니다. 예를 들어 Gemini 1.0 Pro 모델을 로드하려면- GenerativeModel(gemini-2.0-flash-001)을 사용합니다.
- Gemini에서 텍스트를 생성하려면 PaLM 모델에 사용되는 - predict메서드 대신- GenerativeModel.generate_content메서드를 사용합니다. 예를 들면 다음과 같습니다.
model = GenerativeModel("gemini-2.0-flash-001") response = model.generate_content("Write a short poem about the moon")
Gemini와 PaLM 클래스 비교
각 PaLM 모델 클래스는 Gemini의 GenerativeModel 클래스로 대체됩니다. 다음 표에서는 PaLM 모델에서 사용되는 클래스와 Gemini의 해당 클래스를 보여줍니다.
| PaLM 모델 | PaLM 모델 클래스 | Gemini 모델 클래스 | 
|---|---|---|
| text-bison | TextGenerationModel | GenerativeModel | 
| chat-bison | ChatModel | GenerativeModel | 
| code-bison | CodeGenerationModel | GenerativeModel | 
| codechat-bison | CodeChatModel | GenerativeModel | 
일반 설정 안내
Vertex AI의 PaLM API 및 Gemini API 모두 설정 프로세스는 동일합니다. 자세한 내용은 Python용 Vertex AI SDK 소개를 참조하세요. 다음은 Vertex AI SDK for Python을 설치하는 짧은 코드 샘플입니다.
pip install google-cloud-aiplatform import vertexai vertexai.init(project="PROJECT_ID", location="LOCATION")
이 샘플 코드에서 PROJECT_ID를 Google Cloud 프로젝트 ID로 바꾸고 LOCATION을 Google Cloud 프로젝트 위치(예: us-central1)로 바꿉니다.
Gemini 및 PaLM 코드 샘플
다음 각 코드 샘플 쌍에는 PaLM 코드와 PaLM 코드에서 마이그레이션된 Gemini 코드가 나란히 포함됩니다.
텍스트 생성: 기본
다음 코드 샘플은 텍스트 생성 모델을 만들기 위한 PaLM API와 Gemini API의 차이점을 보여줍니다.
| PaLM | Gemini | 
|---|---|
| 
         | 
         | 
매개변수를 사용하여 텍스트 생성
다음 코드 샘플은 선택적 매개변수를 사용하여 텍스트 생성 모델을 만들기 위한 PaLM API와 Gemini API의 차이점을 보여줍니다.
| PaLM | Gemini | 
|---|---|
| 
         | 
         | 
채팅
다음 코드 샘플은 채팅 모델을 만들기 위한 PaLM API와 Gemini API의 차이점을 보여줍니다.
| PaLM | Gemini | 
|---|---|
| 
         | 
         | 
코드 생성
다음 코드 샘플은 윤년 여부를 예측하는 함수를 만들기 위한 PaLM API와 Gemini API의 차이점을 보여줍니다.
| Codey | Gemini | 
|---|---|
| 
         | 
         | 
Gemini 모델로 프롬프트 마이그레이션
이전에 PaLM 2 모델에서 사용한 프롬프트 세트가 있으면 Vertex AI 프롬프트 옵티마이저 (프리뷰)를 사용하여 Gemini 모델과 함께 사용할 수 있도록 최적화할 수 있습니다.
다음 단계
- 최신 모델 및 기능에 관한 자세한 내용은 Google 모델 페이지를 참조하세요.