Bing 검색 접지

Microsoft Foundry 프로젝트의 모델 배포를 통해 웹 검색을 실행하는 검색 제공자예요. 프로젝트의 Responses API를 사용하며, 모델이 검색을 수행하고 인용된 결과를 반환해요. 검색 트래픽이 Foundry 프로젝트 안에 머물고 Azure가 과금해요.

출처: 문서

본문

Grounding with Bing Search는 Microsoft Foundry 프로젝트의 모델 배포를 통해 웹 검색을 실행하며 프로젝트의 Responses API를 사용해요. 모델이 검색을 수행하고 인용된 결과를 반환하므로 검색 트래픽이 Foundry 프로젝트 안에 머물고 Azure가 과금해요.

Grounding with Bing 연결을 설정했는지에 따라 두 가지 모드가 있어요:

  • 웹 검색 모드 (기본): 모델의 내장 web_search 도구. Bing 리소스가 필요 없고 검색당 Bing 수수료도 없으므로 LiteLLM은 0 비용으로 추적해요.
  • 연결 모드: BING_GROUNDING_CONNECTION_ID로 선택하는 유료 Grounding with Bing (G1) 연결. LiteLLM은 이를 bing_grounding/search 맵 가격으로 추적해요.

두 모드 모두 같은 모델 배포를 호출하며, 그 토큰 사용량은 Foundry 계정에서 Azure가 과금해요.

제공자 ID bing_grounding
프로젝트 엔드포인트 BING_GROUNDING_PROJECT_ENDPOINT 또는 api_base
모델 배포 BING_GROUNDING_MODEL (필수)
인증 (Azure API 키) api_key, api-key 헤더로 전송
인증 (Entra 토큰) BING_GROUNDING_TOKEN, Authorization: ***로 전송
인증 (azure-identity) https://ai.azure.com/.default 범위에 대한 모든 DefaultAzureCredential 소스
Grounding with Bing 연결 BING_GROUNDING_CONNECTION_ID (선택, 연결 모드로 전환)

프로젝트 엔드포인트는 https://<account>.services.ai.azure.com/api/projects/<project>처럼 생겼어요.

LiteLLM Python SDK

Grounding with Bing Search

import os
from litellm import search

os.environ["BING_GROUNDING_PROJECT_ENDPOINT"] = "https://<account>.services.ai.azure.com/api/projects/<project>"
os.environ["BING_GROUNDING_MODEL"] = "gpt-5.6-terra"
os.environ["BING_GROUNDING_TOKEN"] = "<entra bearer token>"

response = search(
    query="latest AI developments",
    search_provider="bing_grounding",
    max_results=5
)

for result in response.results:
    print(f"{result.title}: {result.url}")
    print(f"Snippet: {result.snippet}\n")

인증

호출별로 Azure API 키를 전달하면 api-key 헤더로 전송돼요: Grounding with Bing Search with an Azure API key

response = search(
    query="latest AI developments",
    search_provider="bing_grounding",
    api_key=os.environ["AZURE_AI_API_KEY"]
)

또는 BING_GROUNDING_TOKENapi_key를 생략하면 https://ai.azure.com/.default 범위에 대해 표준 azure-identity 체인(AZURE_CLIENT_ID / AZURE_CLIENT_SECRET / AZURE_TENANT_ID, 공유 프로필, 관리 ID, 또는 다른 DefaultAzureCredential 소스)에서 Entra 토큰을 발급해요.

연결 모드 (유료 Grounding with Bing)

BING_GROUNDING_CONNECTION_ID를 Grounding with Bing (G1) 리소스의 프로젝트 연결로 설정해요. 그러면 모델이 내장 도구 대신 그 유료 연결을 통해 검색하고, LiteLLM은 bing_grounding/search 비용을 추적해요: Grounding with Bing Search in connection mode

os.environ["BING_GROUNDING_CONNECTION_ID"] = (
    "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.CognitiveServices"
    "/accounts/<account>/projects/<project>/connections/<bing-connection>"
)

response = search(
    query="latest AI developments",
    search_provider="bing_grounding",
    max_results=5
)

LiteLLM AI Gateway

1. config.yaml 설정

config.yaml

search_tools:
  - search_tool_name: bing-grounding-search
    litellm_params:
      search_provider: bing_grounding

프록시 환경에서 BING_GROUNDING_PROJECT_ENDPOINT, BING_GROUNDING_MODEL, 그리고 인증 옵션 중 하나를 설정하세요. BING_GROUNDING_CONNECTION_ID는 선택이며 연결 모드로 전환해요.

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/bing-grounding-search \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "latest AI developments",
    "max_results": 5
  }'

웹 검색 인터셉션

Grounding with Bing Search는 검색 제공자에서 모델의 네이티브 web_search 도구를 제공하는 웹 검색 인터셉션의 자연스러운 백엔드예요. 인터셉션을 구성된 도구에 연결하세요: config.yaml

model_list:
  - model_name: gpt-5.6-luna
    litellm_params:
      model: openai/gpt-5.6-luna
      api_key: os.environ/OPENAI_API_KEY

search_tools:
  - search_tool_name: bing-grounding-search
    litellm_params:
      search_provider: bing_grounding

litellm_settings:
  callbacks: ["websearch_interception"]
  websearch_interception_params:
    enabled_providers: ["openai"]
    search_tool_name: bing-grounding-search

통합 파라미터

통합 사양 파라미터 웹 검색 모드 연결 모드
max_results 반환된 결과를 사후에 제한 (내장 도구에는 개수 조절 장치 없음) 검색 구성의 count로 매핑
country 근사 user_location으로 매핑 무시 (연결의 market은 전체 로케일을 원하므로 단순 국가 코드로는 채울 수 없음)
search_domain_filter 무시 (해당 없음) 무시 (해당 없음)
max_tokens_per_page 무시 (해당 없음) 무시 (해당 없음)

참고 사항

웹 검색 모드는 내장 web_search 도구가 검색당 Bing 수수료를 내지 않으므로 0 비용으로 추적돼요. 연결 모드는 Grounding with Bing (G1) 검색당 수수료인 bing_grounding/search 맵 가격으로 추적돼요. 모델 배포의 토큰 사용량은 Foundry 계정에서 Azure가 별도로 과금해요.

Entra 토큰(BING_GROUNDING_TOKEN 또는 azure-identity로 발급된 것)은 BING_GROUNDING_PROJECT_ENDPOINT에 구성된 엔드포인트로만 전송되므로, 호출자가 제공한 api_base가 그것을 유출할 수 없어요. 호출자가 제공한 api_key는 Azure API 키로 취급되어 api-key 헤더로 전송돼요.

LiteLLM은 <project-endpoint>/openai/v1/responses로 POST하며, 엔드포인트가 이미 그 경로로 끝나지 않으면 경로를 자동으로 추가해요.

접지된 검색이 결과 없이 failed 또는 incomplete로 돌아오면, LiteLLM은 빈 성공을 반환하는 대신 오류를 일으켜요. 그래서 실패한 검색이 정상적인 0-결과 히트로 기록되지 않아요.

더 알아보기 (Learn more)