Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content
接口 / 检索

Search

POST/v1/search

通过 Lazu 统一调用 Web 或 News 搜索。托管版 api.lazu.ai 当前启用了 Tavily、Serper 和 Jina;自部署管理员也可以通过同一套 Search Backend 系统接入 Exa 或 Brave。

返回什么

归一化结果

不同 provider 都会映射成 titleurlsnippet、可选的 contentpublished_atscoresource

可解释路由

响应会返回实际选中的 backend 和 route receipt。请求日志中也会保存同样的 routing 元数据,便于排障和对账。

托管版配置

/v1/search 的实现支持 Tavily、Serper、Exa、Jina 和 Brave,但当前托管版 Lazu 实际启用的是下面这组 backend:

Backend托管版状态能力说明
Tavily已启用web_searchweb_fetchanswer支持 include_answersearch_depthadvanced 按 2 units 计算。
Serper已启用web_search会映射 country / regionlanguagetime_range
Jina已启用web_searchweb_fetch使用 https://s.jina.ai,更适合 retrieval 风格的 snippet。
Exa / Brave代码支持管理员配置后支持 web_search适用于自部署或管理员后续配置的托管环境。

当前托管版 backend 使用默认策略:每次请求最多返回 10 条结果,上游 timeout 为 8s。 如果请求里的 max_results 更大,Lazu 会按选中的 backend policy 截断。

请求 Body

querystring
required

搜索 query。当前 MVP 每次请求支持一个 query。

typestring
nullable
webnews

搜索类型,默认 web

backendstring
nullable

auto、provider 名称如 tavily /serper ,或已配置的 backend ID/name。默认 auto

regionstring
nullable

地区 hint。Serper 会映射到 gl

languagestring
nullable

语言 hint,例如 enzh-CN

time_rangestring
nullable
dayweekmonthyear

时间范围 hint。provider 不支持时可能忽略。

max_resultsinteger
nullable

返回结果数。默认 10,并受 backend policy 上限约束。

search_depthstring
nullable
basicadvanced

provider 深度 hint。Tavily advanced 会消耗 2 个计费 unit。

include_answerboolean
nullable

selected backend 返回 answer 时一并返回。Lazu 不在这个 endpoint 内生成最终答案。

include_raw_contentboolean
nullable

provider 返回原文或清洗正文时是否透出,默认 false

include_domainsstring[]
nullable

限制搜索域名。token 级 domain allowlist 仍会生效。

exclude_domainsstring[]
nullable

排除域名,取决于 selected backend 是否支持。

include_provider_payloadboolean
nullable

返回 provider 原始 payload,主要用于排障。默认 false

provider_optionsobject
nullable

高级 provider passthrough。只会使用当前 provider 对应对象,例如 {"serper":{"tbs":"qdr:d"}}

响应

Search response
json
{
"query": "latest OpenAI web search API changes",
"results": [
  {
    "title": "Web search - OpenAI API",
    "url": "https://platform.openai.com/docs/guides/tools-web-search",
    "snippet": "Use web search in the Responses API...",
    "content": null,
    "published_at": null,
    "score": 0.91,
    "source": "web"
  }
],
"usage": {
  "web_search_requests": 1,
  "web_search_billable_units": 1
},
"provider_trace": {
  "backend": "tavily"
},
"route_receipt": {
  "selection": "auto",
  "selected_backend": "tavily",
  "chose_provider": "tavily",
  "candidates": ["tavily:Tavily"],
  "rejected": [],
  "downgraded": false,
  "fallback_count": 0,
  "decision_reason": "selected"
}
}
results[]object[]

归一化搜索结果。只有请求了 raw content 且 backend 返回时, content 才会填充。

usage.web_search_requestsinteger

Lazu 搜索请求次数,通常为 1

usage.web_search_billable_unitsinteger

实际计费用的 provider unit。Tavily basic 为 1,Tavily advanced 为 2, Serper 和 Jina 通常为 1 个成功 query。

provider_trace.backendstring

路由后实际选中的 provider。

route_receiptobject
nullable

候选、fallback、拒绝原因等路由元数据,同步写入请求日志。

计费

Search backend 的价格来自配置里的 search_price。这个值表示每个 provider billing unit 的 USD 价格,不一定等同于每个 HTTP request 的价格。 当前托管版 Tavily、Serper 和 Jina 没有显式配置 search_price, 所以 Lazu 会记录 web_search usage,但 search line item 费用为 $0;后续管理员配置价格或 provider-cost passthrough 后才会按配置收费。

BackendUnit 映射
Tavilybasic = 1 credit;advanced = 2 credits
Serper1 个成功 query = 1 unit
Jina1 个成功 query = 1 unit

上游失败、timeout、参数错误会按 Lazu 常规计费规则 refund。

相关页面