指南

实时搜索

聊天补全端点支持查询实时数据并将其纳入响应生成。通过此功能,您无需自行编排网络搜索和大型语言模型工具调用,即可直接从 API 获取包含实时数据的聊天响应。

实时搜索通过聊天补全端点提供。默认情况下,它处于关闭状态。客户可以控制他们访问的内容,我们不对由此产生的任何损害或责任负责。

欲了解更多详情,请参阅 search_parameters(在API 参考 - 聊天补全中)。

有关搜索来源的示例,请跳转至数据来源和参数


实时搜索定价

实时搜索费用为每使用 1,000 个来源 25 美元。这意味着每个来源的费用为 0.025 美元。

使用的来源数量可以在 response 对象中找到,其中包含一个名为 response.usage.num_sources_used 的字段。


要启用搜索,您需要在聊天补全请求中指定一个附加字段 search_parameters,其中 "mode""auto""on""off" 之一。

如果您想使用默认值进行实时搜索,仍然需要指定一个空的 search_parameters

或者如果使用 xAI Python SDK

"mode" 字段设置数据源的偏好

  • "off":禁用搜索,使用模型而不访问数据源中的附加信息。
  • "auto"(默认):实时搜索对模型可用,但模型自动决定是否执行实时搜索。
  • "on":启用实时搜索。

模型通过 "search_parameters" 中的 "sources" 字段决定在所提供的数据源中使用哪个数据源。如果没有提供 "sources",实时搜索将默认使网络和 X 数据对模型可用。

例如,您可以发送以下请求,模型将决定是否在数据中搜索


返回引用

实时搜索端点支持以 URL 列表的形式返回响应中使用的所有数据源的引用。要启用此功能,您可以在搜索参数中设置 "return_citations": true。此字段默认为 true

带引用的流式行为

在流式传输期间,您将像往常一样获取聊天响应块。引用将作为 URL 字符串列表在字段 "citations" 中仅在最后一个块中返回。这类似于用法数据随流式传输返回的方式。


设置搜索数据的日期范围

您可以通过指定 "from_date""to_date" 来限制使用的搜索数据的日期范围。这将数据限制在从 "from_date""to_date" 的期间内,包括这两个日期。

这两个字段都需要采用 ISO8601 格式,例如“YYYY-MM-DD”。如果您使用的是 xAI Python SDK,from_dateto_date 字段可以作为 datetime.datetime 对象传递给 SearchParameters 类。

这些字段也可以独立使用。只指定 "from_date" 时,使用的数据将是从 "from_date" 到今天的数据;只指定 "to_date" 时,使用的数据将是截至 "to_date" 的所有数据。


限制最大数据源数量

您可以通过 "max_search_results" 设置查询中将考虑的数据源的最大数量。默认限制为 20 个。


数据源和参数

"search_parameters""sources" 中,您可以添加一个潜在用于搜索的来源列表。每个来源都是一个对象,包含来源名称和该来源的参数,来源名称位于 "type" 字段中。

如果未指定任何内容,则默认使用的来源将是 "web""news""x"

例如,以下代码启用了网页、X 搜索、新闻和 RSS 搜索

数据源和支持参数概述

数据源描述支持的参数
"web"在网站上搜索。"country""excluded_websites""allowed_websites""safe_search"
"x"搜索 X 帖子。"included_x_handles""excluded_x_handles""post_favorite_count""post_view_count"
"news"从新闻来源搜索。"country""excluded_websites""safe_search"
"rss"从提供的 RSS 提要中检索数据。"links"

参数 "country"(受 Web 和 News 支持)

有时您可能希望包含来自特定国家/地区的数据。为此,您可以在 "sources""web""news" 中添加国家的 ISO alpha-2 代码到 "country" 中。

参数 "excluded_websites"(受 Web 和 News 支持)

使用 "excluded_websites" 从查询中排除网站。您最多可以排除五个网站。

在同一搜索源上,此功能不能与 "allowed_websites" 一起使用。

参数 "allowed_websites"(受 Web 支持)

使用 "allowed_websites" 仅允许在这些网站上进行查询。您最多可以包含五个网站。

此参数不能与同一搜索源上的 "excluded_websites" 一起使用。

参数 "included_x_handles"(受 X 支持)

使用 "included_x_handles" 仅考虑来自给定 X 句柄列表的 X 帖子。您可以包含的最大句柄数为 10 个。

此参数不能与 "excluded_x_handles" 一起设置。

参数 "excluded_x_handles"(受 X 支持)

使用 "excluded_x_handles" 可排除来自给定 X 句柄列表的 X 帖子。您最多可以排除 10 个句柄。

此参数不能与 "included_x_handles" 一起设置。
为了防止模型在响应中引用自身,"grok" 句柄默认自动排除。如果您希望在搜索中包含来自 "grok" 的帖子,则必须在 "included_x_handles" 参数中明确传递。

参数 "post_favorite_count""post_view_count"(受 X 支持)

使用 "post_favorite_count""post_view_count" 来根据 X 帖子的收藏数和浏览量进行筛选。只会考虑至少达到指定收藏数/浏览量的帖子。

您可以设置这两个参数,以考虑至少达到指定收藏数浏览量的帖子。

您还可以通过 { "links": ... } 从 RSS 提要 URL 列表中获取数据。目前只能添加一个 RSS 链接。

例如

参数 "safe_search"(受 Web 和 News 支持)

安全搜索默认开启。您可以通过 "sources": [{..., "safe_search": false }]"web""news" 禁用安全搜索。