Tavily 리서치 조회 통합

Tavily 리서치 조회 통합 (Tavily get research integration)

LangChain JavaScript로 Tavily 리서치 조회 툴과 통합해요.

Tavily는 AI 에이전트(LLM)를 위해 특별히 구축된 검색 엔진으로, 실시간으로 정확하고 사실적인 결과를 빠르게 제공해요. Tavily는 요청 ID로 이전에 생성된 리서치 보고서를 검색하는 Get Research 엔드포인트를 제공해요.

TavilyResearch 이후에 이 툴을 사용해 상태를 폴링하고 완료된 결과를 가져오세요.

개요 (Overview)

통합 세부 정보 (Integration details)

클래스 패키지 PY 지원 Downloads Version
TavilyGetResearch @langchain/tavily NPM - Downloads NPM - Version

툴 기능 (Tool features)

아티팩트 반환 네이티브 비동기 반환 데이터 가격
Research status, report content, sources 1,000 free credits / month

설정 (Setup)

이 통합은 @langchain/tavily 패키지에 있어요:

```bash npm npm install @langchain/tavily @langchain/core ```
yarn add @langchain/tavily @langchain/core
pnpm add @langchain/tavily @langchain/core

자격 증명 (Credentials)

Tavily 대시보드에서 API 키를 만들고 TAVILY_API_KEY 환경 변수로 설정하세요.

process.env.TAVILY_API_KEY = "YOUR_API_KEY";

관측 가능성을 위해 LangSmith를 설정하는 것도 도움이 돼요 (필수는 아니에요):

process.env.LANGSMITH_TRACING = "true";
process.env.LANGSMITH_API_KEY = "your-api-key";

인스턴스화 (Instantiation)

TavilyGetResearch를 이렇게 import하고 인스턴스화할 수 있어요:

import { TavilyGetResearch } from "@langchain/tavily";

const tool = new TavilyGetResearch();

호출 (Invocation)

인자로 직접 호출

Tavily 리서치 조회 툴은 호출 시 다음 인자를 받아요:

  • requestId (필수): 검색할 리서치 작업의 고유 식별자
await tool.invoke({
  requestId: "your-request-id-here",
});

ToolCall로 호출

모델이 생성한 ToolCall로도 툴을 호출할 수 있는데, 이 경우 ToolMessage가 반환돼요:

// This is usually generated by a model, but we'll create a tool call directly for demo purposes.
const modelGeneratedToolCall = {
  args: {
    requestId: "your-request-id-here",
  },
  id: "1",
  name: tool.name,
  type: "tool_call",
};

await tool.invoke(modelGeneratedToolCall);

에이전트 내에서 사용 (Use within an agent)

두 리서치 툴을 모두 createAgent에 전달해 에이전트가 리서치 작업을 시작하고 요청 ID로 결과를 검색할 수 있게 하세요:

import { ChatOpenAI } from "@langchain/openai";
import { TavilyGetResearch, TavilyResearch } from "@langchain/tavily";
import { createAgent } from "langchain";

const llm = new ChatOpenAI({
  model: "gpt-5.5",
});

const agent = createAgent({
  model: llm,
  tools: [
    new TavilyResearch({
      model: "mini",
    }),
    new TavilyGetResearch(),
  ],
});

const userInput =
  "Start a research task on AI agents, then retrieve the results when ready.";

const stream = await agent.streamEvents(
  { messages: [{ role: "user", content: userInput }] },
  { version: "v3" },
);

await Promise.all([
  (async () => {
    for await (const message of stream.messages) {
      for await (const token of message.text) {
        process.stdout.write(token);
      }
    }
  })(),
  (async () => {
    for await (const call of stream.toolCalls) {
      console.dir({ name: call.name, input: call.input }, { depth: null });
      await call.output;
    }
  })(),
]);

await stream.output;

API reference

모든 Tavily Get Research API 기능과 구성에 대한 자세한 문서는 API reference를 참고하세요: docs.tavily.com/documentation/api-reference/endpoint/research-get

출처: 문서

본문

TavilyGetResearch는 요청 ID로 이전에 생성된 리서치 보고서를 검색하는 툴이에요. TavilyResearch로 리서치 작업을 시작한 뒤 이 툴로 상태를 폴링하고 완료된 결과(보고서 내용, 출처)를 가져와요. requestId 인자로 직접 호출하거나 createAgent에 두 툴을 함께 전달해 에이전트가 리서치 작업과 조회를 수행할 수 있게 해요.

더 알아보기 (Learn more)