{"id":143,"library":"vertexai","title":"Vertex AI SDK (Python)","description":"Google Cloud Vertex AI SDK for Python. Two separate PyPI packages exist: google-cloud-aiplatform (GAPIC clients, full Vertex AI platform) and vertexai (higher-level SDK, same underlying package). Install is google-cloud-aiplatform, import is vertexai — classic name mismatch. Generative AI modules (vertexai.generative_models, vertexai.language_models, etc.) deprecated June 24, 2025 and will be removed June 24, 2026. Current version: google-cloud-aiplatform 1.142.0 / vertexai 1.71.1.","status":"active","version":"1.142.0","language":"python","source_language":"en","source_url":"https://github.com/googleapis/python-aiplatform","tags":["google","vertex-ai","gemini","gcp","python","cloud","llm"],"install":[{"cmd":"pip install google-cloud-aiplatform","lang":"bash","label":"Python (installs both google-cloud-aiplatform and vertexai)"},{"cmd":"pip install vertexai","lang":"bash","label":"Python (alternative — same package, different PyPI name)"},{"cmd":"pip install 'google-cloud-aiplatform[agent_engines,adk]'","lang":"bash","label":"Python (with Agent Engine and ADK support)"}],"dependencies":[{"reason":"Required for Application Default Credentials. Installed automatically.","package":"google-auth","optional":false},{"reason":"Required for new generative AI features. Generative AI modules moving from vertexai to google-genai.","package":"google-genai","optional":true}],"imports":[{"note":"install is google-cloud-aiplatform but import is vertexai — not google.cloud.aiplatform. Both packages coexist but vertexai is the high-level SDK. google.cloud.aiplatform is the low-level GAPIC client.","wrong":"from google.cloud import aiplatform\naiplatform.init(project='your-project-id', location='us-central1')","symbol":"vertexai.init","correct":"import vertexai\n\nvertexai.init(\n    project='your-project-id',\n    location='us-central1'\n)"},{"note":"vertexai.generative_models deprecated June 24, 2025. Removed June 24, 2026. Migrate to google-genai with vertexai=True.","wrong":"import vertexai\nfrom vertexai.generative_models import GenerativeModel\n\nvertexai.init(project='your-project', location='us-central1')\nmodel = GenerativeModel('gemini-2.5-flash')\nresponse = model.generate_content('Explain neural networks')\nprint(response.text)","symbol":"vertexai.generative_models (deprecated)","correct":"# Use google-genai for generative AI on Vertex AI\nfrom google import genai\n\nclient = genai.Client(\n    vertexai=True,\n    project='your-project-id',\n    location='us-central1'\n)\nresponse = client.models.generate_content(\n    model='gemini-2.5-flash',\n    contents='Explain neural networks'\n)\nprint(response.text)"},{"note":"Vertex AI does not use API keys. Uses Google Cloud Application Default Credentials (ADC) or service account JSON. No api_key parameter exists on vertexai.init().","wrong":"import vertexai\nvertexai.init(project='your-project-id', location='us-central1', credentials='your-api-key')","symbol":"Application Default Credentials","correct":"import vertexai\n\n# Uses ADC automatically — run: gcloud auth application-default login\nvertexai.init(project='your-project-id', location='us-central1')"}],"quickstart":{"code":"# For Vertex AI generative AI — use google-genai\n# pip install google-genai\nfrom google import genai\n\nclient = genai.Client(\n    vertexai=True,\n    project='your-gcp-project-id',\n    location='us-central1'\n)\n\nresponse = client.models.generate_content(\n    model='gemini-2.5-flash',\n    contents='What is Vertex AI?'\n)\nprint(response.text)","lang":"python","description":"Vertex AI Gemini call using google-genai with vertexai=True (recommended path from 2025 onwards)."},"warnings":[{"fix":"pip install google-cloud-aiplatform; import vertexai","message":"Install package is google-cloud-aiplatform but import is 'import vertexai'. LLMs consistently confuse this and generate 'from google.cloud import vertexai' or 'pip install vertexai-sdk'. Both are wrong.","severity":"breaking","affected_versions":"all"},{"fix":"Migrate to google-genai with vertexai=True. See migration guide at cloud.google.com/vertex-ai/generative-ai/docs/deprecations/genai-vertexai-sdk","message":"vertexai.generative_models, vertexai.language_models, vertexai.vision_models, vertexai.tuning, vertexai.caching deprecated June 24, 2025. Will be removed June 24, 2026.","severity":"breaking","affected_versions":">= 1.114.0"},{"fix":"Run: gcloud auth application-default login. Or set GOOGLE_APPLICATION_CREDENTIALS to service account JSON path.","message":"Vertex AI does not use API keys. Uses Application Default Credentials (ADC). No api_key parameter. LLMs frequently hallucinate an api_key argument on vertexai.init().","severity":"breaking","affected_versions":"all"},{"fix":"Pin only one. Prefer google-cloud-aiplatform for consistency with GCP tooling.","message":"Two PyPI packages: google-cloud-aiplatform and vertexai. They install the same underlying package. Installing either gives you both namespaces. Pinning both to different versions causes conflicts.","severity":"gotcha","affected_versions":"all"},{"fix":"Always call vertexai.init(project='...', location='...') at startup.","message":"vertexai.init() must be called before any Vertex AI SDK calls. Forgetting this causes authentication or project resolution errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Always pass location='us-central1' or your preferred region.","message":"location parameter is required and must be a valid GCP region. 'us-central1' is most common. Wrong or missing location raises InvalidArgument errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-12T08:39:28.199Z","next_check":"2026-06-24T00:00:00.000Z","problems":[{"fix":"pip install google-cloud-aiplatform","cause":"The `vertexai` SDK is part of the `google-cloud-aiplatform` package, which was not installed or installed incorrectly.","error":"ModuleNotFoundError: No module named 'vertexai'"},{"fix":"Verify the model ID and ensure the `location` parameter in `vertexai.init()` or `GenerativeModel()` call matches a region where the model is available.","cause":"The specified model name (e.g., `gemini-pro`) is either misspelled or not available in the Google Cloud region specified during `vertexai.init()` or model instantiation.","error":"google.api_core.exceptions.InvalidArgument: 400 The model specified does not exist in this region."},{"fix":"Authenticate using `gcloud auth application-default login`, set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable, or ensure a service account with the 'Vertex AI User' role is active.","cause":"The environment lacks valid Google Cloud credentials, or the service account/user running the code does not have the necessary permissions to access Vertex AI resources.","error":"google.auth.exceptions.DefaultCredentialsError: Could not automatically determine credentials."},{"fix":"Call `vertexai.init(project=\"your-project-id\", location=\"your-region\")` or set the `GCLOUD_PROJECT` environment variable.","cause":"The `vertexai.init()` function could not automatically determine the Google Cloud project ID from environment variables, and it was not explicitly provided.","error":"ValueError: Project ID must be specified"},{"fix":"Ensure `vertexai.init()` is called with correct project/location, the `GenerativeModel` is instantiated with a valid model name, and verify that the model object is not `None` before attempting to call generation methods.","cause":"The `GenerativeModel` or `ChatSession` object was not successfully initialized, often due to an issue during its creation (e.g., invalid model name, region, or authentication failure), resulting in the variable being `None`.","error":"AttributeError: 'NoneType' object has no attribute 'generate_content'"}],"ecosystem":"pypi","meta_description":null,"install_score":80,"install_tag":"verified","quickstart_score":60,"quickstart_tag":"reviewed","pypi_latest":null,"install_checks":{"last_tested":"2026-05-12","tag":"verified","tag_description":"installs cleanly on critical runtimes, fast import, recently tested","results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":18.67,"mem_mb":236.5,"disk_size":"843.9M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":16.93,"mem_mb":226.1,"disk_size":"323.8M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":13.26,"mem_mb":183.8,"disk_size":"272.5M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":6.51,"mem_mb":148,"disk_size":"882M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":5.09,"mem_mb":138.8,"disk_size":"389M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":4.09,"mem_mb":113.7,"disk_size":"262M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":21.51,"mem_mb":246.9,"disk_size":"905.9M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":17.72,"mem_mb":238.1,"disk_size":"360.2M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":13.75,"mem_mb":190.9,"disk_size":"299.1M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":11.76,"mem_mb":168.4,"disk_size":"944M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":8.59,"mem_mb":159.6,"disk_size":"425M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":6.5,"mem_mb":127.9,"disk_size":"288M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":20.93,"mem_mb":243.3,"disk_size":"889.5M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":16.47,"mem_mb":234.3,"disk_size":"347.2M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":12.87,"mem_mb":189.1,"disk_size":"285.3M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":13.46,"mem_mb":166,"disk_size":"928M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":9.86,"mem_mb":156.7,"disk_size":"412M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":7.26,"mem_mb":126.7,"disk_size":"274M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":19.64,"mem_mb":243.6,"disk_size":"881.6M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":15.98,"mem_mb":234.6,"disk_size":"341.3M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":11.99,"mem_mb":188.8,"disk_size":"282.7M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":13.66,"mem_mb":165.4,"disk_size":"922M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":9.66,"mem_mb":155.5,"disk_size":"408M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":7.04,"mem_mb":125.2,"disk_size":"272M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":16.41,"mem_mb":236.3,"disk_size":"589.8M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":15.73,"mem_mb":228.9,"disk_size":"319.3M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"default","exit_code":1,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"agent_engines,adk","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":6.08,"mem_mb":149.3,"disk_size":"656M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":5.46,"mem_mb":141.9,"disk_size":"385M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"default","exit_code":0,"wheel_type":null,"failure_reason":null,"install_time_s":null,"import_time_s":4.62,"mem_mb":115.6,"disk_size":"272M"}]},"quickstart_checks":{"last_tested":"2026-04-23","tag":"reviewed","tag_description":"minor failures on some runtimes or slightly older test data","results":[{"runtime":"python:3.10-alpine","exit_code":1},{"runtime":"python:3.10-slim","exit_code":1},{"runtime":"python:3.11-alpine","exit_code":0},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":0},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":0},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":1},{"runtime":"python:3.9-slim","exit_code":1}]}}