Firecrawl 검색
Firecrawl 검색 (Firecrawl Search)
웹 검색과 강력한 스크래핑 기능을 결합한 Firecrawl을 LiteLLM /search 엔드포인트에서 사용하는 방법을 안내할게요.
출처: 문서
본문
API 키 받기: https://firecrawl.dev
LiteLLM Python SDK
Firecrawl Search
import os
from litellm import search
os.environ["FIRECRAWL_API_KEY"] = "fc-..."
response = search(
query="latest AI developments",
search_provider="firecrawl",
max_results=5
)
LiteLLM AI Gateway
1. config.yaml 설정
config.yaml
model_list:
- model_name: gpt-5.6-terra
litellm_params:
model: gpt-5.6-terra
api_key: os.environ/OPENAI_API_KEY
search_tools:
- search_tool_name: firecrawl-search
litellm_params:
search_provider: firecrawl
api_key: os.environ/FIRECRAWL_API_KEY
2. 프록시 시작
litellm --config /path/to/config.yaml
# RUNNING on http://0.0.0.0:4000
3. 검색 엔드포인트 테스트
Test Request
curl http://0.0.0.0:4000/v1/search/firecrawl-search \
-H "Authorization: Bearer ***" \
-H "Content-Type: application/json" \
-d '{
"query": "latest AI developments",
"max_results": 5
}'
제공자별 파라미터
Firecrawl Search with Provider-specific Parameters
import os
from litellm import search
os.environ["FIRECRAWL_API_KEY"] = "fc-..."
response = search(
query="machine learning research",
search_provider="firecrawl",
max_results=10,
country="US",
# Firecrawl-specific parameters
sources=["web", "news"], # Search multiple sources
categories=[{"type": "github"}, {"type": "research"}], # Filter by categories
tbs="qdr:m", # Time-based search (past month)
location="San Francisco,California,United States", # Geo-targeting
ignoreInvalidURLs=True, # Exclude invalid URLs
scrapeOptions={ # Scraping options for results
"formats": ["markdown"],
"onlyMainContent": True,
"removeBase64Images": True
}
)
기능
Firecrawl은 웹 검색과 강력한 스크래핑 기능을 결합해요:
여러 소스
서로 다른 소스를 동시에 검색해요:
web- 웹 검색 결과 (기본)images- 이미지 검색 결과news- 날짜가 포함된 뉴스 검색 결과
카테고리 필터링
특정 카테고리로 결과를 필터링해요:
github- GitHub 저장소, 코드, 이슈, 문서 내 검색research- 학술 및 연구 웹사이트 검색 (arXiv, Nature, IEEE, PubMed 등)pdf- PDF 검색
시간 기반 검색
tbs 파라미터로 기간별 필터링:
qdr:h- 지난 1시간qdr:d- 지난 1일qdr:w- 지난 1주qdr:m- 지난 1개월qdr:y- 지난 1년
콘텐츠 스크래핑
scrapeOptions를 지정하면 Firecrawl이 검색 결과의 전체 페이지 콘텐츠를 자동으로 스크래핑해요. 기본적으로 LiteLLM은 마크다운 형식과 메인 콘텐츠만 요청해요.
지리 타기팅
location과 country 파라미터를 결합해 지리적 결과를 얻어요:
response = search(
query="restaurants",
search_provider="firecrawl",
country="DE",
location="Berlin,Germany"
)
지원 쿼리 연산자
Firecrawl은 고급 검색 연산자를 지원해요:
| 연산자 | 기능 | 예시 |
|---|---|---|
"" |
문자열을 정확히 일치하는 단어로 | "Firecrawl" |
- |
특정 키워드 제외 | -bad, -site:example.com |
site: |
지정된 웹사이트의 결과만 반환 | site:firecrawl.dev |
inurl: |
URL에 단어가 포함된 결과만 반환 | inurl:firecrawl |
allinurl: |
URL에 여러 단어가 포함된 결과만 반환 | allinurl:git firecrawl |
intitle: |
제목에 단어가 있는 결과만 반환 | intitle:Firecrawl |
allintitle: |
제목에 여러 단어가 있는 결과만 반환 | allintitle:firecrawl playground |
related: |
특정 도메인과 관련된 결과만 반환 | related:firecrawl.dev |