python-aiplatform

GitHub
880 438 简单 1 次阅读 今天Apache-2.0语言模型开发框架Agent其他
AI 解读 由 AI 自动生成,仅供参考

python-aiplatform 是谷歌 Vertex AI 平台的官方 Python 开发工具包,旨在为数据科学家和机器学习工程师提供一套全托管、端到端的模型开发与部署解决方案。它有效解决了从实验原型到生产环境落地过程中常见的环境配置复杂、流程割裂及运维困难等痛点,让用户能通过简洁的代码统一管理工作流。

无论是刚入门的开发者还是资深算法专家,都能利用它灵活构建自定义模型或直接调用 AutoML 能力。其核心亮点在于对生成式 AI(GenAI)的深度支持:用户不仅能轻松实例化客户端来调用如 Gemini 等前沿大模型,还内置了强大的评估框架。通过简单的几行代码,即可基于自定义提示词数据集自动运行推理,并利用精确匹配、ROUGE 指标或文本质量评分表等多种维度,对模型输出进行量化评估与优化。此外,结合标准的 pip 或现代化的 uv 工具即可快速安装,极大降低了上手门槛,帮助团队更高效地实现从创意验证到规模化应用的跨越。

使用场景

某电商公司的数据科学团队需要快速评估多个大语言模型在“智能客服回答质量”上的表现,以便选出最佳模型上线。

没有 python-aiplatform 时

  • 手动调用接口繁琐:开发人员需自行编写复杂的 HTTP 请求代码来调用 Vertex AI 接口,处理认证、重试机制和错误日志耗费大量精力。
  • 评估流程割裂:生成模型回答与计算评估指标(如精确匹配、ROUGE-L)分为两个独立脚本,数据需要在本地文件间反复导入导出,极易出错。
  • 缺乏统一度量标准:不同成员使用自定义的评估逻辑,导致无法横向对比不同模型版本的真实性能,决策缺乏数据支撑。
  • 扩展性差:当测试集从几十条增加到上万条时,本地脚本容易因内存溢出或速率限制而崩溃,难以进行大规模压力测试。

使用 python-aiplatform 后

  • 一站式客户端集成:通过 vertexai.Client 实例化即可自动处理认证与连接,直接调用 run_inference 批量获取模型回答,代码量减少 70%。
  • 流水线式评估体验:利用 client.evals.evaluate 方法,将推理结果直接传入并指定 exact_matchTEXT_QUALITY 等内置指标,瞬间完成端到端评估。
  • 标准化指标体系:内置多种权威评估算法和评分规则(Rubric),确保团队所有成员基于同一套标准衡量模型效果,对比结果可信度高。
  • 云原生弹性伸缩:依托 Vertex AI 后端能力,轻松处理海量测试数据,自动管理并发与资源,无需担心本地环境瓶颈。

python-aiplatform 将原本碎片化、高门槛的模型评估工作转化为简洁的代码调用,让团队能专注于模型优化而非工程基建。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明

依赖
notes该工具是 Google Vertex AI 的 Python SDK,主要作为客户端库调用云端 API,因此本地运行无需高性能 GPU 或大内存。使用前需配置 Google Cloud 项目、启用计费及 Vertex AI API,并设置身份验证。注意:vertexai.generative_models 等部分生成式 AI 模块已于 2025 年 6 月弃用,建议迁移至 google-genai SDK。若使用 Agent Engine 或特定评估功能,需安装额外依赖(如 adk)。
python3.9+
google-cloud-aiplatform
pandas
requests
google-genai (可选,用于部分生成式 AI 功能)
python-aiplatform hero image

快速开始

Vertex AI Python SDK

|GA| |pypi| |versions| |unit-tests| |system-tests| |sample-tests|

Vertex AI_: Google Vertex AI 是一套集成的机器学习工具和服务,用于通过 AutoML 或自定义代码构建和使用机器学习模型。它为初学者和专家提供了覆盖整个机器学习开发生命周期的最佳工作台。

  • 客户端库文档_
  • 产品文档_

.. |GA| image:: https://img.shields.io/badge/support-ga-gold.svg :target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability .. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-aiplatform.svg :target: https://pypi.org/project/google-cloud-aiplatform/ .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-aiplatform.svg :target: https://pypi.org/project/google-cloud-aiplatform/ .. |unit-tests| image:: https://storage.googleapis.com/cloud-devrel-public/python-aiplatform/badges/sdk-unit-tests.svg :target: https://storage.googleapis.com/cloud-devrel-public/python-aiplatform/badges/sdk-unit-tests.html .. |system-tests| image:: https://storage.googleapis.com/cloud-devrel-public/python-aiplatform/badges/sdk-system-tests.svg :target: https://storage.googleapis.com/cloud-devrel-public/python-aiplatform/badges/sdk-system-tests.html .. |sample-tests| image:: https://storage.googleapis.com/cloud-devrel-public/python-aiplatform/badges/sdk-sample-tests.svg :target: https://storage.googleapis.com/cloud-devrel-public/python-aiplatform/badges/sdk-sample-tests.html .. _Vertex AI: https://cloud.google.com/vertex-ai/docs .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/aiplatform/latest .. _Product Documentation: https://cloud.google.com/vertex-ai/docs

安装


.. code-block:: console

    pip install google-cloud-aiplatform


使用 :code:`uv`:

.. code-block:: console

    uv pip install google-cloud-aiplatform

Vertex AI SDK 中的生成式 AI

要使用 Vertex AI SDK 中的生成式 AI 功能,您可以按如下方式实例化一个 Vertex SDK 客户端:

.. code-block:: Python

import vertexai
from vertexai import types

# 从 Vertex SDK 实例化生成式 AI 客户端
# 替换为您自己的项目 ID 和位置
client = vertexai.Client(project='my-project', location='us-central1')

请参阅下面的示例,了解如何使用 Vertex SDK 客户端支持的特定功能。

生成式 AI 评估 ^^^^^^^^^^^^^^^^^

要运行评估,首先需要根据一组提示生成模型响应。

.. code-block:: Python

import pandas as pd

prompts_df = pd.DataFrame({
    "prompt": [
        "法国的首都是什么?",
        "写一首关于猫的俳句。",
        "编写一个计算阶乘的 Python 函数。",
        "将‘你好吗?’翻译成法语。",
    ],

    "reference": [
        "巴黎",
        "阳光洒在地板上,\n毛茸茸的一团沉睡着,\n尾巴微微抽动,仿佛在诉说故事。",
        "def factorial(n):\n    if n < 0:\n        return '负数没有阶乘'\n    elif n == 0:\n        return 1\n    else:\n        fact = 1\n        i = 1\n        while i <= n:\n            fact *= i\n            i += 1\n        return fact",
        "Comment ça va ?",
    ]
})

inference_results = client.evals.run_inference(
    model="gemini-2.5-flash-preview-05-20",
    src=prompts_df
)

然后,提供推理结果并指定指标类型来运行评估。

.. code-block:: Python

eval_result = client.evals.evaluate(
    dataset=inference_results,
    metrics=[
        types.Metric(name='exact_match'),
        types.Metric(name='rouge_l_sum'),
        types.RubricMetric.TEXT_QUALITY,
    ]
)

使用 Agent 开发套件 (ADK) 的 Agent Engine ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

首先,定义一个查询汇率的函数:

.. code-block:: Python

def get_exchange_rate(
    currency_from: str = "USD",
    currency_to: str = "EUR",
    currency_date: str = "latest",
):
    """获取指定日期两种货币之间的汇率。

    使用 Frankfurter API (https://api.frankfurter.app/) 获取汇率数据。

    返回:
        dict: 包含汇率信息的字典。
            示例:{"amount": 1.0, "base": "USD", "date": "2023-11-24",
                "rates": {"EUR": 0.95534}}
    """
    import requests
    response = requests.get(
        f"https://api.frankfurter.app/{currency_date}",
        params={"from": currency_from, "to": currency_to},
    )
    return response.json()

接下来,定义一个 ADK Agent:

.. code-block:: Python

from google.adk.agents import Agent
from vertexai.agent_engines import AdkApp

app = AdkApp(agent=Agent(
    model="gemini-2.0-flash",        # 必需。
    name='currency_exchange_agent',  # 必需。
    tools=[get_exchange_rate],       # 可选。
))

使用美元和瑞典克朗在本地测试该代理:

.. code-block:: Python

async for event in app.async_stream_query(
    user_id="user-id",
    message="今天美元兑瑞典克朗的汇率是多少?",
):
    print(event)

要将代理部署到 Agent Engine:

.. code-block:: Python

remote_app = client.agent_engines.create(
    agent=app,
    config={
        "requirements": ["google-cloud-aiplatform[agent_engines,adk]"],
    },
)

您还可以对已部署的代理进行查询:

.. code-block:: Python

async for event in remote_app.async_stream_query(
    user_id="user-id",
    message="今天美元兑瑞典克朗的汇率是多少?",
):
    print(event)

提示优化 ^^^^^^^^^^^^^^^^^^^

要进行零样本提示优化,可以使用 optimize 方法。

.. code-block:: Python

prompt = "为问答助手生成系统指令"
response = client.prompts.optimize(prompt=prompt)
print(response.raw_text_response)
if response.parsed_response:
  print(response.parsed_response.suggested_prompt)

要调用数据驱动的提示优化,可以调用 launch_optimization_job 方法。不过,在这种情况下,我们需要提供一个 VAPO(Vertex AI 提示优化器)配置文件。该配置文件需要包含服务账号或项目 编号 以及配置文件路径。有关配置参数的更多详细信息,请参阅此 教程

.. code-block:: Python

from vertexai import types

project_number = PROJECT_NUMBER # 替换为您的项目编号 service_account = f"{project_number}-compute@developer.gserviceaccount.com"

vapo_config = vertexai.types.PromptOptimizerVAPOConfig(
    config_path="gs://your-bucket/config.json",
    service_account_project_number=project_number,
    wait_for_completion=False
)

# 设置日志记录,以便查看优化作业的进度
logging.basicConfig(encoding='utf-8', level=logging.INFO, force=True)

result = client.prompts.launch_optimization_job(method=types.PromptOptimizerMethod.VAPO, config=vapo_config)

如果您想使用项目编号而不是服务账号,可以改用以下配置:

.. code-block:: Python

vapo_config = vertexai.types.PromptOptimizerVAPOConfig(
    config_path="gs://your-bucket/config.json",
    service_account_project_number=project_number,
    wait_for_completion=False
)

我们也可以异步调用 launch_optimization_job 方法。

.. code-block:: Python

await client.aio.prompts.launch_optimization_job(method=types.PromptOptimizerMethod.VAPO, config=vapo_config)

提示管理 ^^^^^^^^^^^^^

首先将您的提示定义为字典或 types.Prompt 对象。然后调用 create_prompt。

.. code-block:: Python

prompt = {
    "prompt_data": {
        "contents": [{"parts": [{"text": "你好,{name}!你好吗?"}]}],
        "system_instruction": {"parts": [{"text": "请用一句话简短回答。"}]},
        "variables": [
            {"name": {"text": "Alice"}},
        ],
        "model": "gemini-2.5-flash",
    },
}

prompt_resource = client.prompts.create(
    prompt=prompt,
)

请注意,您也可以使用 types.Prompt 对象来定义您的提示。用于此目的的一些类型来自 Gen AI SDK。

.. code-block:: Python

import types
from google.genai import types as genai_types

prompt = types.Prompt(
    prompt_data=types.PromptData(
      contents=[genai_types.Content(parts=[genai_types.Part(text="你好,{name}!你好吗?")])],
      system_instruction=genai_types.Content(parts=[genai_types.Part(text="请用一句话简短回答。")]),
      variables=[
        {"name": genai_types.Part(text="Alice")},
      ],
      model="gemini-2.5-flash",
    ),
)

通过调用 get() 并传入 prompt_id 来检索提示。

.. code-block:: Python

retrieved_prompt = client.prompts.get(
    prompt_id=prompt_resource.prompt_id,
)

创建或检索提示后,您可以使用 Gen AI SDK 调用 generate_content() 方法并传入该提示。

以下代码使用 Prompt 对象上可用的实用函数,将 Prompt 对象转换为 Content 对象列表,以便与 generate_content 一起使用。要运行此代码,您需要安装 Gen AI SDK,可以通过 pip install google-genai 安装。

.. code-block:: Python

from google import genai
from google.genai import types as genai_types

# 在 Gen AI SDK 中创建客户端
genai_client = genai.Client(vertexai=True, project="your-project", location="your-location")

# 使用提示调用 generate_content()
response = genai_client.models.generate_content(
    model=retrieved_prompt.prompt_data.model,
    contents=retrieved_prompt.assemble_contents(),
)

.. note::

Vertex AI SDK 中的以下生成式 AI 模块自 2025 年 6 月 24 日起已被弃用,并将于 2026 年 6 月 24 日移除: vertexai.generative_modelsvertexai.language_modelsvertexai.vision_modelsvertexai.tuningvertexai.caching。请使用 Google Gen AI SDK 访问这些功能。有关详细信息,请参阅 迁移指南。 您可以继续使用其他所有 Vertex AI SDK 模块,因为它们是使用 API 的推荐方式。

快速入门

为了使用本库,您首先需要完成以下步骤:

  1. 选择或创建一个 Cloud Platform 项目。_
  2. 为您的项目启用结算功能。_
  3. 启用 Vertex AI API。_
  4. 设置身份验证。_

.. _选择或创建一个 Cloud Platform 项目.: https://console.cloud.google.com/project .. _为您的项目启用结算功能.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project .. _启用 Vertex AI API.: https://cloud.google.com/vertex-ai/docs/start/use-vertex-ai-python-sdk .. _设置身份验证.: https://googleapis.dev/python/google-api-core/latest/auth.html

支持的 Python 版本 ^^^^^^^^^^^^^^^^^^^^^^^^^ Python >= 3.9

已弃用的 Python 版本 ^^^^^^^^^^^^^^^^^^^^^^^^^^ Python <= 3.8。

与 Python 3.8 兼容的本库最后一个版本是 google-cloud-aiplatform==1.90.0。

与 Python 3.7 兼容的本库最后一个版本是 google-cloud-aiplatform==1.31.1。

与 Python 3.6 兼容的本库最后一个版本是 google-cloud-aiplatform==1.12.1。

概述

本节提供 Python 版 Vertex AI SDK 的简要概述。您还可以参考 `vertex-ai-samples`_ 中的笔记本以获取示例。

.. _vertex-ai-samples: https://github.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/community/sdk

所有公开可用的 SDK 功能都可以在 :code:`google/cloud/aiplatform` 目录中找到。
在底层,Vertex SDK 基于 GAPIC 构建,GAPIC 是 Google API CodeGen 的缩写。
GAPIC 库代码位于 :code:`google/cloud/aiplatform_v1` 和 :code:`google/cloud/aiplatform_v1beta1`,
它是根据 Google 的服务 proto 文件自动生成的。

对于大多数开发人员的编程需求,他们可以按照以下步骤来确定要导入哪些库:

1. 首先查看 :code:`google/cloud/aiplatform` —— 与 GAPIC 相比,Vertex SDK 的 API 几乎总是更易于使用且更简洁。
2. 如果您寻找的功能在那里找不到,则查看 :code:`aiplatform_v1` 以确定是否在 GAPIC 中可用。
3. 如果功能仍处于测试阶段,则会在 :code:`aiplatform_v1beta1` 中提供。

如果以上情况都无法帮助您找到适合任务的工具,请随时在 GitHub 上提交问题并向我们提出功能请求。

导入
^^^^^^^^^
可以通过导入以下命名空间来使用 Vertex AI SDK 的基于资源的功能:

.. code-block:: Python

    from google.cloud import aiplatform

初始化
^^^^^^^^^^^^^^
初始化 SDK 以存储您在使用 SDK 时常用的配置。

.. code-block:: Python

    aiplatform.init(
        # 您的 Google Cloud 项目 ID 或编号
        # 默认环境未设置
        project='my-project',

# 您将使用的 Vertex AI 区域
        # 默认为 us-central1
        location='us-central1',

        # 与 location 同区域的 Google Cloud Storage 存储桶
        # 用于暂存工件
        staging_bucket='gs://my_staging_bucket',

        # 自定义 google.auth.credentials.Credentials
        # 如果未设置,则使用环境默认凭据
        credentials=my_credentials,

        # 客户管理的加密密钥资源名称
        # 如果设置,将应用于所有 Vertex AI 资源
        encryption_spec_key_name=my_encryption_key_name,

        # 用于跟踪记录指标和参数的实验名称
        experiment='my-experiment',

        # 上述实验的描述
        experiment_description='my experiment description'
    )

数据集
^^^^^^^^
Vertex AI 提供托管的表格、文本、图像和视频数据集。在 SDK 中,数据集可用于下游的模型训练。

要创建一个表格数据集:

.. code-block:: Python

    my_dataset = aiplatform.TabularDataset.create(
        display_name="my-dataset", gcs_source=['gs://path/to/my/dataset.csv'])

您也可以分步骤创建和导入数据集:

.. code-block:: Python

    from google.cloud import aiplatform

    my_dataset = aiplatform.TextDataset.create(
        display_name="my-dataset")

    my_dataset.import_data(
        gcs_source=['gs://path/to/my/dataset.csv'],
        import_schema_uri=aiplatform.schema.dataset.ioformat.text.multi_label_classification
    )

要获取先前创建的数据集:

.. code-block:: Python

  dataset = aiplatform.ImageDataset('projects/my-project/location/us-central1/datasets/{DATASET_ID}')

Vertex AI 支持多种数据集模式。这些模式的引用可在 :code:`aiplatform.schema.dataset` 命名空间下找到。有关支持的数据集模式的更多信息,请参阅 `准备数据文档`_。

.. _准备数据文档: https://cloud.google.com/ai-platform-unified/docs/datasets/prepare

训练
^^^^^^^^
Vertex AI 的 Python SDK 允许您训练自定义模型和 AutoML 模型。

您可以使用自定义 Python 脚本、自定义 Python 包或容器来训练自定义模型。

**准备您的自定义代码**

Vertex AI 自定义训练使您能够在 Vertex AI 数据集上进行训练,并生成 Vertex AI 模型。为此,您的脚本必须遵守以下约定:

它必须从训练服务填充的环境变量中读取数据集:

.. code-block:: Python

  os.environ['AIP_DATA_FORMAT']  # 提供数据格式
  os.environ['AIP_TRAINING_DATA_URI']  # 训练集的 URI
  os.environ['AIP_VALIDATION_DATA_URI']  # 验证集的 URI
  os.environ['AIP_TEST_DATA_URI']  # 测试集的 URI

请访问 `在自定义训练应用中使用托管数据集`_ 以获取详细概述。

.. _在自定义训练应用中使用托管数据集: https://cloud.google.com/vertex-ai/docs/training/using-managed-datasets

它必须将模型工件写入由训练服务填充的环境变量中:

.. code-block:: Python

  os.environ['AIP_MODEL_DIR']

**运行训练**

.. code-block:: Python

  job = aiplatform.CustomTrainingJob(
      display_name="my-training-job",
      script_path="training_script.py",
      container_uri="us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-2:latest",
      requirements=["gcsfs==0.7.1"],
      model_serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-2:latest",
  )

  model = job.run(my_dataset,
                  replica_count=1,
                  machine_type="n1-standard-4",
                  accelerator_type='NVIDIA_TESLA_K80',
                  accelerator_count=1)

在上面的代码块中,`my_dataset` 是在上述“数据集”部分创建的托管数据集。`model` 变量是一个托管的 Vertex AI 模型,可以部署或导出。


AutoMLs
-------
Vertex AI 的 Python SDK 支持 AutoML 表格、图像、文本、视频和预测模型。

要训练一个 AutoML 表格模型:

.. code-block:: Python

  dataset = aiplatform.TabularDataset('projects/my-project/location/us-central1/datasets/{DATASET_ID}')

  job = aiplatform.AutoMLTabularTrainingJob(
    display_name="train-automl",
    optimization_prediction_type="regression",
    optimization_objective="minimize-rmse",
  )

  model = job.run(
      dataset=dataset,
      target_column="target_column_name",
      training_fraction_split=0.6,
      validation_fraction_split=0.2,
      test_fraction_split=0.2,
      budget_milli_node_hours=1000,
      model_display_name="my-automl-model",
      disable_early_stopping=False,
  )


模型
------
要获取模型:


.. code-block:: Python

  model = aiplatform.Model('/projects/my-project/locations/us-central1/models/{MODEL_ID}')



要上传模型:

.. code-block:: Python

  model = aiplatform.Model.upload(
      display_name='my-model',
      artifact_uri="gs://python/to/my/model/dir",
      serving_container_image_uri="us-docker.pkg.dev/vertex-ai/prediction/tf2-cpu.2-2:latest",
  )



要部署模型:


.. code-block:: Python

  endpoint = model.deploy(machine_type="n1-standard-4",
                          min_replica_count=1,
                          max_replica_count=5
                          machine_type='n1-standard-4',
                          accelerator_type='NVIDIA_TESLA_K80',
                          accelerator_count=1)


请访问 `将模型导入 Vertex AI`_ 以获取详细概述:

.. _将模型导入 Vertex AI: https://cloud.google.com/vertex-ai/docs/general/import-model

模型评估
----------------

Vertex AI 的 Python SDK 目前支持获取所有 AutoML 模型的评估指标。

要列出某个模型的所有评估结果:

.. code-block:: Python

  model = aiplatform.Model('projects/my-project/locations/us-central1/models/{MODEL_ID}')

  evaluations = model.list_model_evaluations()


要获取特定模型的评估资源:

.. code-block:: Python

  model = aiplatform.Model('projects/my-project/locations/us-central1/models/{MODEL_ID}')

  # 不带参数时返回第一个评估,您也可以传入评估 ID
  evaluation = model.get_model_evaluation()

  eval_metrics = evaluation.metrics


您也可以通过直接传入模型评估的资源名称来创建对评估的引用:

.. code-block:: Python

  evaluation = aiplatform.ModelEvaluation(
    evaluation_name='projects/my-project/locations/us-central1/models/{MODEL_ID}/evaluations/{EVALUATION_ID}')

或者,您可以通过传入模型和评估 ID 来创建评估的引用:

.. code-block:: Python

  evaluation = aiplatform.ModelEvaluation(
    evaluation_name={EVALUATION_ID},
    model_id={MODEL_ID})


批量预测
----------------

要创建一个批量预测任务:

.. code-block:: Python

model = aiplatform.Model('/projects/my-project/locations/us-central1/models/{MODEL_ID}')

  batch_prediction_job = model.batch_predict(
    job_display_name='my-batch-prediction-job',
    instances_format='csv',
    machine_type='n1-standard-4',
    gcs_source=['gs://path/to/my/file.csv'],
    gcs_destination_prefix='gs://path/to/my/batch_prediction/results/',
    service_account='my-sa@my-project.iam.gserviceaccount.com'
  )

你也可以通过包含 `sync=False` 参数来异步创建批量预测作业:

.. code-block:: Python

  batch_prediction_job = model.batch_predict(..., sync=False)

  # 等待资源创建完成
  batch_prediction_job.wait_for_resource_creation()

  # 获取状态
  batch_prediction_job.state

  # 阻塞直到作业完成
  batch_prediction_job.wait()


端点
---------

要创建一个端点:

.. code-block:: Python

  endpoint = aiplatform.Endpoint.create(display_name='my-endpoint')

要将模型部署到已创建的端点上:

.. code-block:: Python

  model = aiplatform.Model('/projects/my-project/locations/us-central1/models/{MODEL_ID}')

  endpoint.deploy(model,
                  min_replica_count=1,
                  max_replica_count=5,
                  machine_type='n1-standard-4',
                  accelerator_type='NVIDIA_TESLA_K80',
                  accelerator_count=1)

要从端点获取预测结果:

.. code-block:: Python

  endpoint.predict(instances=[[6.7, 3.1, 4.7, 1.5], [4.6, 3.1, 1.5, 0.2]])

要从端点卸载模型:

.. code-block:: Python

  endpoint.undeploy_all()

要删除一个端点:

.. code-block:: Python

  endpoint.delete()


管道
---------

要创建一个 Vertex AI 管道运行并监控其完成:

.. code-block:: Python

  # 实例化 PipelineJob 对象
  pl = PipelineJob(
      display_name="我的第一个管道",

      # 是否启用缓存
      # True = 始终缓存管道步骤结果
      # False = 永远不缓存管道步骤结果
      # None = 延迟到管道定义中每个组件的缓存选项
      enable_caching=False,

      # 已编译管道定义的本地或 GCS 路径
      template_path="pipeline.json",

      # 包含管道输入参数的字典
      parameter_values=parameter_values,

      # 用作管道根目录的 GCS 路径
      pipeline_root=pipeline_root,
  )

  # 在 Vertex AI 中执行管道并监控其完成
  pl.run(
    # 用于管道运行的服务账户电子邮件地址
    # 必须对该服务账户拥有 iam.serviceAccounts.actAs 权限才能使用
    service_account=service_account,

    # 此函数调用是同步(等待管道运行完成后再终止)还是异步(立即返回)
    sync=True
  )

要创建一个 Vertex AI 管道而不监控其完成,可以使用 `submit` 代替 `run`:

.. code-block:: Python

  # 实例化 PipelineJob 对象
  pl = PipelineJob(
      display_name="我的第一个管道",

      # 是否启用缓存
      # True = 始终缓存管道步骤结果
      # False = 永远不缓存管道步骤结果
      # None = 延迟到管道定义中每个组件的缓存选项
      enable_caching=False,

      # 已编译管道定义的本地或 GCS 路径
      template_path="pipeline.json",

      # 包含管道输入参数的字典
      parameter_values=parameter_values,

      # 用作管道根目录的 GCS 路径
      pipeline_root=pipeline_root,
  )

  # 将管道提交到 Vertex AI
  pl.submit(
    # 用于管道运行的服务账户电子邮件地址
    # 必须对该服务账户拥有 iam.serviceAccounts.actAs 权限才能使用
    service_account=service_account,
  )


可解释 AI:获取元数据
----------------------------

要从 TensorFlow 1 模型中以字典格式获取元数据:

.. code-block:: Python

  from google.cloud.aiplatform.explain.metadata.tf.v1 import saved_model_metadata_builder

  builder = saved_model_metadata_builder.SavedModelMetadataBuilder(
            'gs://python/to/my/model/dir', tags=[tf.saved_model.tag_constants.SERVING]
        )
  generated_md = builder.get_metadata()

要从 TensorFlow 2 模型中以字典格式获取元数据:

.. code-block:: Python

  from google.cloud.aiplatform.explain.metadata.tf.v2 import saved_model_metadata_builder

  builder = saved_model_metadata_builder.SavedModelMetadataBuilder('gs://python/to/my/model/dir')
  generated_md = builder.get_metadata()

要在端点部署和模型上传中使用解释性元数据:

.. code-block:: Python

  explanation_metadata = builder.get_metadata_protobuf()

  # 使用解释性元数据部署模型到端点
  model.deploy(..., explanation_metadata=explanation_metadata)

  # 使用解释性元数据将模型部署到已创建的端点
  endpoint.deploy(..., explanation_metadata=explanation_metadata)

  # 使用解释性元数据上传模型
  aiplatform.Model.upload(..., explanation_metadata=explanation_metadata)


Cloud Profiler
----------------------------

Cloud Profiler 允许你按需对远程 Vertex AI 训练作业进行性能分析,并在 Vertex AI TensorBoard 中可视化结果。

要开始使用 TensorFlow 的性能分析器,需更新你的训练脚本以包含以下内容:

.. code-block:: Python

    from google.cloud.aiplatform.training_utils import cloud_profiler
    ...
    cloud_profiler.init()

接下来,使用 Vertex AI TensorBoard 实例运行作业。有关详细操作,请访问 https://cloud.google.com/vertex-ai/docs/experiments/tensorboard-overview

最后,在 Google Cloud 控制台中打开你的 TensorBoard,导航到“Profile”选项卡,然后点击“Capture Profile”按钮。这将允许用户捕获正在运行的作业的性能分析统计数据。


下一步
  • 阅读 Vertex AI API 的 客户端库文档_,以了解客户端提供的其他可用方法。
  • 阅读 Vertex AI API 产品文档_,以了解更多关于该产品的信息及操作指南。
  • 查看此 README_,以查看我们支持的完整云端 API 列表。

.. _Vertex AI API 产品文档: https://cloud.google.com/vertex-ai/docs .. _README: https://github.com/googleapis/google-cloud-python/blob/main/README.rst

版本历史

v1.143.02026/03/25
v1.147.02026/04/09
v1.146.02026/04/08
v1.145.02026/04/01
v1.144.02026/03/31
v1.142.02026/03/20
v1.141.02026/03/10
v1.140.02026/03/04
v1.139.02026/02/25
v1.138.02026/02/17
v1.137.02026/02/11
v1.136.02026/02/04
v1.135.02026/01/28
v1.134.02026/01/20
v1.133.02026/01/08
v1.132.02025/12/17
v1.131.02025/12/17
v1.130.02025/12/10
v1.129.02025/12/03
v1.128.02025/11/19

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

155.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|4天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|5天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架