Llama 模型


Vertex AI 上的 Llama 模型以 API 形式提供全托管式无服务器模型。如需使用 Vertex AI 上的 Llama 模型,请直接向 Vertex AI API 端点发送请求。由于 Llama 模型使用托管式 API,因此无需预配或管理基础设施。

您可以流式传输回答,以降低最终用户对延迟时间的感知度。流式回答使用服务器发送的事件 (SSE) 来逐步流式传输回答。

可用的 Llama 模型

Meta 提供了以下 Llama 模型,可在 Vertex AI 中使用。如需访问 Llama 模型,请前往其 Model Garden 模型卡片。

Llama 3.2

借助 Llama 3.2,开发者可以构建和部署最新的生成式 AI 模型和应用,这些模型和应用使用了最新的 Llama 功能(例如图像推理)。Llama 3.2 还旨在让设备端应用更易于访问。

前往 Llama 3.2 模型卡片

在预览版期间,不会产生费用。如果您需要可用于生产用途的服务,请使用自托管的 Llama 模型

注意事项

使用 llama-3.2-90b-vision-instruct-maas 时,在发送纯文本提示时没有任何限制。不过,如果您在提示中加入图片,该图片必须位于提示的开头,并且您只能加入一张图片。例如,您不能先添加文本,然后再添加图片。

Llama 3.1

Llama 3.1 是一种使用经过优化的 Transformer 架构的自动回归语言模型。经过调优的版本使用监督式微调 (SFT) 和基于人类反馈的强化学习 (RLHF),以符合人类对实用性和安全性的偏好。

Llama 3.1 405B 已正式发布。您需要按实际用量(随用随付)为模型付费。如需了解随用随付价格,请参阅 Vertex AI 价格页面上的 Llama 模型价格。

其他 Llama 3.1 模型处于预览版阶段。预览版模型无需付费。如果您需要可用于生产环境的服务,请使用自托管的 Llama 模型

前往 Llama 3.1 模型卡片

使用 Llama 模型

发送使用 Llama 模型的请求时,请使用以下模型名称:

  • 对于 Llama 3.2 90B(预览版),请使用 llama-3.2-90b-vision-instruct-maas
  • 对于 Llama 3.1 405B(GA),请使用 llama-3.1-405b-instruct-maas
  • 对于 Llama 3.1 70B(预览版),请使用 llama-3.1-70b-instruct-maas
  • 对于 Llama 3.1 8B(预览版),请使用 llama-3.1-8b-instruct-maas

由于模型版本之间可能存在差异,我们建议您使用的模型版本包含以 @ 符号开头的后缀。如果未指定模型版本,则始终使用最新版本。当模型版本更改时,这可能会无意中影响您的工作流。

准备工作

如需将 Llama 模型与 Vertex AI 搭配使用,您必须执行以下步骤。必须启用 Vertex AI API (aiplatform.googleapis.com) 才能使用 Vertex AI。如果您已有启用了 Vertex AI API 的项目,则可以使用该项目,而无需创建新项目。

确保您拥有启用和使用合作伙伴模型所需的权限。如需了解详情,请参阅授予所需权限

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Enable the API

  8. 转到以下 Model Garden 模型卡片之一,然后点击启用

对 Llama 模型进行流式调用

以下示例会对 Llama 模型进行流式调用。

REST

设置您的环境后,您可以使用 REST 测试文本提示。以下示例会向发布方模型端点发送请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:支持 Llama 模型的区域。
  • MODEL:您要使用的模型名称
  • ROLE:与消息关联的角色。您可以指定 userassistant。第一条消息必须使用 user 角色。 模型使用交替的 userassistant 回合运行。如果最终消息使用 assistant 角色,则回答内容会立即从该消息中的内容继续。您可以使用它来限制模型的部分回答。
  • CONTENTuserassistant 消息的内容(如文本)。
  • MAX_OUTPUT_TOKENS:响应中可生成的词元数量上限。词元约为 4 个字符。100 个词元对应大约 60-80 个单词。

    指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。

  • STREAM:一个布尔值,用于指定是否流式传输回答。流式传输您的回答,以降低对最终使用延迟的感知度。设置为 true 可流式传输回答,设置为 false 可一次性返回所有回答。
  • ENABLE_LLAMA_GUARD:一个布尔值,用于指定是否要在输入和输出中启用 Llama Guard。默认情况下,Llama Guard 处于启用状态,如果确定响应不安全,则会标记相应响应。

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

请求 JSON 正文:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": true,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应。

对 Llama 模型进行一元调用

以下示例对 Llama 模型进行一元调用。

REST

设置您的环境后,您可以使用 REST 测试文本提示。以下示例会向发布方模型端点发送请求。

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:支持 Llama 模型的区域。
  • MODEL:您要使用的模型名称
  • ROLE:与消息关联的角色。您可以指定 userassistant。第一条消息必须使用 user 角色。 模型使用交替的 userassistant 回合运行。如果最终消息使用 assistant 角色,则回答内容会立即从该消息中的内容继续。您可以使用它来限制模型的部分回答。
  • CONTENTuserassistant 消息的内容(如文本)。
  • MAX_OUTPUT_TOKENS:响应中可生成的词元数量上限。词元约为 4 个字符。100 个词元对应大约 60-80 个单词。

    指定较低的值可获得较短的回答,指定较高的值可获得可能较长的回答。

  • STREAM:一个布尔值,用于指定是否流式传输回答。流式传输您的回答,以降低对最终使用延迟的感知度。设置为 true 可流式传输回答,设置为 false 可一次性返回所有回答。
  • ENABLE_LLAMA_GUARD:一个布尔值,用于指定是否要在输入和输出中启用 Llama Guard。默认情况下,Llama Guard 处于启用状态,如果确定响应不安全,则会标记相应响应。

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions

请求 JSON 正文:

{
  "model": "meta/MODEL",
  "messages": [
    {
      "role": "ROLE",
      "content": "CONTENT"
    }
  ],
  "max_tokens": MAX_OUTPUT_TOKENS,
  "stream": false,
  "extra_body": {
    "google": {
      "model_safety_settings": {
        "enabled": ENABLE_LLAMA_GUARD,
        "llama_guard_settings": {}
      }
    }
  }
}

如需发送请求,请选择以下方式之一:

curl

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions"

PowerShell

将请求正文保存在名为 request.json 的文件中,然后执行以下命令:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/openapi/chat/completions" | Select-Object -Expand Content

您应该收到类似以下内容的 JSON 响应。

已标记的回复

默认情况下,Llama Guard 会针对您使用 Llama 3.1 模型进行的所有预测启用。Llama Guard 通过检查输入和输出来帮助保护响应。如果 Llama Guard 确定这些响应不安全,则会标记相应响应。

如果您想停用 Llama Guard,请修改模型安全设置。如需了解详情,请参阅流式一元示例中的 model_safety_settings 字段。

使用 Vertex AI Studio

对于 Llama 模型,您可以使用 Vertex AI Studio 在 Google Cloud 控制台中快速对生成式 AI 模型进行原型设计和测试。例如,您可以使用 Vertex AI Studio 将 Llama 模型的回答与其他受支持的模型(例如 Google 的 Gemini)的回答进行比较。

如需了解详情,请参阅快速入门:使用 Vertex AI Studio 向 Gemini 发送文本提示

Llama 模型区域可用性和配额

对于 Llama 模型,提供该模型的每个区域都有相应的配额。配额以每分钟查询次数 (QPM) 为单位。

下表列出了每个 Llama 模型支持的区域、默认配额和上下文长度上限:

Llama 3.2 90B(预览版)

区域 配额系统 支持的上下文长度
us-central1 30 QPM 128,000 个词元

Llama 3.1 405B(GA)

区域 配额系统 支持的上下文长度
us-central1 60 QPM 128,000 个词元

Llama 3.1 70B(预览版)

区域 配额系统 支持的上下文长度
us-central1 60 QPM 128,000 个词元

Llama 3.1 8B(预览版)

区域 配额系统 支持的上下文长度
us-central1 60 QPM 128,000 个词元

若要增加 Vertex AI 上的生成式 AI 的任何配额,您可以使用 Google Cloud 控制台申请增加配额。如需详细了解配额,请参阅使用配额