TavilyWebSearchTool
TavilyWebSearchTool
TavilyWebSearchTool 은 에이전트(Agent)가 Tavily로 웹을 검색할 수 있게 해 주는 **도구(Tool)**예요. TavilyWebSearch 컴포넌트를 감싸서 에이전트 워크플로와 도구 기반 파이프라인에서 쓰는 도구 인터페이스를 제공해요.
출처: 문서
본문
개요 (Overview)
TavilyWebSearchTool 은 TavilyWebSearch 컴포넌트를 감싸는 도구예요. 에이전트 워크플로와 도구 기반 파이프라인에서 쓸 수 있는 도구 인터페이스를 제공해요.
도구 파라미터는 컴포넌트의 run 메서드에서 파생되므로, LLM은 query 와 선택적으로 초기화 시 설정한 것을 오버라이드하는 search_params 를 전달할 수 있어요.
결과는 문자열로 포맷되며, 각 결과는 제목, 정확한 URL, 콘텐츠 스니펫을 보여줘요. 그래서 LLM이 출처를 인용하기 쉬워요.
파라미터 (Parameters)
모든 파라미터는 키워드 전용(keyword-only)이에요.
api_key— 필수. Tavily API 키를 담아요. 기본 설정은TAVILY_API_KEY환경 변수에서 읽어요.top_k— 선택. 반환할 최대 결과 수. 미설정 시TavilyWebSearch기본값이 적용돼요.search_params— 선택. Tavily 검색 API용 추가 파라미터. 지원 키는search_depth,include_answer,include_raw_content,include_domains,exclude_domains예요.name— 선택. 기본값은 "web_search". 도구 이름을 지정해요.description— 선택. LLM에게 도구가 무엇을 하는지 컨텍스트를 제공해요. 제공하지 않으면 기본 설명이 적용돼요.
사용법 (Usage)
TavilyWebSearchTool 을 쓰려면 Tavily 통합을 설치하세요:
pip install tavily-haystack
단독으로 쓰기
웹을 검색하는 기본 사용법이에요:
from haystack_integrations.tools.tavily import TavilyWebSearchTool
tool = TavilyWebSearchTool(top_k=3)
result = tool.invoke(query="What is Haystack by deepset?")
for document in result["documents"]:
print(document.meta["title"], "-", document.meta["url"])
GitHub - deepset-ai/haystack: Open-source AI orchestration framework ... - https://github.com/deepset-ai/haystack
deepset - Wikipedia - https://en.wikipedia.org/wiki/Deepset
Haystack | Haystack - https://haystack.deepset.ai
에이전트와 함께 쓰기
TavilyWebSearchTool 을 Agent 컴포넌트와 함께 쓸 수 있어요. Agent는 웹에서 정보가 필요할 때 이 도구를 자동으로 호출해요.
from haystack.components.agents import Agent
from haystack.components.generators.chat import OpenAIChatGenerator
from haystack.dataclasses import ChatMessage
from haystack_integrations.tools.tavily import TavilyWebSearchTool
web_search = TavilyWebSearchTool(top_k=5, search_params={"search_depth": "advanced"})
agent = Agent(
chat_generator=OpenAIChatGenerator(model="gpt-5-mini"),
tools=[web_search],
)
result = agent.run(messages=[ChatMessage.from_user("What is Haystack by deepset?")])
print(result["last_message"].text)
Haystack (by deepset) is an open-source Python framework for building production-ready
LLM applications, especially Retrieval-Augmented Generation (RAG), semantic search,
question answering, and agentic workflows.
It provides modular components and pipelines (document stores, retrievers, rankers,
generators, routers, and tool integrations) so you can compose and control how data
flows before a model sees it.
Source repo: https://github.com/deepset-ai/haystack
더 알아보기 (Learn more)
- TavilyWebSearch — 이 도구가 감싸는 웹 검색 컴포넌트
- Agent — 도구를 사용하는 에이전트 컴포넌트
- Tavily API 참조
- GitHub 소스