亚马逊AWS官方博客
使用 Amazon Nova Web Grounding 构建更准确的 AI 应用程序
试想一下,无需开发复杂的数据检索系统,就能构建出可提供准确最新信息的 AI 应用程序。今天,我们很高兴地宣布,Amazon Bedrock 中用于 Nova 模型的全新内置工具 Web Grounding 正式全面上线。
Web Grounding 为开发人员提供了一种开箱即用的检索增强生成(RAG)方案,使 Amazon Nova 基础模型能够根据提示语的上下文,智能判断何时检索并整合相关的最新信息。它通过引入附有引证的公共信息来源作为上下文使模型输出更具事实依据,致力于减少模型幻觉,提高回答准确性。
开发人员何时应使用 Web Grounding?
当构建需要访问最新事实信息或需要提供附带完善引用来源的响应的应用程序时,开发人员应考虑使用 Web Grounding。从提供产品和服务最新信息的知识型聊天助手,到需要事实核查和来源验证的内容生成工具,在许多应用场景中,该功能都能发挥显著价值。它也非常适合需要整合多来源最新信息的研究助手,以及准确性和可验证性至关重要的客户支持应用程序。
当您需要减少 AI 应用程序中的幻觉,或您的使用案例要求提供透明的溯源依据时,Web Grounding 尤其有用。由于能自动完成信息的检索与整合,对于希望专注于构建应用程序而非管理复杂 RAG 实现的开发人员而言,它无疑是一种高效的解决方案。
开始使用
Web Grounding 能够与受支持的 Amazon Nova 模型无缝集成,在推理过程中进行信息检索与处理。这不仅消除了构建和维护复杂 RAG 管道的需要,还能提供可验证信息来源的溯源依据。
我们来看一个通过使用 Python 调用启用了 Web Grounding 的 Amazon Bedrock Converse API 向 Nova Premier 提问的示例。
首先,我按照常规方式使用适用于 Python 的 Amazon SDK(Boto3)创建了一个 Amazon Bedrock 客户端。出于良好实践考虑,我使用了会话对象,这有助于我对配置进行分组并提高其复用性。随后,我创建了一个 BedrockRuntimeClient 客户端实例。
try:
session = boto3.Session(region_name='us-east-1')
client = session.client(
'bedrock-runtime')
接着,我准备了 Amazon Bedrock Converse API 的有效载荷。它包含一个设置为“user”的“role”参数,表明该消息来自我们应用程序的用户(与表示 AI 生成响应的“assistant”相对)。
在这个演示中,我选择了问题“What are the current AWS Regions and their locations?”(当前 AWS 区域及其所在地有哪些?)。 之所以特意选取这个问题,是因为它需要获取最新信息,正好可以用来展示 Amazon Nova 在判断需要最新知识时,如何通过 Web Grounding 自动发起搜索。
# 按照符合 Bedrock 规范的格式准备对话
question = "What are the current AWS regions and their locations?"
conversation = [
{
"role": "user", # 表示此消息来自用户
"content": [{"text": question}], # 实际的问题文本
}
]
我们先来看看未使用 Web Grounding 时的输出是怎样的。我调用了 Amazon Bedrock Converse API。
# 对 Bedrock 进行 API 调用
model_id = "us.amazon.nova-premier-v1:0"
response = client.converse(
modelId=model_id, # 使用哪个 AI 模型
messages=conversation, # 对话历史记录(本例中只有我们的问题)
)
print(response['output']['message']['content'][0]['text'])
我得到了所有当前 AWS 区域及其所在地的列表。
现在我们使用 Web Grounding。我进行了一次类似的 Amazon Bedrock Converse API 调用,但声明 nova_grounding 作为模型可用的工具之一。
model_id = "us.amazon.nova-premier-v1:0"
response = client.converse(
modelId=model_id,
messages=conversation,
toolConfig= {
"tools":[
{
"systemTool": {
"name": "nova_grounding" # 使模型能够搜索实时信息
}
}
]
}
)
处理完响应后,我可以看到模型使用了 Web Grounding 来访问最新信息。输出包含了推理轨迹,我可以利用它来跟踪其思维过程,看看在哪里自动查询了外部来源。这些外部调用的响应内容显示为 [HIDDEN],这是 AI 系统中的标准做法,既保护了敏感信息,又有助于管理输出大小。
此外,输出还包含 citationsContent 对象,其中显示了有关 Web Grounding 所查询的来源的信息。
最后,我可以看到 AWS 区域列表。它在结尾处附带了一条消息,说明“These are the most current and active AWS regions globally”(这些是全球最新的活跃 AWS 区域列表)。
Web Grounding 代表着在以最少投入使 AI 应用程序变得更可靠、更与时俱进方面迈出的重要一步。无论您是构建需要提供最新准确信息的客服聊天助手,开发需要分析和整合多来源信息的研究应用程序,还是创建提供目的地与住宿最新资讯的旅行应用程序,Web Grounding 都可以作为您易于配置和使用的便捷即用型解决方案,助您为用户提供更准确、更贴切的回答。
注意事项
Amazon Nova Web Grounding 现已在美国东部(弗吉尼亚州北部)推出。很快,Web Grounding 也将在美国东部(俄亥俄州)和美国西部(俄勒冈州)上线。
使用 Web Grounding 会产生额外费用。请参阅 Amazon Bedrock 定价页面了解更多详情。
目前,Web Grounding 功能仅支持在 Nova Premier 模型上使用,但我们很快将增加对其他 Nova 模型的支持。
若您尚未使用过 Amazon Nova 或希望深入探索,欢迎参加这个自定进度的在线研习会,通过实操练习了解如何高效运用 Amazon Nova 基础模型及学习文本、图片和视频处理等相关特征。
Matheus Guimaraes | @codingmatheus
AWS 架构师中心: 云端创新的引领者探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用 |
![]() |





