

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 网页搜寻
<a name="web-search"></a>

网络搜索是一种内置工具，可在亚马逊 Bedrock 中提供网络搜索功能。当你启用它时，支持的模型可以在请求期间从网络检索当前信息，并使用它来获得答案，而不是只依赖他们训练的数据。答复包括对模型所用来源的引用。Web Search 由托管和构建 AWS，默认情况下，您的数据将保留在 AWS 边界内。

## 数据治理
<a name="web-search-data-governance"></a>

默认情况下，使用该[AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)政策时，网络搜索由 Amazon Bedrock 网络索引和缓存提供，您的请求数据不会离开检索 AWS 边界。您也可以使用 IAM 在策略级别强制执行此操作。根据您使用的模型，您的数据受自动化[Amazon Bedrock 滥用检测](abuse-detection.md)机制的约束。

## 何时使用网络搜索
<a name="web-search-when-to-use"></a>

每当答案依赖于比模型的参数知识更新、更专业或更权威的信息时，网络搜索就很有用。近期是一个常见的案例：时事、最近的产品发布、价格或新库版本的文档。它同样适用于模型知识薄弱或不精确的长尾问题或专业问题，例如利基API、特定的配置值或特定领域的事实，以及你想要有根据的、可引用的来源而不是回忆的情况。

## 网络搜索的工作原理
<a name="web-search-how-it-works"></a>

由于该工具在 Amazon Bedrock 内运行，因此您无需托管搜索索引、管理爬虫或自己编写工具调用循环。您将该工具添加到您的亚马逊 Bedrock 推理请求中，模型会根据需要调用该工具。Web Search 为模型提供最新信息，使模型能够返回带有引文的有根据的答案。

启用 Web 搜索后，模型将决定请求是否需要最新信息。如果是，该模型会向网络搜索工具发出一个或多个搜索查询，并接收从亚马逊建立和维护的网络索引中提取的一组观察结果。每个观察都包含一个标题、一个来源 URL 和一个内容片段。然后，该模型根据这些结果撰写答案，并添加指向来源的引文。

如果第一组结果不足以回答问题，则模型可以使用找到的内容重新制定查询，并在同一回合内再次搜索。当结果不支持答案时，模型会告诉你答案，而不是填补训练数据中的空白。

### 搜索和提取操作
<a name="web-search-search-fetch"></a>

Web 搜索由两个操作构建：
+ **搜索 ** — 返回亚马逊 Bedrock 网络索引和知识图谱中的标题、网址和摘要，以获取高度可信的事实。
+ **提取 ** — 从亚马逊 Bedrock 缓存中检索特定 URL 的缓存页面内容。如果结果在缓存中不可用，则模型可以选择通知您或根据其拥有的最佳信息生成响应。

默认情况下，这两个操作完全在 AWS 服务边界内使用 Amazon Bedrock 网络索引和缓存（内部托管的网络内容的快照）提供 AWS，而不是在请求时从实时网络上获取。响应 API 中的`external_web_access`参数和 `bedrock-websearch:ExternalWebAccess` IAM 权限决定了搜索和提取是否可以直接到达外部网络。有关更多信息，请参阅 [控制外部 Web 访问权限](#web-search-controlling-external)。

### 支持的模型
<a name="web-search-supported-models"></a>

网络搜索适用于使用响应 API 通过亚马逊 Bedrock `bedrock-mantle` 终端节点提供的 OpenAI GPT 模型。目前，它由 GPT-5.6 家庭（`openai.gpt-5.6-sol``openai.gpt-5.6-terra`、和`openai.gpt-5.6-luna`）以及较早的`openai.gpt-5.4`和提供支持`openai.gpt-5.5`。本指南中的示例使用`openai.gpt-5.6-terra`. 有关网络搜索的定价，请参阅[亚马逊 Bedrock 定价页面](https://aws.amazon.com/bedrock/pricing/)。

**注意**  
网络搜索是一种服务器端工具，因此当您在端`bedrock-runtime`点上调用响应 API 时，它不可用。要使用它，请调用响应 API `bedrock-mantle`。有关两个端点之间的其他区别，请参阅[在基岩运行时端点上使用响应 API](bedrock-mantle.md#bedrock-mantle-responses-runtime)。

### 区域可用性
<a name="web-search-regional-availability"></a>

Web 搜索处理三个美国地区的区域内查询：


| **区域** | **区域代码 ** | 
| --- | --- | 
| 美国东部（弗吉尼亚州北部） | us-east-1 | 
| 美国东部（俄亥俄州） | us-east-2 | 
| 美国西部（俄勒冈州） | us-west-2 | 

网络搜索完全是区域性的。每个区域都有自己的搜索和提取层，查询、提取、索引数据和结果不会跨区域传输。在给定区域发出的查询保留在该区域的边界内。

## 启用 Web 搜索
<a name="enable-web-search"></a>

要使用 Web 搜索，必须允许您的请求背后的 IAM 身份调用网络搜索操作。有关所需的权限和示例策略，请参阅 Web Search 的[身份和访问管理](security-web-search.md)。

### 设置您的环境
<a name="web-search-set-environment"></a>

在运行示例之前，请设置以下内容：

```
export OPENAI_API_KEY="your-amazon-bedrock-api-key"
export OPENAI_BASE_URL="https://bedrock-mantle.us-west-2.api.aws/openai/v1"
```

### 将 Web 搜索工具添加到请求中
<a name="web-search-add-tool"></a>

要启用 Web 搜索，请在请求中的`tools`数组中添加一个类型的`web_search`工具。模型仅在确定请求需要最新信息时才使用该工具。有关可运行的示例，请参阅。[代码示例](#web-search-code-examples)

## 控制外部 Web 访问权限
<a name="web-search-controlling-external"></a>

默认情况下，网络搜索完全由 Amazon Bedrock 网络索引和缓存提供，任何请求数据都不 AWS 允许检索。搜索和提取是否可以到达外部网络受两个协同作用的控件的控制：响应 API 中的`external_web_access`参数和 `bedrock-websearch:ExternalWebAccess` IAM 权限。

该`external_web_access`参数默认为`true`，与 OpenAI 响应 API 相匹配，因此您的调用无需更改。该[AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)政策允许基本的 Web 搜索操作（`bedrock-websearch:InvokeSearch`和`bedrock-websearch:InvokeFetch`），但不授权`bedrock-websearch:ExternalWebAccess`。因此，如果请求不保留的身份，则`external_web_access`在`true`授权检查中`ExternalWebAccess`返回 a `403 AccessDenied`。该模型不会使请求失败：它以 “搜索” 作为答案的依据，缓存了 Fetch，并报告说它无法获得外部网络访问权限。

要发出未遇到此错误的请求，请使用以下两种方法之一。

### 将请求保留在 AWS 边界
<a name="web-search-boundary"></a>

在工具`"external_web_access": false`上设置。这不需要`ExternalWebAccess`权限，完全通过 Amazon Bedrock 网络索引和缓存进行检索，并且您的请求数据不会离开边 AWS 界。由于[AmazonBedrockFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonBedrockFullAccess)不授权`ExternalWebAccess`，因此默认情况下此配置是安全的。

```
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 访问
<a name="web-search-enable-external"></a>

授`bedrock-websearch:ExternalWebAccess`予请求身份并保留`external_web_access`其默认值`true`。此配置决定了搜索和提取是否可以到达外部网络。如今，完全通过 Amazon Bedrock 网络索引和缓存进行检索，因此即使授予此权限，也不会有任何请求数据离开 AWS 边界。在未来的版本中，此配置可能允许搜索和提取以从实时外部网络检索内容，此时请求数据可能会离开边 AWS 界。默认情况下，`bedrock-websearch:ExternalWebAccess`外部 Web 访问处于禁用状态（即不允许），将来的任何更改都需要明确允许`bedrock-websearch:ExternalWebAccess`才能生效。外部 Web 访问权限仍在您的控制之下：它仅在您授予权限并启用参数时才适用。

## 代码示例
<a name="web-search-code-examples"></a>

### 响应 API
<a name="web-search-responses-api-example"></a>

```
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 请求
<a name="web-search-direct-https"></a>

如果您不使用 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}]
  }'
```

### 阅读回复中的引文
<a name="web-search-reading-citations"></a>

网络搜索以文本附加`url_citation`注释的形式返回引文。每个注解都带有源标题和 URL 以及其支持的答案中的字符跨度。保留这些信息并将其显示给最终用户。

```
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
```

### 流式响应
<a name="web-search-streaming"></a>

响应 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}
```

## 安全性
<a name="web-search-security-overview"></a>

亚马逊 Bedrock 上的网络搜索使用 AWS Identity and Access Management (IAM) 来控制谁可以进行搜索和提取，以及在哪些区域进行搜索和提取。网络搜索的 IAM 服务前缀是`bedrock-websearch`。有关禁用 Web 搜索的操作、托管策略、条件密钥、示例策略和管理员控制的完整列表，请参阅 Web Search 的[身份和访问管理](security-web-search.md)。

## 使用监控 CloudTrail
<a name="web-search-monitoring-overview"></a>

亚马逊 Bedrock 上的网络搜索集成 AWS CloudTrail了。 CloudTrail 将 Web Search 的 API 活动捕获为数据事件，因此您可以审核谁在何时调用了该工具，以及从何处调用了该工具。有关捕获的字段、如何启用数据事件记录以及故意排除的内容，请参阅[监控 Web 搜索](monitoring-web-search.md)。

## 可接受的用途
<a name="web-search-acceptable-use"></a>

如果您在亚马逊 Bedrock 上使用网络搜索，Amazon Bedrock 会向支持的模型提供网络搜索结果（“搜索结果”），模型可以使用这些结果来生成响应。您对包含搜索结果的模型输出的使用以及最终用户的任何使用负责。在向最终用户提供的任何输出中，您必须保留并显示模型输出中提供的来源引文和链接。您不得使用 Web Search（a）从搜索结果中批量提取、存储或复制内容，或（b）建立或填充竞争索引或数据库。