Skip to main content
This guide covers the @outputai/llm export changes in v0.7.0.

What changed

  • @outputai/llm no longer re-exports Tavily, Exa, or Perplexity search tool factories.
  • @outputai/llm .getRegisteredProviders() was renamed to .getProviderNames().

Migration steps

Import web search tools from their packages

@outputai/llm no longer re-exports third-party search tool factories. Import them directly from the package that owns them.

Before

import {
  tavilySearch,
  tavilyExtract,
  tavilyCrawl,
  tavilyMap,
  exaSearch,
  perplexitySearch
} from '@outputai/llm';

After

import { tavilySearch, tavilyExtract, tavilyCrawl, tavilyMap } from '@tavily/ai-sdk';
import { webSearch as exaSearch } from '@exalabs/ai-sdk';
import { perplexitySearch } from '@perplexity-ai/ai-sdk';
Install whichever search tool packages you use:
npm install @tavily/ai-sdk @exalabs/ai-sdk @perplexity-ai/ai-sdk
provider: perplexity uses the AI SDK provider package @ai-sdk/perplexity. The removed perplexitySearch export comes from the separate tool package @perplexity-ai/ai-sdk.

Rename getRegisteredProviders to getProviderNames

The provider list helper was renamed to better describe that it returns built-in provider names as well as custom providers registered with registerProvider.

Before

import { getRegisteredProviders } from '@outputai/llm';

const providers = getRegisteredProviders();

After

import { getProviderNames } from '@outputai/llm';

const providers = getProviderNames();

Checklist

  • Replace Tavily imports from @outputai/llm with imports from @tavily/ai-sdk.
  • Replace exaSearch imports from @outputai/llm with webSearch as exaSearch from @exalabs/ai-sdk.
  • Replace perplexitySearch imports from @outputai/llm with imports from @perplexity-ai/ai-sdk.
  • Replace getRegisteredProviders imports and calls with getProviderNames.
  • Run your package manager install command and type checker.