Nimble 的 Search API 通过无头浏览器实时浏览网络来提供实时网页搜索,而非查询预建索引。该检索器可处理 JavaScript 渲染、动态内容和复杂的导航流程,适用于需要访问当前网络数据的 RAG 应用,包括分页、过滤器和客户端渲染背后的内容。我们可以将其用作检索器。本文将展示该集成的特定功能。阅读完毕后,建议探索相关用例页面,以了解如何将此检索器作为更大链的一部分使用。
安装
使用
现在可以实例化我们的检索器:在链中使用
我们可以轻松地将此检索器集成到用于问答的 RAG 链中:高级配置
该检索器支持针对不同使用场景的广泛配置:| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
k | int | 10 | 最大返回结果数(1-20) |
deep_search | bool | True | 深度模式(默认)提取完整内容,快速模式(False)仅返回 SERP 结果 |
topic | str | ”general” | 针对特定内容类型优化搜索:“general”、“news” 或 “location” |
include_answer | bool | False | 在搜索结果旁边生成 AI 摘要答案 |
include_domains | list[str] | None | 白名单特定域名(如 [“wikipedia.org”, “.edu”]) |
exclude_domains | list[str] | None | 黑名单特定域名以过滤掉 |
start_date | str | None | 过滤该日期之后的结果(YYYY-MM-DD 或 YYYY) |
end_date | str | None | 过滤该日期之前的结果(YYYY-MM-DD 或 YYYY) |
parsing_type | str | ”markdown” | 输出格式:“plain_text”、“markdown” 或 “simplified_html” |
locale | str | ”en” | 搜索语言区域(如 “en-US”) |
country | str | ”US” | 本地化结果的国家代码(如 “US”) |
api_key | str | 环境变量 | Nimble API 密钥(默认读取 NIMBLE_API_KEY 环境变量) |
最佳实践
快速模式 vs 深度模式
-
深度模式(
deep_search=True,默认):- 从网页中提取完整内容
- 适用于需要完整内容的 RAG 应用
- 最适合详细研究和构建知识库
- 处理 JavaScript 渲染和动态内容
-
快速模式(
deep_search=False):- 仅提供包含标题和摘要的快速 SERP 结果
- 针对性能敏感型应用优化
- 最适合速度至关重要的大量查询
- 每次查询成本更低
过滤策略
域名过滤:- 使用
include_domains进行聚焦研究(学术、政府、可信来源) - 使用
exclude_domains过滤掉论坛、社交媒体或不可靠来源 - 组合使用两者可精确控制来源质量
- 设置
start_date和end_date处理时效性查询 - 对于最新新闻、时事或有时效性的信息至关重要
- 格式:“YYYY-MM-DD”(具体日期)或 “YYYY”(仅年份)
- 使用
topic="news"优化当前事件和新闻文章的搜索 - 使用
topic="location"优化本地商业和地理查询 - 使用
topic="general"或省略以进行标准网页搜索
性能优化
- 选择合适的模式:对速度优先的大量查询使用快速模式(
deep_search=False);需要全面内容提取时使用深度模式(默认) - 调整结果数量:从较小的
k值开始,根据需要增加 - 使用异步:利用
ainvoke()进行并发查询 - 合理使用缓存:考虑对频繁查询进行缓存
- 善用过滤:域名和日期过滤可减少噪音并提高相关性
API 参考
有关所有NimbleSearchRetriever 功能和配置的详细文档,请访问 Nimble API 文档。
通过 MCP 将这些文档连接到 Claude、VSCode 等工具,获取实时答案。

