Skip to content

Tavily tools as a framework-agnostic, fully functional Tavily-owned subpackage repo #1900

@lakshyaag-tavily

Description

@lakshyaag-tavily

Is this a new feature, an improvement, or a change to existing functionality?

New Feature

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

I want NeMo Agent Toolkit to expose the full Tavily Python SDK (search, extract, crawl, map, research) as framework-neutral NAT functions, because the current integration falls short on two axes:

  1. Framework lock-in. The existing tavily_internet_search lives in nvidia_nat_langchain and uses langchain_tavily directly (packages/nvidia_nat_langchain/src/nat/plugins/langchain/tools/ tavily_internet_search.py). Users on Agno, LlamaIndex, Strands, Semantic Kernel, CrewAI, ADK, AutoGen, etc. can't reuse it without writing their own wrapper.
  2. Surface gap. Tavily's SDK exposes search, extract, crawl, map, and research, but only search is wrapped today. Agents that need to pull article bodies (extract), bulk-extract a docs site (crawl), discover URLs (map), or run multi-source citation-grounded research currently can't.

The framework-neutral version of NAT functions/groups is the right seam for this.

Describe your ideal solution

A new package packages/nvidia_nat_tavily/ with a single tavily function group (FunctionGroupBaseConfig, name="tavily") that wraps the Tavily Python SDK. One AsyncTavilyClient per group; five tools underneath:

  • tavily__search
  • tavily__extract
  • tavily__crawl
  • tavily__map
  • tavily__research

Design constraints:

  • Framework-neutral. Depends only on nvidia-nat-core and tavily-python
  • Configured via a single _type: tavily block in YAML; include / exclude work as standard FunctionGroup features. Agent configs reference the whole group with tool_names: [tavily] or individual tools with tavily__<name>.

Example YAML:

function_groups:
  tavily:
    _type: tavily
    include: [search, extract]

workflow:
  _type: react_agent
  llm_name: anthropic_llm
  tool_names: [tavily]

Additional context

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request

Metadata

Metadata

Assignees

Labels

FeatureexternalThis issue was filed by someone outside of the NeMo Agent toolkit team
No fields configured for Enhancement.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions