其他
需要搜索自动补全、RAG 查询细化或实体预览时,用…
在搜索框实时补全、RAG 查询扩展、实体识别/预览或拼写容错输入场景中,调用 Brave Suggest API 快速返回建议查询。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要搜索自动补全、RAG 查询细化或实体特定
解决思路
- 请求时在请求头传 `X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}` 完成认证;可选加 `Accept-Encoding: gzip` 启用响应压缩。
- 调用端点:向 `GET https://api.search.brave.com/res/v1/suggest/search` 发起请求。
- 基础 cURL:`curl -s "https://api.search.brave.com/res/v1/suggest/search?q=how+to+" -H "Accept: application/json" -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"`。
- 带全部参数的 cURL:`curl -s "https://api.search.brave.com/res/v1/suggest/search" -H "Accept: application/json" -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" -G --data-urlencode "q=albert" --data-urlencode "country=US" --data-urlencode "lang=en" --data-urlencode "count=10" --data-urlencode "rich=true"`。
- 参数 `q` 必填,长度 1-400 字符,最多 50 个词。
- 参数 `lang` 可选,默认 `en`,传 2+ 字符语言代码,例如 `fr`、`de`、`zh-hans`。
- 参数 `country` 可选,默认 `US`,传 2 位国家代码或 `ALL`。
- 参数 `count` 可选,默认 `5`,范围 1-20;实际结果可能少于请求数。
- 参数 `rich` 可选,默认 `false`;设为 `true` 可增强实体信息(title、description、image),需要 Paid Search plan。
- 解析响应:`type` 固定为 `"suggest"`;`query.original` 是原始建议查询;`results` 是建议数组,可能为空。
- 解析非 rich 结果:每个 `results[]` 只包含 `query` 字段,即建议补全查询。
- 解析 rich 结果:读取 `results[].is_entity` 判断是否为实体,读取 `results[].title`、`results[].description`、`results[].img` 获取富建议标题、描述、图片 URL;`null` 字段会从响应中排除。
- 实现 Search-as-you-type UI:在用户输入时做 150-300ms 防抖,然后调用该接口展示实时自动补全下拉框。
- 实现 RAG 查询细化:在调用 `web-search` 或 `llm-context` 前,用该接口扩展部分/模糊查询。
- 实现实体检测/预览卡片:传 `rich=true`,用返回的 `is_entity`、`title`、`description`、`img` 渲染预览卡片。
- 实现拼写容错输入:直接将可能拼错的输入传给该接口获取干净建议,无需额外拼写检查。
- 按接口特性使用:设计为 <100ms 响应;`country`/`lang` 只是建议相关性提示,不是严格过滤器;建议能处理常见拼写错误,无需单独 spellcheck。
适用边界 · 注意事项
- 没有 Brave Search API Key,或未订阅 Suggest plan 时无法使用。
- 需要 `rich=true` 但没有 Paid Search plan 时无法获取实体增强信息。
- 需要严格按国家/语言过滤结果时,不要依赖 `country`/`lang`,它们只是相关性提示。