Llama 模型


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

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

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

可用的 Llama 3.1 模型

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

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

Llama 3.1 405B

Llama 3.1 405B 是 Meta 迄今为止功能最强大、用途最广泛的模型。它是公开提供的最大基础模型,可提供从合成数据生成到模型蒸馏、可操纵性、数学、工具使用、多语言翻译等的功能。如需了解详情,请访问 Meta 的 Llama 3.1 网站。

Llama 3.1 405B 针对以下应用场景进行了优化:

  • 企业级应用
  • 研究与开发
  • 合成数据生成和模型蒸馏
前往 Llama 3.1 405B 模型卡片

使用 Llama 模型

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

  • 对于 Llama 3.1 405B,请使用 llama3-405b-instruct-mass

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

准备工作

如需将 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 可一次性返回所有回答。

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
}

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

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 可一次性返回所有回答。

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
}

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

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 Guard 保护 LLM 输入和输出。 Colab
GitHub
Vertex AI Workbench
使用自动并排 (AutoSxS) 评估功能来评估 Llama 3.1 模型。 Colab
GitHub
Vertex AI Workbench

Llama 模型区域可用性和配额

对于 Llama 模型,提供该模型的每个区域都有相应的配额。配额在每分钟查询次数 (QPM) 中指定。

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

Llama 3.1 405B

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

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