PerplexitySearchRetriever 통합
PerplexitySearchRetriever 통합
LangChain JavaScript로 PerplexitySearchRetriever 검색기와 통합하는 방법을 알아봅니다.
Perplexity Search API는 검색 파이프라인에 직접 넣을 수 있는 실시간, 접지된(grounded) 웹 검색 결과를 반환해요.
PerplexitySearchRetriever 검색을 시작하는 데 도움을 주는 가이드입니다. 모든 PerplexitySearchRetriever 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.
출처: 문서
본문
개요
통합 세부 정보
| 검색기(Retriever) | 소스(Source) | 패키지(Package) | PY 지원 |
|---|---|---|---|
PerplexitySearchRetriever |
Perplexity Search API를 통한 웹(The web, via the Perplexity Search API). | @langchain/perplexity |
✅ |
설정
PERPLEXITY_API_KEY 환경 변수에 Perplexity API 키를 채우거나 생성자에 apiKey로 전달해야 합니다. Perplexity API 키 대시보드에서 키를 받으세요.
process.env.PERPLEXITY_API_KEY = "your-api-key";
개별 질의에서 자동 추적을 받으려면 아래 주석을 해제해 LangSmith API 키를 설정할 수도 있습니다:
// process.env.LANGSMITH_API_KEY = "<YOUR API KEY HERE>";
// process.env.LANGSMITH_TRACING = "true";
설치
이 검색기는 @langchain/perplexity 패키지에 있습니다:
npm install @langchain/perplexity @langchain/core
yarn add @langchain/perplexity @langchain/core
pnpm add @langchain/perplexity @langchain/core
인스턴스화(Instantiation)
import { PerplexitySearchRetriever } from "@langchain/perplexity";
const retriever = new PerplexitySearchRetriever({
maxResults: 5,
// searchDomainFilter: ["wikipedia.org"],
// searchRecencyFilter: "week",
});
생성자 옵션에는 maxResults, country, searchDomainFilter, searchRecencyFilter, searchAfterDate, searchBeforeDate가 포함됩니다. 자세한 내용은 Perplexity Search API 파라미터를 참조하세요.
사용법(Usage)
const query = "Who won the most recent FIFA World Cup?";
const docs = await retriever.invoke(query);
반환된 각 Document는 검색 결과 스니펫을 pageContent로, { title, url, date, lastUpdated }를 metadata로 갖습니다.
체인 내에서 사용하기
다른 검색기처럼 PerplexitySearchRetriever는 체인을 통해 LLM 애플리케이션에 통합될 수 있습니다.
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { ChatAnthropic } from "@langchain/anthropic";
import {
RunnablePassthrough,
RunnableSequence,
} from "@langchain/core/runnables";
import { StringOutputParser } from "@langchain/core/output_parsers";
import { Document } from "@langchain/core/documents";
const prompt = ChatPromptTemplate.fromTemplate(`
Answer the question based only on the context provided.
Context: {context}
Question: {question}`);
const llm = new ChatAnthropic({ model: "claude-haiku-4-5" });
const formatDocs = (docs: Document[]) =>
docs.map((doc) => doc.pageContent).join("\n\n");
const ragChain = RunnableSequence.from([
{
context: retriever.pipe(formatDocs),
question: new RunnablePassthrough(),
},
prompt,
llm,
new StringOutputParser(),
]);
await ragChain.invoke("Who won the most recent FIFA World Cup?");
API reference
모든 PerplexitySearchRetriever 기능과 구성에 대한 자세한 문서는 API reference를 참조하세요.
더 알아보기 (Learn more)
- 이 문서를 MCP로 연결하면 Claude, VSCode 등에서 실시간 답변을 받을 수 있어요.
- GitHub에서 이 페이지 편집하기 또는 이슈 제출하기.