Parallel 是一个专为 LLM 和 AI 应用设计的实时网络搜索和内容提取平台。
ParallelWebSearchTool 提供对 Parallel 搜索 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()以获得更好的性能
响应格式
该工具返回一个具有如下格式的 structured dictionary:API 参考
有关所有功能和配置选项的详细文档,请前往ParallelWebSearchTool API 参考或 Parallel 搜索参考。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

