Claude Code - 모든 제공자에서 WebSearch 사용하기
Claude Code - 모든 제공자에서 WebSearch 사용하기
Claude Code의 웹 검색 도구를 모든 제공자(Bedrock, Azure, Vertex 등)에서 동작하도록 활성화하는 방법을 알려드릴게요. LiteLLM이 웹 검색 요청을 자동으로 가로채서 서버 측에서 실행해요.
출처: 문서
본문
프록시 구성
litellm_config.yaml에 WebSearch 가로채기를 추가해요.
litellm_config.yaml
model_list: - model_name: bedrock-sonnet litellm_params: model: bedrock/us.anthropic.claude-sonnet-5 aws_region_name: us-east-1# Enable WebSearch interception for providerslitellm_settings: callbacks: ["websearch_interception"] websearch_interception_params: enabled_providers: - bedrock - azure - vertex_ai search_tool_name: perplexity-search # Optional: specific search tool# Configure search providersearch_tools: - search_tool_name: perplexity-search litellm_params: search_provider: perplexity api_key: os.environ/PERPLEXITY_API_KEY
빠른 시작
1. LiteLLM Proxy 구성
config.yaml을 만들어요.
config.yaml
model_list: - model_name: bedrock-sonnet litellm_params: model: bedrock/us.anthropic.claude-sonnet-5 aws_region_name: us-east-1litellm_settings: callbacks: ["websearch_interception"] websearch_interception_params: enabled_providers: [bedrock]search_tools: - search_tool_name: perplexity-search litellm_params: search_provider: perplexity api_key: os.environ/PERPLEXITY_API_KEY
Parallel Search를 사용하려면 PARALLEL_API_KEY를 설정하고 litellm_settings와 search_tools 섹션을 다음과 같이 교체해요.
Parallel Search 구성
litellm_settings: callbacks: ["websearch_interception"] websearch_interception_params: enabled_providers: [bedrock] search_tool_name: parallel-searchsearch_tools: - search_tool_name: parallel-search litellm_params: search_provider: parallel_ai api_key: os.environ/PARALLEL_API_KEY
2. 프록시 시작
LiteLLM Proxy 시작
# For Parallel Search, export PARALLEL_API_KEY=your-key instead.export PERPLEXITY_API_KEY=your-keylitellm --config config.yaml
3. Claude Code와 함께 사용
Claude Code 구성
export ANTHROPIC_BASE_URL=http://localhost:4000export ANTHROPIC_API_KEY=sk-claude
이제 Claude Code에서 웹 검색을 사용하면 돼요. 어떤 제공자에서든 동작해요!
동작 원리
Claude Code가 웹 검색 요청을 보내면 LiteLLM이:
-
네이티브
web_search도구를 가로채요 -
그것을 LiteLLM의 표준 형식으로 변환해요
-
Parallel, Perplexity, Tavily 등 구성된 제공자를 사용해 검색을 실행해요
-
최종 답변을 Claude Code에 반환해요
결과: Claude Code의 API 호출 1회 → 검색 결과가 포함된 완전한 답변
지원되는 제공자
| 제공자 | 네이티브 Web Search | LiteLLM으로 | | Anthropic | ✅ Yes | ✅ Yes | | Bedrock | ❌ No | ✅ Yes | | Azure | ❌ No | ✅ Yes | | Vertex AI | ❌ No | ✅ Yes | | 기타 제공자 | ❌ No | ✅ Yes |
검색 제공자
사용할 검색 제공자를 구성해요. LiteLLM은 여러 검색 제공자를 지원해요.
| 제공자 | search_provider 값 | 환경 변수 |
| Perplexity AI | perplexity | PERPLEXITYAI_API_KEY |
| Tavily | tavily | TAVILY_API_KEY |
| Exa AI | exa_ai | EXA_API_KEY |
| Parallel AI | parallel_ai | PARALLEL_AI_API_KEY |
| Google PSE | google_pse | GOOGLE_PSE_API_KEY, GOOGLE_PSE_ENGINE_ID |
| DataForSEO | dataforseo | DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD |
| Firecrawl | firecrawl | FIRECRAWL_API_KEY |
| SearXNG | searxng | SEARXNG_API_BASE (필수) |
| Linkup | linkup | LINKUP_API_KEY |
자세한 설정 방법과 제공자별 파라미터는 지원되는 모든 검색 제공자 문서를 참고하세요.
구성 옵션
WebSearch 가로채기 파라미터
| 파라미터 | 타입 | 필수 | 설명 | 예시 |
| enabled_providers | List[String] | Yes | 웹 검색 가로채기를 활성화할 제공자 목록 | [bedrock, azure, vertex_ai] |
| search_tool_name | String | No | search_tools config에서 특정 검색 도구. 설정하지 않으면 첫 번째 사용 가능한 검색 도구를 사용 | perplexity-search |
지원되는 제공자 값
enabled_providers에 다음 값을 사용해요.
| 제공자 | 값 | 설명 |
| AWS Bedrock | bedrock | Amazon Bedrock Claude 모델 |
| Azure OpenAI | azure | Azure 호스팅 모델 |
| Google Vertex AI | vertex_ai | Google Cloud Vertex AI |
| 기타 | 제공자 이름 | 모든 LiteLLM 지원 제공자 |
완전한 구성 예시
완전한 config.yaml
model_list: - model_name: bedrock-sonnet litellm_params: model: bedrock/us.anthropic.claude-sonnet-5 aws_region_name: us-east-1 - model_name: azure-gpt litellm_params: model: azure/gpt-5.6-terra api_base: https://my-azure.openai.azure.com api_key: os.environ/AZURE_API_KEYlitellm_settings: callbacks: ["websearch_interception"] websearch_interception_params: enabled_providers: - bedrock # Enable for AWS Bedrock - azure # Enable for Azure OpenAI - vertex_ai # Enable for Google Vertex search_tool_name: perplexity-search # Optional: use specific search tool# Configure search toolssearch_tools: - search_tool_name: perplexity-search litellm_params: search_provider: perplexity api_key: os.environ/PERPLEXITY_API_KEY - search_tool_name: tavily-search litellm_params: search_provider: tavily api_key: os.environ/TAVILY_API_KEY
검색 도구 선택 방식:
-
search_tool_name이 지정된 경우 → 해당 특정 검색 도구를 사용해요 -
search_tool_name이 지정되지 않은 경우 →search_tools목록의 첫 번째 검색 도구를 사용해요 -
위 예시에서:
search_tool_name이 없으면perplexity-search(목록의 첫 번째)를 사용해요