案例中心

  • 首页 i(name Mistral Large 2 现在已在 Amazon Bedrock 上推出 机器学习博客

Mistral Large 2 现在已在 Amazon Bedrock 上推出 机器学习博客

2026-01-27 12:07:02

Mistral Large 2 在 Amazon Bedrock 上正式发布

作者:Niithiyn Vijeaswaran、Armando Diaz、Preston Tuggle 日期:2024年7月24日

关键要点

Mistral AI 的 Mistral Large 2 模型现已在 Amazon Bedrock 上正式推出。此版本在多语言能力、数学、推理和编程等多个方面显著提升。Mistral Large 2 支持 128000 令牌的上下文窗口,能够处理更大文本量。该模型支持生成 JSON 输出并具有精准的推理能力。

Mistral AI 的 Mistral Large 2 2407基础模型现已在 Amazon Bedrock 上可供使用。根据 Mistral AI 的说法,Mistral Large 2 是 Mistral Large 的新版本,并在多语言能力、数学、推理、编程等方面做出了显著提升。

在本文中,我们将探讨此新模型的优点和功能,并附上示例。

Mistral Large 2 概述

Mistral Large 2 是一个先进的大型语言模型LLM,具备最新的推理、知识和编码能力。据 Mistral AI 的描述,它设计上支持多种语言,包括英语、法语、德语、西班牙语、意大利语、中文、日语、韩语、葡萄牙语、荷兰语、波兰语、阿拉伯语和印地语。Mistral AI 表示,训练过程中还投入了大量精力来增强模型的推理能力。训练的一个关键关注点是尽量减少模型“幻觉”的倾向,即产生表面上合理但在事实中不准确或不相关的信息。通过微调模型,使其在输出时更加谨慎和洞察,确保生成可靠和准确的结果。此外,新版的 Mistral Large 2 还经过训练,以承认当其无法找到解决方案或缺乏充分的信息提供自信回答时。

据 Mistral AI 指出,该模型在编码方面也表现出色,支持 80 多种编程语言,如 Python、Java、C、C、JavaScript、Bash、Swift 和 Fortran。凭借其一流的代理能力,模型能够原生调用函数并输出 JSON,从而实现与外部系统、API 和工具的无缝交互。此外,Mistral Large 2 2407具备先进的推理和数学能力,是解决复杂逻辑和计算问题的强大资产。

Mistral Large 2 还支持 128000 令牌的上下文窗口。到目前为止,模型mistralmistrallarge2407v10已在 uswest2 AWS 区域可用。

在 Amazon Bedrock 上开始使用 Mistral Large 2

如果您是第一次使用 Mistral AI 模型,可以在 Amazon Bedrock 控制台申请模型访问权限。欲了解更多详情,请参阅 管理对 Amazon Bedrock 基础模型的访问。

要在 Amazon Bedrock 控制台测试 Mistral Large 2,您可以在导航栏选择 Playgrounds 下的 Text 或 Chat。然后选择 Select model,选择 Mistral 作为类别,选择 Mistral Large 2407 作为模型。

通过选择 View API 请求,您还可以使用 AWS 命令行界面AWS CLI和 AWS SDK 来访问模型。您可以使用以下模型 ID 进行调用,如 mistralmistrallarge2407v10:

bash aws bedrockruntime invokemodel modelid mistralmistrallarge2407v10 body {promptltsgt[INST] 这是您放置输入文本的地方 [/INST] maxtokens200 temperature05 topp09 topk50} clibinaryformat rawinbase64out region uswest2 invokemodeloutputtxt

在接下来的章节中,我们将深入探讨 Mistral Large 2 的能力。

增加的上下文窗口

Mistral Large 2 支持 128000 令牌的上下文窗口,相较于 Mistral Large2402仅支持 32000 令牌,这一增加对于开发者来说非常重要,因为它使得模型能够处理和理解更长的文本,例如完整文档或代码文件,而不会丢失上下文或连贯性。这在代码生成、文档分析或任何需要理解和处理大量文本数据的应用中尤为有用。

生成 JSON 和工具使用

Mistral Large 2 现在提供本地 JSON 输出模式。这个功能允许开发者以结构化、易读的格式接收模型的响应,可以很方便地集成到各种应用和系统中。由于 JSON 是一种广泛采用的数据交换标准,此功能简化了与模型输出的交互过程,使其在各个领域和用例中的开发变得更加可访问和实用。欲了解有关使用 Converse API 生成 JSON 的更多信息,请参阅 使用 Amazon Bedrock Converse API 生成 JSON。

要使用 Converse API 生成 JSON,您需要定义一个 toolSpec。在下面的例子中,我们为一家旅游代理公司定义了一个,将乘客信息和请求转换为 JSON:

python

Define the tool configuration

import jsontoollist = [ { toolSpec { name travelagent description 将旅行详情转换为 JSON 结构。 inputSchema { json { type object properties { originairport { type string description 出发机场IATA 代码 } destinationairport { type boolean description 目的地机场IATA 代码 } departuredate { type string description 出发日期 } returndate { type string description 返回日期 } } required [ originairport destinationairport departuredate returndate ] } } } }]content = 我想从纽约 (JFK) 到伦敦 (LHR) 预定一班往返航班。出发日期是 2023 年 6 月 15 日,返回日期是 2023 年 6 月 25 日。

我的航班偏好是:我希望乘坐达美航空或联合航空。我希望的出发时间范围是早上 8 点到 11 点,抵达时间范围是伦敦当地时间早上 9 点到下午 1 点。我可以接受一站中转的航班,但不希望超过一次。如果有直飞航班,请包括在内。

message = { role user content [ {text f{content}} {text 请创建一个良好结构的 JSON 对象,表示航班预定请求,确保数据的正确嵌套和组织。包括示例数据以便更好理解。根据 标签中的内容创建 JSON。} ]}

Bedrock 客户端配置

response = bedrockclientconverse( modelId=modelid messages=[message] inferenceConfig={ maxTokens 500 temperature 01 } toolConfig={ tools toollist })

responsemessage = response[output][message]responsecontentblocks = responsemessage[content]contentblock = next((block for block in responsecontentblocks if toolUse in block) None)tooluseblock = contentblock[toolUse]toolresultdict = tooluseblock[input]

print(jsondumps(toolresultdict indent=4))

我们得到了以下响应:

json{ originairport JFK destinationairport LHR departuredate 20230615 returndate 20230625}

Mistral Large 2 能够正确处理用户查询,并将适当的信息转换为 JSON。

Mistral Large 2 还支持 Converse API 和 工具使用。您可以使用 Amazon Bedrock API 给模型提供工具,让它为您发送给模型的消息生成响应。例如,您可能有一个聊天应用,允许用户查找某个电台播放的最受欢迎的歌曲。为回答最受欢迎歌曲的请求,模型需要一个工具来查询并返回歌曲信息。以下代码演示了如何获取正确的火车时刻表:

python

Define the tool configuration

toolConfig = { tools [ { toolSpec { name shinkansenschedule description 获取特定车站和时间的 Shinkansen 火车时刻表出发时间。 inputSchema { json { type object properties { station { type string description 车站名称。 } departuretime { type string description 出发时间HHMM 格式。 } } required [station departuretime] } } } } ]}

Define shinkansen schedule tool

def shinkansenschedule(station departuretime) schedule = { Tokyo {0900 Hikari 1200 Nozomi 1500 Kodama} Osaka {1000 Nozomi 1300 Hikari 1600 Kodama} } return scheduleget(station {})get(departuretime 未找到火车)def promptmistral(prompt) messages = [{role user content [{text prompt}]}] converseapiparams = { modelId modelid messages messages toolConfig toolConfig inferenceConfig {temperature 00 maxTokens 400} }

response = bedrockclientconverse(converseapiparams)if response[output][message][content][0]get(toolUse)    tooluse = response[output][message][content][0][toolUse]    toolname = tooluse[name]    toolinputs = tooluse[input]    if toolname == shinkansenschedule        print(Mistral 希望使用 shinkansenschedule 工具)        station = toolinputs[station]        departuretime = toolinputs[departuretime]        try            result = shinkansenschedule(station departuretime)            print(火车时刻结果: result)        except ValueError as e            print(f错误:{str(e)})else    print(Mistral 的回应是:)    print(response[output][message][content][0][text])

promptmistral(从东京出发 900 的火车有哪些?)

我们得到了以下响应:

Mistral 希望使用 shinkansenschedule 工具火车时刻结果:Hikari

Mistral Large 2 能够正确识别 shinkansen 工具并演示其用法。

多语言支持

Mistral Large 2 现支持大量字符型语言,如中文、日文、韩文、阿拉伯文和印地语。这种扩展的语言支持使得开发者能够构建能够满足不同语言背景用户的应用和服务。借助多语言能力,开发者可以创建本地化的用户界面,提供语言特定的内容和资源,并为用户提供无缝的体验,而无论其母语是什么。

在以下示例中,我们将作者生成的客户电子邮件翻译成印地语和日语:

pythonemails = 我最近购买了你们的RGB游戏键盘,并且非常喜欢可定制的照明功能!你能指导我如何为我玩的每款游戏设置不同的配置文件吗?我尝试使用我刚购买的游戏键盘上的宏键,但它们似乎没有注册我的输入。你能帮我弄清楚问题出在哪里吗?我考虑购买你们的游戏键盘,想了解一下键开关的类型。有什么选项可供选择,它们的主要区别是什么?我想报告一个小问题,我的键盘空格键有点吱吱作响。不过,你们的快速入门指南非常有帮助,我跟随润滑建议很容易就解决了。想告诉你们一下!我新的游戏键盘在购买一周内就停止工作了。没有任何按键响应,而且灯也不亮。我需要尽快解决方案或替换。我注意到我的游戏键盘上的字母在几个月的使用后开始褪色。这是否在保修范围内?我曾经遇到我的键盘设置每次重新启动我的PC时都会重置。这是由于软件冲突导致的,通过更新固件解决了。只是想问一下,是否会有新的更新推出?我一直在困扰于键盘软件无法保存我的配置,这让我感到很沮丧。我们能做些什么来确保我的设置永久保存?def converse(prompt inferenceconfig) messages = [{role user content [{text prompt}]}] response = bedrockclientconverse( messages=messages modelId=modelid inferenceConfig=inferenceconfig ) generatedtext = response[output][message][content][0][text] print(generatedtext) return generatedtext

prompt=f

emails={emails}

西部世界梯子

将以下客户电子邮件翻译为以下语言:

印地语日语

相应标记每个语言部分format(emails=emails)

inferenceconfig = {temperature 00 maxTokens 4000 topP 01}

response = converse(prompt inferenceconfig)

我们得到了以下响应:

1 RGB ! 2 3 4 !5 6 7 8 ?

Mistral Large 2 现在已在 Amazon Bedrock 上推出 机器学习博客

编程任务

Mistral Large 2 已经接受了超过 80 种编程语言的训练,包括如 Python、Java、C、C、JavaScript 和 Bash 等热门语言,以及 Swift 和 Fortran 等更专业的语言。这种全面的语言支持使得开发者可以处理各种领域和平台的广泛编程任务和项目。无论您是在