Mistral AI 模型

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

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

Mistral AI 模型按实际用量付费(随用随付)。如需了解随用随付价格,请参阅 Vertex AI 价格页面上的 Mistral AI 模型价格。

可用的 Mistral AI 模型

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

Mistral Large (2407)

Mistral Large (2407) 是 Mistral AI 用于文本生成的旗舰级模型。它达到了顶级推理能力,可用于复杂的多语言任务,包括文本理解、转换和代码生成。如需了解详情,请参阅 Mistral AI 关于 Mistral Large (2407) 的博文

Mistral Large (2407) 在以下几个方面脱颖而出:

  • 在设计上支持多语言。支持数十种语言,包括英语、法语、德语、西班牙语、意大利语、中文、日语、韩语、葡萄牙语、荷兰语和波兰语。
  • 精通编码。针对 80 多种编码语言进行了训练,例如 Python、Java、C、C++、JavaScript 和 Bash。此外,还针对更具体的语言(例如 Swift 和 Fortran)进行了训练。
  • 以智能体为中心。具有原生函数调用和 JSON 输出的一流智能体功能。
  • 高级推理。领先的数学和推理功能。
前往 Mistral Large (2407) 模型卡片

Mistral Nemo

Mistral Nemo 是 Mistral AI 最具成本效益的专有模型。它是低延迟工作负载和可批量完成的简单任务(例如分类、客户服务和文本生成)的理想选择。如需了解详情,请参阅 Mistral AI 的文档

Mistral Nemo 针对以下应用场景进行了优化:

  • 文本生成和分类。
  • 为客户服务场景构建智能体。
  • 生成代码、补全、审核和注释。支持所有主流编码语言。
前往 Mistral Nemo 模型卡片

Codestral

Codestral 是专为代码生成任务(包括fill-in-the-middle和代码补全)而设计和优化的生成模型。Codestral 针对 80 多种编程语言进行了训练,因此在常用语言和不常用语言上都能表现良好。如需了解详情,请参阅 Mistral AI 的代码生成文档

Codestral 针对以下应用场景进行了优化:

  • 生成代码,提供代码补全、建议和转换。
  • 理解代码以提供代码的摘要和说明。
  • 通过帮助重构代码、修复错误和生成测试用例来检查代码的质量。
前往 Codestral 模型卡片

使用 Mistral AI 模型

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

  • 对于 Mistral Large (2407),请使用 mistral-large@2407
  • 对于 Mistral Nemo,请使用 mistral-nemo@2407
  • 对于 Codestral,请使用 codestral@2405

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

如需详细了解如何使用 Mistral AI SDK,请参阅 Mistral AI Vertex AI 文档

准备工作

如需将 Mistral AI 模型与 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 模型卡片之一,然后点击启用

对 Mistral AI 模型进行流式调用

以下示例对 Mistral AI 模型进行流式调用。

REST

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

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

  • LOCATION:支持 Mistral AI 模型的区域。
  • MODEL:您要使用的模型名称。 在请求正文中,不包括 @ 模型版本号。
  • ROLE:与消息关联的角色。您可以指定 userassistant。第一条消息必须使用 user 角色。 模型使用交替的 userassistant 回合运行。如果最终消息使用 assistant 角色,则回答内容会立即从该消息中的内容继续。您可以使用它来限制模型的部分回答。
  • STREAM:一个布尔值,用于指定是否流式传输回答。流式传输您的回答,以降低对最终使用延迟的感知度。设置为 true 可流式传输回答,设置为 false 可一次性返回所有回答。
  • CONTENTuserassistant 消息的内容(如文本)。
  • MAX_OUTPUT_TOKENS:响应中可生成的词元数量上限。一个词元约为 3.5 个字符。100 个词元对应大约 60-80 个单词。

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

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:streamRawPredict

请求 JSON 正文:

{
"model": MODEL,
  "messages": [
   {
    "role": "ROLE",
    "content": "CONTENT"
   }],
  "max_tokens": MAX_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/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:streamRawPredict"

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/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:streamRawPredict" | Select-Object -Expand Content

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

对 Mistral AI 模型进行一元调用

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

REST

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

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

  • LOCATION:支持 Mistral AI 模型的区域。
  • MODEL:您要使用的模型名称。 在请求正文中,不包括 @ 模型版本号。
  • ROLE:与消息关联的角色。您可以指定 userassistant。第一条消息必须使用 user 角色。 模型使用交替的 userassistant 回合运行。如果最终消息使用 assistant 角色,则回答内容会立即从该消息中的内容继续。您可以使用它来限制模型的部分回答。
  • STREAM:一个布尔值,用于指定是否流式传输回答。流式传输您的回答,以降低对最终使用延迟的感知度。设置为 true 可流式传输回答,设置为 false 可一次性返回所有回答。
  • CONTENTuserassistant 消息的内容(如文本)。
  • MAX_OUTPUT_TOKENS:响应中可生成的词元数量上限。一个词元约为 3.5 个字符。100 个词元对应大约 60-80 个单词。

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

HTTP 方法和网址:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:rawPredict

请求 JSON 正文:

{
"model": MODEL,
  "messages": [
   {
    "role": "ROLE",
    "content": "CONTENT"
   }],
  "max_tokens": MAX_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/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:rawPredict"

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/v1/projects/PROJECT_ID/locations/LOCATION/publishers/mistralai/models/MODEL:rawPredict" | Select-Object -Expand Content

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

Mistral AI 模型区域可用性和配额

对于 Mistral AI 模型,提供该模型的每个区域都有相应的配额。配额在每分钟查询次数 (QPM) 和每分钟词元数 (TPM) 中指定。TPM 包括输入和输出词元。

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

Mistral Large (2407)

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

Mistral Nemo

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

Codestral

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

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