Bing 검색 접지
Bing 검색 접지 (Microsoft Foundry) (Grounding with Bing Search)
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_TOKEN과 api_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-결과 히트로 기록되지 않아요.