Migrate from PaLM to Gemini model
Source notebook
Repo path:
gemini/evaluation/evaltask_approach/compare_and_migrate_from_palm_to_gemini.ipynb· Open on GitHub · intermediate
Compares PaLM text-bison and gemini-2.5-flash with Vertex AI EvalTask for summarization migration.
Summary
The notebook teaches how to use Vertex AI Gen AI Evaluation Service EvalTask to compare PaLM text-bison@001 against gemini-2.5-flash for summarization prompts with references. It installs and initializes the Vertex AI SDK, builds a pandas evaluation dataset, evaluates both models across multiple metrics, and visualizes results with radar and bar plots. It concludes that gemini-2.5-flash outperformed text-bison for this specific use case and recommends migrating for that task.
Key code patterns
Initialize Vertex AI
import vertexai
PROJECT_ID = "[your-project-id]"
LOCATION = "us-central1"
if not PROJECT_ID or PROJECT_ID == "[your-project-id]":
raise ValueError("Please set your PROJECT_ID")
vertexai.init(project=PROJECT_ID, location=LOCATION)Sets the project and location before running Vertex AI evaluation calls.
Build Evaluation Dataset
eval_dataset = pd.DataFrame({
"prompt": [instruction + item for item in context],
"reference": reference,
})Creates the prompt and reference columns EvalTask uses for summarization evaluation.
Define EvalTask Metrics
metrics = [
"rouge_l_sum", "bleu", "fluency", "coherence",
"safety", "groundedness", "verbosity",
"text_quality", "summarization_quality",
]
eval_task = EvalTask(
dataset=eval_dataset,
metrics=metrics,
experiment=experiment_name,
)Combines automatic and model-based metrics in one evaluation task.
Wrap PaLM Predictor
generation_config = {"temperature": 0.5, "max_output_tokens": 256, "top_k": 1}
text_bison_model = TextGenerationModel.from_pretrained("text-bison@001")
def text_bison_model_fn(prompt):
return text_bison_model.predict(prompt, **generation_config).textUses a callable so EvalTask can evaluate the PaLM TextGenerationModel output.
Evaluate Gemini Model ID
gemini_eval_result = eval_task.evaluate(
model="gemini-2.5-flash",
experiment_run_name=experiment_run_name,
evaluation_service_qps=5,
)Shows EvalTask evaluating Gemini directly from its model ID string.
Visualize Model Comparison
results = [
("text-bison", text_bison_eval_result),
("gemini-2.5-flash", gemini_eval_result),
]
notebook_utils.display_radar_plot(results, metrics=["fluency", "coherence", "safety", "groundedness", "verbosity", "text_quality", "summarization_quality"])
notebook_utils.display_bar_plot(results, metrics=["rouge_l_sum", "bleu"])Uses radar plots for qualitative metrics and bar plots for ROUGE/BLEU.
Models & APIs used
- Models:
text-bison@001, gemini-2.5-flash - APIs / services: Vertex AI, Vertex Gen AI Evaluation Service
- SDKs / libraries:
google-cloud-aiplatform[evaluation],vertexai,pandas
When to use this
Use this pattern when deciding whether to migrate a summarization workflow from PaLM text-bison to gemini-2.5-flash using evaluation metrics.
Gotchas & caveats
- Colab users must restart the runtime after installing google-cloud-aiplatform[evaluation].
- Colab authentication is required before using the notebook environment.
- PROJECT_ID must be set and the Vertex AI API must be enabled before vertexai.init.
- LOCATION is configured as us-central1 in the notebook.
- The notebook recommends at least 100 examples for best results, but the sample dataset has five rows.
- Both evaluate calls set evaluation_service_qps=5, limiting evaluation service request rate.
Best practices
- Use an EvalTask with multiple metrics when comparing foundation models.
- Include prompt and reference columns in the summarization evaluation dataset.
- Generate unique experiment run names with notebook_utils.generate_uuid(8).
- Use at least 100 examples for best evaluation results.
- Visualize qualitative metrics separately from ROUGE and BLEU.
- Compare models on the target use case before recommending migration.
Related
- Concepts: Getting Started · Evaluation · Applied Use Cases
- Entities: Vertex AI · Vertex AI SDK · Gen AI Evaluation Service · Gemini
- Area: Gemini Notebooks
- Best practices: Getting Started - Best Practices · Evaluation - Best Practices · Applied Use Cases - Best Practices