타빌리 Tool
그만큼@mastra/tavily패키지는타빌리Mastra 호환 Tool로서의 API. 검색, 추출, 크롤링 및 매핑을 위한 팩토리 기능을 노출합니다. 각 함수는 다음으로 생성된 Tool을 반환합니다.createTool()여기에는 전체 Zod 입력/출력 스키마가 포함됩니다.
설치설치에 대한 직접 링크
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/tavily @tavily/core zod
pnpm add @mastra/tavily @tavily/core zod
yarn add @mastra/tavily @tavily/core zod
bun add @mastra/tavily @tavily/core zod
빠른 시작빠른 시작에 대한 직접 링크
공유 구성이 적용된 네 가지 Tool을 모두 가져오려면 createTavilyTools()를 사용하세요.
import { createTavilyTools } from '@mastra/tavily'
const tools = createTavilyTools()
// Or pass an explicit API key:
// const tools = createTavilyTools({ apiKey: 'tvly-...' })
각 Tool을 개별적으로 만들 수도 있습니다.
import { createTavilySearchTool, createTavilyExtractTool } from '@mastra/tavily'
const searchTool = createTavilySearchTool()
const extractTool = createTavilyExtractTool({ apiKey: 'tvly-...' })
기본적으로 모든 Tool은 환경에서 TAVILY_API_KEY를 읽습니다. 재정의하려면 { apiKey }를 명시적으로 전달할 수 있습니다.
구성구성에 대한 직접 링크
모든 팩토리 함수는 @tavily/core의 TavilyClientOptions를 허용합니다.
apiKey?:
TAVILY_API_KEY 환경 변수를 사용합니다.clientName?:
X-Client-Name 헤더로 전송되는 출처 표시 문자열입니다.apiBaseURL?:
proxies?:
projectId?:
createTavilyTools()createtavilytools에 대한 직접 링크
공유 구성이 있는 네 가지 Tool이 모두 포함된 개체를 반환합니다.
import { createTavilyTools } from '@mastra/tavily'
const tools = createTavilyTools({ apiKey: 'tvly-...' })
// tools.tavilySearch, tools.tavilyExtract, tools.tavilyCrawl, tools.tavilyMap
보고: { tavilySearch, tavilyExtract, tavilyCrawl, tavilyMap }
createTavilySearchTool()createtavilysearchtool에 대한 직접 링크
Tavily를 사용하여 웹을 검색하는 Tool을 만듭니다. 콘텐츠 조각, 선택적 AI 생성 답변 및 이미지와 함께 관련 결과를 반환합니다.
Tool ID: tavily-search
import { createTavilySearchTool } from '@mastra/tavily'
const searchTool = createTavilySearchTool()
입력입력에 대한 직접 링크
query:
searchDepth?:
maxResults?:
includeAnswer?:
includeImages?:
includeImageDescriptions?:
includeRawContent?:
includeDomains?:
excludeDomains?:
timeRange?:
산출산출에 대한 직접 링크
query:
answer?:
images?:
results:
title:
url:
content:
score:
rawContent?:
responseTime:
createTavilyExtractTool()createtavilyextracttool에 대한 직접 링크
하나 이상의 URL에서 콘텐츠를 추출하는 Tool을 만듭니다. 요청당 최대 20개의 URL을 사용하여 원시 페이지 콘텐츠를 마크다운 또는 텍스트 형식으로 반환합니다.
Tool ID: tavily-extract
import { createTavilyExtractTool } from '@mastra/tavily'
const extractTool = createTavilyExtractTool()
입력입력에 대한 직접 링크
urls:
extractDepth?:
query?:
includeImages?:
format?:
산출산출에 대한 직접 링크
results:
url:
rawContent:
images?:
failedResults:
url:
error:
responseTime:
createTavilyCrawlTool()createtavilycrawltool에 대한 직접 링크
URL에서 시작하여 웹사이트를 크롤링하는 Tool을 만듭니다. 구성 가능한 깊이, 너비 및 도메인 제약 조건을 사용하여 검색된 페이지에서 콘텐츠를 추출합니다.
Tool ID: tavily-crawl
import { createTavilyCrawlTool } from '@mastra/tavily'
const crawlTool = createTavilyCrawlTool()
입력입력에 대한 직접 링크
url:
maxDepth?:
maxBreadth?:
limit?:
instructions?:
selectPaths?:
selectDomains?:
excludePaths?:
excludeDomains?:
allowExternal?:
extractDepth?:
includeImages?:
format?:
산출산출에 대한 직접 링크
baseUrl:
results:
url:
rawContent:
images?:
responseTime:
createTavilyMapTool()createtavilymaptool에 대한 직접 링크
URL에서 시작하여 웹사이트 구조를 매핑하는 Tool을 만듭니다. 페이지 콘텐츠를 추출하지 않고 URL 목록을 검색하고 반환합니다. 이를 사용하여 대상 추출 전에 사이트 구조를 이해합니다.
Tool ID: tavily-map
import { createTavilyMapTool } from '@mastra/tavily'
const mapTool = createTavilyMapTool()
입력입력에 대한 직접 링크
url:
maxDepth?:
maxBreadth?:
limit?:
instructions?:
selectPaths?:
selectDomains?:
excludePaths?:
excludeDomains?:
allowExternal?:
산출산출에 대한 직접 링크
baseUrl:
results:
responseTime:
Agent 예시Agent 예시에 대한 직접 링크
다음 예에서는 검색과 추출을 결합하는 연구 Agent를 보여줍니다.
import { Agent } from '@mastra/core/agent'
import { createTavilySearchTool, createTavilyExtractTool } from '@mastra/tavily'
const agent = new Agent({
id: 'web-search-agent',
name: 'Web Search Agent',
model: 'anthropic/claude-sonnet-4-6',
instructions:
'You are a web search assistant. Use search tool to find relevant pages, then use extract tool to get full content from the best results.',
tools: {
search: createTavilySearchTool(),
extract: createTavilyExtractTool(),
},
})
환경변수환경변수에 대한 직접 링크
| 변수 | 설명 |
|---|---|
TAVILY_API_KEY | Tavily API 키입니다. 팩토리 함수에 apiKey를 전달하지 않았을 때 기본값으로 사용됩니다. |