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
@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.