本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网页搜寻
网络搜索是一种内置工具,可在亚马逊 Bedrock 中提供网络搜索功能。当你启用它时,支持的模型可以在请求期间从网络检索当前信息,并使用它来获得答案,而不是只依赖他们训练的数据。答复包括对模型所用来源的引用。网络搜索由托管和构建 AWS。只有当您的请求和 IAM 权限都允许时,才会从外部 Web 进行检索。
数据治理
要在允许缓存页面内容的同时保持在 AWS 边界内进行检索,请将设置external_web_access为false。然后,搜索由亚马逊 Bedrock 网络索引提供,Fetch 由亚马逊 Bedrock 缓存提供。
该AmazonBedrockFullAccess政策允许搜索和提取,但不允许bedrock-websearch:ExternalWebAccess。由于external_web_access默认值为true,因此在此策略中省略参数会导致每次 Fetch 尝试在读取缓存之前的后端授权检查失败。仍然可以使用搜索观察来完成整个响应 API 请求,但是 Fetch 不提供任何页面内容。将参数明确设置为false可避免此故障,并将检索保持在 AWS 边界内。根据您使用的模型,您的数据受自动化Amazon Bedrock 滥用检测机制的约束。
何时使用网络搜索
每当答案依赖于比模型的参数知识更新、更专业或更权威的信息时,网络搜索就很有用。近期是一个常见的案例:时事、最近的产品发布、价格或新库版本的文档。它同样适用于模型知识薄弱或不精确的长尾问题或专业问题,例如利基API、特定的配置值或特定领域的事实,以及你想要有根据的、可引用的来源而不是回忆的情况。
网络搜索的工作原理
由于该工具在 Amazon Bedrock 内运行,因此您无需托管搜索索引、管理爬虫或自己编写工具调用循环。您将该工具添加到您的 Amazon Bedrock 推理请求中,模型会根据需要调用该工具。Web Search 为模型提供最新信息,使模型能够返回带有引文的有根据的答案。
启用 Web 搜索后,模型将决定请求是否需要最新信息。如果是,该模型会向网络搜索工具发出一个或多个搜索查询,并接收从亚马逊建立和维护的网络索引中提取的一组观察结果。每个观察都包含一个标题、一个来源 URL 和一个内容片段。然后,该模型根据这些结果撰写答案,并添加指向来源的引文。
如果第一组结果不足以回答问题,则模型可以使用找到的内容重新制定查询,并在同一回合内再次搜索。当结果不支持答案时,模型会告诉你答案,而不是填补训练数据中的空白。
搜索和提取操作
Web 搜索由两个操作构建:
-
搜索 — 返回亚马逊 Bedrock 网络索引和知识图谱中的标题、网址和摘要,以获取高度可信的事实。
-
提取 -检索特定 URL 的页面内容。
external_web_access设置为false,Fetch 仅使用亚马逊 Bedrock 缓存。将参数设置为true并授予所需的 IAM 权限后,Fetch 会首先检查缓存,只有在缓存失误时才访问外部网络。
搜索始终由亚马逊 Bedrock 网络索引提供。响应 API 中的external_web_access参数和 bedrock-websearch:ExternalWebAccess IAM 权限控制 Fetch 在缓存丢失后是否可以使用外部网络。有关更多信息,请参阅 控制外部 Web 访问权限。
支持的模型
网络搜索适用于使用响应 API 通过亚马逊 Bedrock bedrock-mantle 终端节点提供的 OpenAI GPT 模型。在美国商业地区,它受到 GPT-5.6 家族(openai.gpt-5.6-solopenai.gpt-5.6-terra、和openai.gpt-5.6-luna)以及早期openai.gpt-5.4和的支持openai.gpt-5.5。在 AWS GovCloud (美国)中,openai.gpt-5.6-terraopenai.gpt-5.6-luna、和支持openai.gpt-5.4。本指南中的示例使用openai.gpt-5.6-terra. 有关网络搜索的定价,请参阅亚马逊 Bedrock 定价页面
注意
网络搜索是一种服务器端工具,因此当您在端bedrock-runtime点上调用响应 API 时,它不可用。要使用它,请调用响应 API bedrock-mantle。有关两个端点之间的其他区别,请参阅在基岩运行时端点上使用响应 API。
区域可用性
Web 搜索处理区域内查询。请在下方查看当前可用性。
美国
| 区域 | 区域代码 |
|---|---|
| 美国东部(弗吉尼亚州北部) | us-east-1 |
| 美国东部(俄亥俄州) | us-east-2 |
| 美国西部(俄勒冈州) | us-west-2 |
AWS GovCloud (美国)
| 区域 | 区域代码 |
|---|---|
| AWS GovCloud (US-West) | us-gov-west-1 |
网络搜索完全是区域性的。每个区域都有自己的搜索和提取层,查询、提取、索引数据和结果不会跨区域传输。在给定区域发出的查询保留在该区域的边界内。
启用 Web 搜索
要使用 Web 搜索,必须允许您的请求背后的 IAM 身份调用 Web 搜索操作。有关所需的权限和示例策略,请参阅 Web Search 的身份和访问管理。
设置您的环境
在运行示例之前设置以下内容:
export OPENAI_API_KEY="your-amazon-bedrock-api-key" export OPENAI_BASE_URL="https://bedrock-mantle.us-west-2.api.aws/openai/v1"
将 Web 搜索工具添加到请求中
要启用 Web 搜索,请在请求中的tools数组中添加一个类型的web_search工具。模型仅在确定请求需要最新信息时才使用该工具。有关可运行的示例,请参阅。代码示例
控制搜索上下文的大小
search_context_size用于控制每次 Search 调用可以向模型返回多少上下文。支持的值为:
| 值 | 观察预算 | 何时使用 |
|---|---|---|
low |
最多 5 | 对于简单的问题,较小的上下文和较低的输入令牌使用量。 |
medium |
最多 11 | 默认值。平衡结果覆盖范围和输入代币使用量。 |
high |
最多 25 | 复杂或多跳问题有更多背景信息,潜在的输入令牌使用率更高。 |
观察结果包含标题、网址和内容片段。当 Search 调用包含多个查询时,将共享预算,并且该服务返回的观测值少于最大值。较大的设置会增加模型输入标记和相关的推理成本。此参数不限制模型可以进行多少次搜索调用。
tools=[{ "type": "web_search", "search_context_size": "low", "external_web_access": False, }]
控制外部 Web 访问权限
搜索由亚马逊 Bedrock 网络索引提供。在缓存丢失后,Fetch 能否从外部网络检索页面内容由两个协同工作的控件控制:响应 API 中的external_web_access参数和 bedrock-websearch:ExternalWebAccess IAM 权限。
该external_web_access参数默认为true,与 OpenAI 响应 API 相匹配,因此您的调用无需更改。该AmazonBedrockFullAccess政策允许基本的 Web 搜索操作(bedrock-websearch:InvokeSearch和bedrock-websearch:InvokeFetch),但不授权bedrock-websearch:ExternalWebAccess。因此,external_web_access在true读取缓存之前,如果请求离开了未保存的身份,ExternalWebAccess则该请求无法通过每次 Fetch 尝试的后端授权检查。调用者的响应 API 请求仍然可以返回 HTTP200:模型可以继续使用搜索观测结果并返回url_citation注释。不能保证模型的回复会披露提取失败,引文的存在并不意味着被引页面已被提取。启用 Web Search 数据事件记录 CloudTrail 时,会显示被拒绝的InvokeFetch呼叫。有关详细信息,请参阅监控 Web 搜索。
为 Fetch 选择以下配置之一。
将请求保留在 AWS 边界
在工具"external_web_access": false上设置。这不需要ExternalWebAccess权限,完全通过 Amazon Bedrock 网络索引和缓存进行检索,并且您的请求数据不会离开边 AWS 界。因为有AmazonBedrockFullAccess补助金InvokeFetch,缓存的 Fetch 可以继续使用。明确设置参数;不要在将参数保留为默认值时依赖省略权限true,因为该配置会导致 Fetch 尝试失败。
response = client.responses.create( model="openai.gpt-5.6-terra", input="Summarize recent guidance on AWS Lambda cold starts.", tools=[{"type": "web_search", "external_web_access": False}], )
curl "https://bedrock-mantle.us-west-2.api.aws/openai/v1/responses" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai.gpt-5.6-terra", "input": "Summarize recent guidance on AWS Lambda cold starts.", "tools": [{"type": "web_search", "external_web_access": false}] }'
启用外部 Web 访问
授bedrock-websearch:ExternalWebAccess予请求标识并设置external_web_access为true。最简单的托管策略路径是连接或AmazonBedrockExternalWebSearchReadOnly。AmazonBedrockExternalWebSearchFullAccess这些策略的当前版本允许对相同的资源执行相同的三个 Web 搜索操作,因此任一策略都支持外部检索。有关详细信息,请参阅托管策略。
通过这种配置,搜索将继续使用亚马逊 Bedrock 网络索引。Fetch 首先检查亚马逊 Bedrock 缓存,只有在缓存中没有合适的页面内容时才从外部网络检索。当 Fetch 到达外部网络时,您的请求数据可能会离开边 AWS 界。只有当您同时授予权限并保持参数处于启用状态时,外部检索才会生效。
注意
请注意,设置external_web_access为会true带来数据泄露风险。代理可以将查询数据编码为 URL,然后尝试从外部互联网获取该 URL。当您处理敏感数据时,将设置external_web_accessfalse为防止数据到达外部互联网。
在 Codex 中使用 Web 搜索
OpenAI 的编码代理 Codex 通过bedrock-mantle终端节点连接到亚马逊 Bedrock,可以在支持的型号上使用网络搜索。网络搜索在 Codex 桌面应用程序和 CLI 版本 0.147.0 或更高版本中可用。
除标准 Web 搜索权限外,在 Codex 中使用 Web 搜索不需要额外的 IAM 设置。必须允许您的 API 密钥后面的 IAM 身份调用网络搜索操作bedrock-websearch:InvokeSearch和bedrock-websearch:InvokeFetch。这些行动由AmazonBedrockFullAccess政策授权。有关所需的权限和示例策略,请参阅 Web Search 的身份和访问管理。
在支持的亚马逊 Bedrock 模型上,Codex 使用纯文本网络搜索,从亚马逊 Bedrock 网络索引和缓存中返回标题、网址和内容片段。Codex false 在每个请求上设置external_web_access为,因此您的请求数据保持在 AWS 边界内。有关更多信息,请参阅 控制外部 Web 访问权限。
代码示例
响应 API
from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-5.6-terra", input="What are the most significant AWS launches announced this month?", tools=[{"type": "web_search", "external_web_access": False}], ) print(response.output_text)
答复包括扎实的答案文本以及指向来源的url_citation注释:
{ "content": [ { "annotations": [ { "end_index": 573, "start_index": 441, "title": "Upgrade Amazon EKS clusters with confidence using Kubernetes version rollbacks | AWS News Blog", "type": "url_citation", "url": "https://aws.amazon.com/blogs/aws/upgrade-amazon-eks-clusters-with-confidence-using-kubernetes-version-rollbacks/" }, { "end_index": 1094, "start_index": 888, "title": "AWS Weekly Roundup: AWS Builder Center at 1 year, Network Scanning in Security Hub, Loom for AWS, and more (July 13, 2026) | AWS News Blog", "type": "url_citation", "url": "https://aws.amazon.com/blogs/aws/aws-weekly-roundup-aws-builder-center-at-one-year-network-scanning-in-security-hub-loom-for-aws-and-more-july-13-2026/" }, { "end_index": 1837, "start_index": 1414, "title": "AWS Weekly Roundup: One-click Lambda setup prompt, OpenAI GPT-5.6 models on Bedrock, and more (July 20, 2026) | AWS News Blog", "type": "url_citation", "url": "https://aws.amazon.com/blogs/aws/aws-weekly-roundup-one-click-lambda-setup-prompt-openai-gpt-5-6-models-on-bedrock-and-more-july-20-2026/" } ], "logprobs": [], "text": "As of **July 30, 2026**, the most significant AWS launches this month:\n\n1. **Amazon EKS Kubernetes version rollbacks** — EKS now lets admins roll back a Kubernetes version upgrade within **seven days**, effectively adding an “undo” path for cluster upgrades and reducing upgrade risk for large or regulated Kubernetes fleets. It’s available at no additional cost in commercial Regions where EKS is available. ([aws.amazon.com](https://aws.amazon.com/blogs/aws/upgrade-amazon-eks-clusters-with-confidence-using-kubernetes-version-rollbacks/))\n\n2. **AWS Security Hub Network Scanning + Azure support** — Security Hub added active Network Scanning to find resources actually reachable from the public internet, and also expanded unified security management to **Microsoft Azure** resources, making this a notable multi-cloud security/posture-management move. ([aws.amazon.com](https://aws.amazon.com/blogs/aws/aws-weekly-roundup-aws-builder-center-at-one-year-network-scanning-in-security-hub-loom-for-aws-and-more-july-13-2026/))\n\n3. **New frontier models on Amazon Bedrock: Claude Sonnet 5, Claude Opus 5, and OpenAI GPT-5.6 models** — AWS added major new model choices to Bedrock this month: Anthropic’s Claude Sonnet 5 and Claude Opus 5, plus OpenAI GPT-5.6 Sol, Terra, and Luna, expanding Bedrock’s role as a multi-model enterprise AI platform. ([aws.amazon.com](https://aws.amazon.com/blogs/aws/aws-weekly-roundup-one-click-lambda-setup-prompt-openai-gpt-5-6-models-on-bedrock-and-more-july-20-2026/))", "type": "output_text" } ], "id": "msg_dcda8e4b477f5a1d96bfbcadefef7a77", "phase": "final_answer", "role": "assistant", "status": "completed", "type": "message" }
直接 HTTPS 请求
如果您不使用 OpenAI 软件开发工具包,请将请求直接发送到响应端点。该tools字段带有 Web 搜索工具。
curl "https://bedrock-mantle.us-west-2.api.aws/openai/v1/responses" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "openai.gpt-5.6-terra", "input": "What are the most significant AWS launches announced this month?", "tools": [{"type": "web_search", "external_web_access": false}] }'
阅读回复中的引文
网络搜索以文本附加url_citation注释的形式返回引文。每个注解都带有源标题和 URL 以及其支持的答案中的字符跨度。保留这些信息并将其显示给最终用户。
即使 Fetch 没有检索到整页,引文也可以基于搜索的观察结果。不要使用引文的存在来确定内容是来自亚马逊 Bedrock 缓存还是来自外部网络。要审计 Fetch 结果和检索来源,请使用中的fetchedSources字段 CloudTrail。有关详细信息,请参阅监控 Web 搜索。
from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-5.6-terra", input="What are the most significant AWS launches announced this month?", tools=[{"type": "web_search", "external_web_access": False}], ) # The grounded answer print(response.output_text) # The sources behind it for item in response.output: if item.type == "message": for block in item.content: if block.type == "output_text": for ann in block.annotations: if ann.type == "url_citation": print(f"- {ann.title}: {ann.url}")
如果您使用的是原始 JSON(例如,来自直接 HTTPS 调用),则相同的数据存在于output[].content[].annotations[]:
jq '.output[] | select(.type=="message") | .content[] | select(.type=="output_text") | .annotations[] | select(.type=="url_citation") | {title, url, start_index, end_index}' response.json
流式响应
响应 API 会在生成答案时对其进行流式传输。文本作为response.output_text.delta事件到达,每个引文作为response.output_text.annotation.added事件到达,因为模型是陈述的依据。
from openai import OpenAI client = OpenAI() stream = client.responses.create( model="openai.gpt-5.6-terra", input="What are the most significant AWS launches announced this month?", tools=[{"type": "web_search", "external_web_access": False}], stream=True, ) for event in stream: if event.type == "response.output_text.delta": print(event.delta, end="", flush=True) elif event.type == "response.output_text.annotation.added": ann = event.annotation print(f"\n[source] {ann['title']}: {ann['url']}")
总而言之,注解事件如下所示:
event: response.output_text.annotation.added data: {"type":"response.output_text.annotation.added","annotation":{"type":"url_citation","title":"News and Updates from the July 2025 Pokémon Presents","url":"https://www.pokemon.com/us/pokemon-news/...","start_index":589,"end_index":698},"annotation_index":2,"content_index":0,"item_id":"msg_...","output_index":1}
安全性
亚马逊 Bedrock 上的网络搜索使用 AWS Identity and Access Management (IAM) 来控制谁可以进行搜索和提取,以及在哪些区域进行搜索和提取。网络搜索的 IAM 服务前缀是bedrock-websearch。有关禁用 Web 搜索的操作、托管策略、条件密钥、示例策略和管理员控制的完整列表,请参阅 Web Search 的身份和访问管理。
使用监控 CloudTrail
亚马逊 Bedrock 上的网络搜索集成 AWS CloudTrail了。 CloudTrail 将 Web Search 的 API 活动捕获为数据事件,因此您可以审核调用该工具的人、时间和地点。有关捕获的字段、如何启用数据事件记录以及故意排除的内容,请参阅监控 Web 搜索。
可接受的用途
如果您在亚马逊 Bedrock 上使用网络搜索,Amazon Bedrock 会向支持的模型提供网络搜索结果(“搜索结果”),模型可以使用这些结果来生成响应。您对包含搜索结果的模型输出的使用以及最终用户的任何使用负责。在向最终用户提供的任何输出中,您必须保留并显示模型输出中提供的来源引文和链接。您不得使用 Web Search(a)从搜索结果中批量提取、存储或复制内容,或(b)建立或填充竞争索引或数据库。