vertex-ai-samples: what the repository actually contains, and when a notebook is the wrong starting point
Notebooks, code samples, sample apps, and other resources that demonstrate how to use, develop and manage machine learning and generative AI workflows using Google Cloud Vertex AI.
At a glance
- What is it?
- Google's sample repository for Vertex AI is a teaching corpus, not a library. The layout, the skills directory and the Colab header links tell you how it is meant to be consumed, and the disclaimer tells you what it is not.
- Who is it for?
- Adopt it when you need a working reference for a specific Vertex AI service and want to read the call sequence before writing your own. Do not adopt it as a dependency, a template for production code, or a source of supported behaviour, because the disclaimer states it is not an officially supported Google product and the code is demonstrative only.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 11 days ago.
- What is it written in?
- Mainly Jupyter Notebook, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The gap this repository fills is documentation-shaped, not library-shaped
Vertex AI is a managed platform with a wide surface: AutoML, custom training, pipelines, feature store, model registry, explainability, metadata. Each of those has its own reference documentation. What reference docs rarely give you is the order of operations. A page can tell you what a method accepts; it will not always show you that you must create a dataset, wait for an import job, then point a training job at the resulting split. The repository exists to show that sequence in runnable form. Its README frames the audience plainly: newcomers to Vertex AI and experienced ML practitioners, with the stated goal of getting you started. The disclaimer then draws the boundary. The code is for demonstrative purposes only and is not an officially supported Google product. Read those two sentences together and the intended use is clear. This is a place to learn the shape of an API call chain, not a place to import from. If you are looking for a supported client library, the Vertex AI SDK for Python is what the notebooks themselves call, and that is a separate artifact with its own support commitments.
How the tree is organised, and the official versus community split
The README prints the top-level structure. There are four entries: notebooks, community-content, docs, and skills. Inside notebooks the split matters most. The official directory holds notebooks demonstrating use of each Vertex AI service, broken into subdirectories by product area: automl, custom, feature_store, datasets, prediction, model_registry, explainable_ai, ml_metadata, pipelines, ray_on_vertex_ai. The community directory holds notebooks contributed by the community, with model_garden given as an example. That distinction is the first thing to check when you open a file, because it predicts who maintains it. An official notebook maps to a product area and is likely to be revised when that API moves. A community notebook reflects one contributor's path through the platform at a point in time. The README does not spell out a review policy for community submissions beyond pointing at CONTRIBUTING.md, so treat the directory name as the only signal you have about provenance. The examples table in the README lists categories (Model, Data, Model development, Deploy and use, Tools) mapped to directories, which is a reasonable index if you already know which Vertex AI service you need and a poor one if you are trying to work out which service you need.
The skills directory is the part that does not look like the rest
Under skills, the repository ships a set of AI Agent Skills for Vertex AI. The README describes skills/vertex-ai/SKILL.md as the primary router for Vertex AI tasks and an entry point that routes across capabilities. From there the tree branches: genai-sdk for Gemini API usage with the Gen AI SDK across Python, JS/TS, Go, Java and C#, vertex-deploy for deploying models to endpoints including open models and custom weights, vertex-inference for inferencing with Gemini and OpenMaaS, and vertex-tuning as a secondary router that splits into gemini for first-party fine-tuning and open-model for third-party open models. The nesting is deliberate: routers at the top, leaf guidance below. This is a different artifact type from a notebook. A notebook shows one worked path with outputs; a SKILL.md file is structured guidance meant to be read by an agent or a developer deciding which path to take. The README does not state how these files are consumed or which agent runtimes support the skill format, so that is something to confirm from the skills README before relying on it. What the structure does tell you is that Google is treating agent-facing instructions as a maintained part of the samples repository rather than a side experiment, since the entry points are named and versioned in the top-level tree.
Getting a notebook running: the header links and the project prerequisite
There is no install step for the repository itself. The README's get started section states the prerequisite directly: to get started using Vertex AI you must have a Google Cloud project, and it links to the free trial and to the setup documentation for a project and development environment. From there, consumption is per notebook. Each notebook header carries links that let you open and run it in Colab, in Colab Enterprise, or in Vertex AI Workbench, or view it on GitHub. Those three targets are not interchangeable. Colab is a hosted notebook runtime tied to a Google account; Colab Enterprise and Vertex AI Workbench run inside your project and inherit its IAM and networking. A notebook that creates a training job, writes to a bucket, or registers a model needs the project-scoped runtimes, because the credentials and the service account come from the project. Running the same notebook in plain Colab generally requires you to authenticate and set the project explicitly, which the notebook may or may not do for you. The README does not publish a per-notebook compatibility matrix, so the header links are the only guide. Read them before you pick a runtime. If a notebook's header offers only Workbench and Colab Enterprise, that is a signal about what it expects.
Where a sample notebook stops being useful
The failure mode is not that the code is wrong. It is that notebook code is written to be read top to bottom, and that shape does not survive being lifted into a service. Cells hold state between executions, so a notebook that works when run in order can fail when a cell is re-run or skipped. Configuration tends to be literal: project IDs, bucket names and region strings sit inline where a deployed job would read them from environment or a config file. There is no packaging, no test suite described in the README, and no version pinning policy stated for the SDK the notebooks call. The disclaimer is explicit that this is not an officially supported Google product, which means a broken notebook is an issue report, not a support ticket. The second failure mode is coverage drift. The README itself redirects generative AI notebook traffic elsewhere, pointing readers to the separate generative-ai repository for more Vertex AI generative AI notebook samples. So if your task is Gemini-era work, this repository is not the primary source, and its own documentation says so. A third limitation is that no releases are published, so there is no version to pin against. You track the main branch or you copy the file.
The realistic alternative, and the actual difference
The alternative most teams reach for is the Vertex AI SDK for Python directly, with the official reference documentation open beside it. The difference is not quality, it is the unit of consumption. A notebook is a narrative artifact: it carries setup, credentials, a dataset, a training run and an evaluation in one file, and it expects a human to execute it in order. The SDK is a library surface: you call aiplatform methods from your own code, in your own process, under your own configuration and error handling. If you need to understand why a pipeline component needs a specific artifact argument, the notebook is faster. If you need something that runs on a schedule, the SDK plus your own packaging is the only one of the two that gets you there, because the notebook has no deployment story of its own. The generative-ai repository is the other alternative, and the README positions it as the destination for generative AI notebook samples specifically. Choosing between them is a question of which product surface you are on, not which repository is better maintained.
Maintenance, licence and what to verify before you copy a cell
The repository is Apache-2.0 licensed, which permits use, modification and redistribution under the terms of that licence, including the patent grant it carries. That covers the sample code. It does not cover the Vertex AI service itself, which is governed by Google Cloud terms, and it does not change the disclaimer that the code is demonstrative and unsupported. In practice the licence question that matters is attribution and notice retention if you copy notebook code into your own repository. For legal questions, ask your own counsel; the licence text is the authority, not this description. On maintenance, the repository is not archived and its last push is recent, but no releases are published, so there is no changelog to read and no upgrade path to follow. Your upgrade cost is the cost of re-reading a notebook when the API it calls changes. That is the honest trade: you get a current worked example with no version guarantee attached. Before copying anything, check the notebook's header links for its intended runtime, check whether it sits under notebooks/official or notebooks/community, and confirm the SDK calls it makes against the current Vertex AI reference documentation rather than assuming the sample is still accurate.
Editorial conclusion
Adopt it when you need a working reference for a specific Vertex AI service and want to read the call sequence before writing your own. Do not adopt it as a dependency, a template for production code, or a source of supported behaviour, because the disclaimer states it is not an officially supported Google product and the code is demonstrative only. Before you commit to a notebook, open its header links and confirm which runtime it targets (Colab, Colab Enterprise or Vertex AI Workbench), because the surrounding setup differs between them and the notebook assumes one.
Community notes