Parallel 是一个专为 LLM 和 AI 应用设计的实时网页搜索与内容提取平台。
ParallelWebSearchTool 提供对 Parallel Search API 的访问,将传统的”搜索 → 抓取 → 提取”流程整合为单次 API 调用,返回结构化、针对 LLM 优化的结果。
概述
集成详情
| 类 | 包 | 可序列化 | JS 支持 | 包最新版本 |
|---|---|---|---|---|
ParallelWebSearchTool | langchain-parallel | ❌ | ❌ |
工具功能
- 实时网页搜索:访问网络上的最新信息
- 结构化结果:返回压缩的、针对 LLM 优化的摘要
- 灵活输入:支持自然语言目标或具体搜索查询
- 域名过滤:通过来源策略包含或排除特定域名
- 可定制输出:控制结果数量(1-40 条)和摘要长度(最少 100 字符)
- 丰富元数据:可选的搜索耗时、结果数量和查询信息
- 异步支持:完整的 async/await 支持,配合合适的执行器
- 错误处理:全面的错误处理,提供详细的错误信息
设置
该集成位于langchain-parallel 包中。
凭据
前往 Parallel 注册并生成 API 密钥。完成后,设置PARALLEL_API_KEY 环境变量:
实例化
下面展示如何实例化ParallelWebSearchTool。该工具可通过 API 密钥和基础 URL 参数进行配置:
调用
直接使用参数调用
可以使用objective(自然语言描述)或具体的 search_queries 来调用工具。工具支持多种配置选项,包括域名过滤和元数据收集:
使用 ToolCall 调用
也可以使用模型生成的 ToolCall 来调用工具,此时会返回 ToolMessage:
异步使用
该工具支持完整的 async/await 操作,适用于异步应用以提升性能:参数详情与校验
工具会进行全面的输入校验,支持以下参数:必填参数
至少需要提供以下之一:objective:自然语言描述(最多 5000 字符)search_queries:搜索查询列表(最多 5 条,每条最多 200 字符)
可选参数:
max_results:返回结果数量(1-40,默认:10)excerpts:摘要设置字典(例如{"max_chars_per_result": 1500})mode:搜索模式 - ‘one-shot’ 获取全面结果,‘agentic’ 获取节省 token 的结果source_policy:域名过滤,包含include_domains和/或exclude_domains列表fetch_policy:缓存控制字典(例如{"max_age_seconds": 86400, "timeout_seconds": 60})include_metadata:包含搜索耗时和统计信息(默认:True)timeout:请求超时(秒,可选)
错误处理:
工具为校验失败和 API 错误提供详细的错误信息。链式调用
可以通过先将工具绑定到支持工具调用的模型,然后调用它,将工具集成到链中:- OpenAI
- Anthropic
- Azure
- Google Gemini
- AWS Bedrock
- HuggingFace
最佳实践
- 使用具体目标:目标越具体,结果越精准
- 应用域名过滤:使用
source_policy聚焦权威来源或排除不可靠域名 - 包含元数据:设置
include_metadata: True以便调试和性能优化 - 优雅处理错误:工具为校验和 API 失败提供详细的错误信息
- 异步以提升性能:在异步应用中使用
ainvoke()以获得更好的性能
响应格式
该工具返回结构化字典,格式如下:API 参考
关于所有功能和配置选项的详细文档,请参阅ParallelWebSearchTool API 参考或 Parallel search 参考文档。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

