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 (24.11)
Mistral Large (24.11) 是 Mistral AI 的 Large 模型的最新版本,现在其推理和函数调用功能得到了改进。
- 以代理为中心:具有原生函数调用和 JSON 输出的一流智能体功能。
- 从设计上支持多种语言:支持数十种语言,包括英语、法语、德语、西班牙语、意大利语、中文、日语、韩语、葡萄牙语、荷兰语和波兰语
- 精通编码:针对 80 多种编码语言进行了训练,例如 Python、Java、C、C++、JavaScript 和 Bash。此外,还针对更具体的语言(例如 Swift 和 Fortran)进行了训练
- 高级推理:领先的数学和推理功能。
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 Nemo
Mistral Nemo 是 Mistral AI 最具成本效益的专有模型。它是低延迟工作负载和可批量完成的简单任务(例如分类、客户服务和文本生成)的理想选择。如需了解详情,请参阅 Mistral AI 的文档。
Mistral Nemo 针对以下应用场景进行了优化:
- 文本生成和分类。
- 为客户服务场景构建智能体。
- 生成代码、补全、审核和注释。支持所有主流编码语言。
Codestral
Codestral 是专为代码生成任务(包括填充中间部分和代码补全)而设计和优化的生成模型。Codestral 使用 80 多种编程语言进行训练,因此对常见和不常见的编程语言都能取得理想的效果。如需了解详情,请参阅 Mistral AI 的代码生成文档。
Codestral 针对以下应用场景进行了优化:
- 生成代码,提供代码补全、建议和转换。
- 理解代码以提供代码的摘要和说明。
- 通过帮助重构代码、修复错误和生成测试用例来检查代码的质量。
使用 Mistral AI 模型
发送使用 Mistral AI 模型的请求时,请使用以下模型名称:
- 对于 Mistral Large (24.11),请使用
mistral-large-2411
。 - 对于 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 的项目,则可以使用该项目,而无需创建新项目。
确保您拥有启用和使用合作伙伴模型所需的权限。如需了解详情,请参阅授予所需权限。
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
- 前往 Mistral AI Model Garden 的某个模型卡片,然后点击启用。
对 Mistral AI 模型进行流式调用
以下示例对 Mistral AI 模型进行流式调用。
REST
设置您的环境后,您可以使用 REST 测试文本提示。以下示例会向发布方模型端点发送请求。
在使用任何请求数据之前,请先进行以下替换:
- LOCATION:支持 Mistral AI 模型的区域。
- MODEL:您要使用的模型名称。 在请求正文中,不包括
@
模型版本号。 - ROLE:与消息关联的角色。您可以指定
user
或assistant
。第一条消息必须使用user
角色。 模型使用交替的user
和assistant
回合运行。如果最终消息使用assistant
角色,则回答内容会立即从该消息中的内容继续。您可以使用它来限制模型的部分回答。 - STREAM:一个布尔值,用于指定是否流式传输回答。流式传输您的回答,以降低对最终使用延迟的感知度。设置为
true
可流式传输回答,设置为false
可一次性返回所有回答。 - CONTENT:
user
或assistant
消息的内容(如文本)。 - 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:与消息关联的角色。您可以指定
user
或assistant
。第一条消息必须使用user
角色。 模型使用交替的user
和assistant
回合运行。如果最终消息使用assistant
角色,则回答内容会立即从该消息中的内容继续。您可以使用它来限制模型的部分回答。 - STREAM:一个布尔值,用于指定是否流式传输回答。流式传输您的回答,以降低对最终使用延迟的感知度。设置为
true
可流式传输回答,设置为false
可一次性返回所有回答。 - CONTENT:
user
或assistant
消息的内容(如文本)。 - 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 (24.11)
区域 | 配额系统 | 支持的上下文长度 |
---|---|---|
us-central1 |
60 QPM、200,000 TPM | 128,000 个词元 |
europe-west4 |
60 QPM、200,000 TPM | 128,000 个词元 |
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 控制台申请增加配额。如需详细了解配额,请参阅使用配额。