웹 검색
LibreChat의 웹 검색 기능은 인터넷을 검색하고 관련 정보를 가져와 대화를 향상시킬 수 있도록 합니다. 이 기능은 포괄적인 검색 결과를 제공하기 위해 함께 작동하는 세 가지 주요 구성 요소로 이루어져 있습니다.
빠른 시작
웹 검색을 시작하려면 검색 제공업체 및 스크레이퍼를 위한 API 키를 구성해야 합니다. 리랭킹(Reranking)은 Jina 또는 Cohere를 사용할 수 있으며, rerankerType: "none"으로 설정하여 비활성화할 수도 있습니다. 이를 수행하는 방법은 두 가지가 있습니다:
-
환경 변수 (관리자 권장):
# Search Provider (Required - choose one) SERPER_API_KEY=your_serper_api_key # or SEARXNG_INSTANCE_URL=your_searxng_instance_url SEARXNG_API_KEY=your_searxng_api_key # Optional # or TAVILY_API_KEY=your_tavily_api_key # Scraper (Required - choose one) FIRECRAWL_API_KEY=your_firecrawl_api_key # Optional: Custom Firecrawl API URL FIRECRAWL_API_URL=your_firecrawl_api_url # Optional: Firecrawl API version (v0 or v1) # FIRECRAWL_VERSION=v1 # or TAVILY_API_KEY=your_tavily_api_key # Reranker (Optional - choose one, or set rerankerType: "none") JINA_API_KEY=your_jina_api_key # Optional: Custom Jina API URL JINA_API_URL=your_jina_api_url # or COHERE_API_KEY=your_cohere_api_key -
사용자 인터페이스 (환경 변수가 설정되지 않은 경우):
- 사용자가 웹 검색 기능을 처음 사용할 때 필요한 API 키를 입력하라는 메시지가 표시됩니다.
- 사용자는 어떤 검색 제공자(Serper, SearXNG 또는 Tavily)와 어떤 리랭커(reranker) 서비스(Jina, Cohere 또는 없음)를 사용할지 선택할 수 있습니다.
API 키 획득
활성화된 각 외부 서비스에는 고유한 API 키가 필요합니다. 키를 얻는 방법은 다음과 같습니다:
검색 제공자
Serper
- Serper.dev를 방문하세요
- 계정 가입하기
- API Key 섹션으로 이동하세요
- API 키를 복사하세요
- 환경 변수에 설정하거나 UI를 통해 제공하세요.
SearXNG
- Web Search Configuration 문서의 설정 지침을 따르세요.
SEARXNG_INSTANCE_URL을 귀하의 인스턴스 URL로 설정하세요- 인스턴스에 인증이 필요한 경우 선택적으로
SEARXNG_API_KEY를 설정하세요.
Tavily
- Tavily를 방문하세요
- 계정 가입하기
- API 키를 복사하세요
- 환경 변수에
TAVILY_API_KEY를 설정하거나 UI를 통해 제공하세요. - Tavily는 검색 제공자와 스크래퍼 제공자 모두로 사용할 수 있습니다.
스크레이퍼: Firecrawl
- Firecrawl.dev를 방문하세요.
- 계정 가입하기
- API Key 섹션으로 이동하세요
- API 키를 복사하세요
- 환경 변수에 설정하거나 UI를 통해 제공하세요.
- (선택 사항) 사용자 지정 Firecrawl 인스턴스를 사용하는 경우, API URL도 설정해야 합니다.
Rerankers
Jina
- Jina.ai를 방문하세요
- 계정 가입하기
- API 대시보드로 이동하세요
- API 키를 복사하세요
- 환경 변수에 설정하거나 UI를 통해 제공하세요.
Cohere
- Cohere Dashboard를 방문하세요
- 계정 가입하기
- API Keys 섹션으로 이동하세요
- API 키를 복사하세요
- 환경 변수에 설정하거나 UI를 통해 제공하세요.
Components
1. Search Providers
검색 공급자(Search providers)는 초기 웹 검색을 수행하고 관련 결과를 반환하는 역할을 합니다.
사용 가능한 제공업체(Providers):
- Serper: 고품질 검색 결과를 제공하는 Google Search API
- Serper.dev에서 API 키를 받으세요.
- SearXNG: 오픈 소스, 자체 호스팅 메타 검색 엔진
- 자신만의 LibreChat 인스턴스를 직접 호스팅하세요
- 개인정보 보호 중심의 검색 결과
- Tavily: AI 최적화 검색 API
- Tavily에서 API 키를 받으세요.
- 구성 가능한 검색 깊이, 주제 필터링, 도메인 필터링 등을 지원합니다.
- 스크레이퍼 제공자로도 사용할 수 있습니다
2. Scrapers
Scrapers는 검색 제공업체가 반환한 웹 페이지에서 실제 콘텐츠를 추출합니다.
사용 가능한 스크레이퍼(Available Scrapers):
-
Firecrawl: 웹 페이지에서 콘텐츠를 추출하는 강력한 웹 스크래핑 서비스
- Firecrawl.dev에서 API 키를 받으세요.
- API URL은 선택 사항입니다 (기본값은 Firecrawl의 호스팅 서비스입니다)
-
Tavily: Tavily Extract API를 통한 배치 URL 추출
- 검색 공급자와 동일한
TAVILY_API_KEY를 사용합니다. - 구성 가능한 추출 깊이, 이미지 추출 및 파비콘(favicon) 추출을 지원합니다.
- 검색 공급자와 동일한
계획된 스크레이퍼:
- Local Firecrawl: Firecrawl의 자체 호스팅 버전
- 추가적인 타사 스크래핑 서비스
3. Rerankers
Reranker는 스크랩된 콘텐츠를 분석하여 가장 관련성이 높은 부분을 결정하고 더 나은 결과를 위해 재정렬합니다.
사용 가능한 Reranker:
- Jina: AI 기반 리랭킹(reranking) 서비스
- Jina.ai에서 API 키를 받으세요.
- API URL은 선택 사항입니다 (기본값은 Jina의 호스팅 서비스입니다)
- Cohere: 고급 리랭킹(reranking) 서비스
- Cohere Dashboard에서 API 키를 받으세요.
- None:
rerankerType이"none"으로 설정된 경우 리랭킹(reranking)을 건너뜁니다.
계획된 Reranker:
- RAG API: RAG(Retrieval-Augmented Generation, 검색 증강 생성)를 사용한 오픈 소스 리랭킹(reranking)
- 추가적인 타사 리랭킹(reranking) 서비스
구성
관리자 설정
관리자는 환경 변수를 사용하여 웹 검색 기능을 구성할 수 있습니다. YAML 구성을 통해 각 구성 요소에 대한 사용자 지정 환경 변수 이름을 지정할 수 있습니다.
⚠️ 중요: 실제 API 키나 값을 YAML 파일에 넣지 마십시오(작동하지 않습니다). 환경 변수 이름만 사용하십시오.
webSearch:
# Search Provider Configuration
serperApiKey: "${CUSTOM_SERPER_API_KEY}" # ✅ Correct: Using environment variable name
# serperApiKey: "sk-123..." # ❌ Wrong: Never put actual API keys here
# or
searxngInstanceUrl: "${CUSTOM_SEARXNG_INSTANCE_URL}" # ✅ Correct: Using environment variable name
searxngApiKey: "${CUSTOM_SEARXNG_API_KEY}" # ✅ Correct: Using environment variable name
# searxngInstanceUrl: "http://..." # ❌ Wrong: Never put actual URLs here
# searxngApiKey: "sk-123..." # ❌ Wrong: Never put actual API keys here
# Tavily Configuration (search and/or scraper)
tavilyApiKey: "${CUSTOM_TAVILY_API_KEY}"
tavilySearchUrl: "${CUSTOM_TAVILY_SEARCH_URL}"
tavilyExtractUrl: "${CUSTOM_TAVILY_EXTRACT_URL}"
# Scraper Configuration
firecrawlApiKey: "${CUSTOM_FIRECRAWL_API_KEY}"
firecrawlApiUrl: "${CUSTOM_FIRECRAWL_API_URL}"
# firecrawlApiKey: "fc-123..." # ❌ Wrong: Never put actual API keys here
# firecrawlApiUrl: "https://..." # ❌ Wrong: Never put actual URLs here
# Reranker Configuration
jinaApiKey: "${CUSTOM_JINA_API_KEY}"
jinaApiUrl: "${CUSTOM_JINA_API_URL}"
cohereApiKey: "${CUSTOM_COHERE_API_KEY}"
# jinaApiKey: "jn-123..." # ❌ Wrong: Never put actual API keys here
# jinaApiUrl: "https://..." # ❌ Wrong: Never put actual URLs here
# cohereApiKey: "ch-123..." # ❌ Wrong: Never put actual API keys here
# General Settings
safeSearch: 1 # Options: 0 (OFF), 1 (MODERATE - default), 2 (STRICT)참고: YAML 구성에는 환경 변수 이름만 포함되어야 합니다(형식: ${VARIABLE_NAME}). 이러한 유연성을 통해 다음이 가능합니다:
- 서로 다른 환경에서 서로 다른 변수 이름 사용하기
- 서로 다른 사용자 그룹을 위한 다중 구성 지원
- 역할 기반 구성을 통한 향후 통합
시스템이 특정 서비스만 사용하도록 제한하려면 서비스 유형을 지정할 수 있습니다:
webSearch:
# ... variable configurations ...
searchProvider: "serper" # Only use Serper for search
# searchProvider: "searxng" # Only use SearXNG for search
# searchProvider: "tavily" # Only use Tavily for search
scraperProvider: "firecrawl" # Only use Firecrawl for scraping
# scraperProvider: "tavily" # Only use Tavily for scraping
rerankerType: "jina" # Options: "jina", "cohere", "none"사용자 구성
관리자가 필요한 모든 API 키를 구성하지 않은 경우, 사용자는 UI를 통해 이를 입력하라는 메시지를 받게 됩니다. 인터페이스를 통해 사용자는 다음을 수행할 수 있습니다.
- 선호하는 리랭커(Jina, Cohere 또는 없음)를 선택하세요
- 필요한 서비스에 대한 API 키를 입력하세요
- 필요한 경우 Firecrawl API URL을 구성하십시오 (선택 사항)
- 필요한 경우 Jina API URL을 구성하세요 (선택 사항)
- 필요한 경우 Tavily Search 또는 Extract API URL을 구성하십시오 (선택 사항)
사용법
설정이 완료되면 다음 두 가지 방법으로 웹 검색을 사용할 수 있습니다:
- 채팅 인터페이스: 채팅 인터페이스에서 웹 검색 버튼을 클릭하여 대화에 웹 검색을 활성화하세요.
- Agents: 에이전트에서
web_search기능을 사용하여 웹 검색을 수행하도록 설정하세요.
참고 사항
- 검색 제공자 및 스크레이퍼 설정이 필요합니다. 리랭킹(reranking)은
rerankerType: "none"으로 설정하여 비활성화할 수 있습니다. - Firecrawl API URL은 선택 사항이며 기본적으로 호스팅된 서비스로 설정됩니다.
- Jina API URL은 선택 사항이며, 기본값은 해당 서비스의 호스팅된 서비스로 설정됩니다.
- Tavily Search 및 Extract API URL은 선택 사항이며 기본적으로 Tavily의 호스팅 서비스를 사용합니다.
- Safe search는 세 가지 수준의 콘텐츠 필터링을 제공합니다: OFF (0), MODERATE (1 - 기본값), STRICT (2)
- Tavily는 기본적으로 전역
safeSearch설정을 상속하지 않습니다. Tavily 계정이safe_search를 지원하는 경우에만tavilySearchOptions.safeSearch를 사용하세요. - 스크레이퍼 타임아웃은 기본적으로 7.5초(7500ms)로 설정되어 있습니다.
- API 키는 UI를 통해 언제든지 취소할 수 있습니다.
- 향후 업데이트에는 모든 구성 요소에 대한 더 많은 오픈 소스 및 자체 호스팅 옵션이 포함될 예정입니다.
- 다음과 같은 추가 사용자 지정 옵션이 계획되어 있습니다:
- 스크랩할 링크 수 제어
- 스크래핑을 위한 도메인 허용 목록/차단 목록
- 사용자 지정 스크래핑 규칙 및 필터
- 고급 결과 필터링 및 순위 지정 옵션
- 속도 제한 및 요청 스로틀링 제어
이 가이드는 어떤가요?