註
本文件提及 Microsoft Foundry(經典版)代理程式。
🔍 查看最新的 Bing Grounding 搜尋文件。 Agents(經典版)現已棄用,將於 2027 年 3 月 31 日退役。 請使用普遍可用的 Microsoft Foundry Agents Service 中的新代理。 請依照 遷移指南 更新你的工作負載。
Grounding with Bing Search 讓你的Azure AI 代理在生成回應時能整合即時公開網路資料。 你需要建立一個 Grounding with Bing 搜尋資源,然後將這個資源連接到你的 Azure AI 代理程式。 當使用者發送查詢時,Azure AI 代理會決定是否應該使用 Bing 搜尋的 Grounding。 如果是這樣,它會用 Bing 來搜尋公開的網頁資料並回傳相關區塊。 最後,Azure AI 代理會使用回傳的區塊來產生回應。
你可以問像是「今天的頭條新聞是什麼」或「美國零售業的最新動態?」這類問題需要即時公開數據。
開發者和終端用戶無法使用 Bing 搜尋取得 Grounding 回傳的原始內容。 然而,模型回應包含引用,並附有用於產生回應的網站連結,以及用於搜尋的 Bing 查詢連結。 你可以透過存取已建立的執行緒資料來取得 模型回應 。 這兩個參考必須依照Microsoft提供的精確形式保留並顯示,依據Bing Search的使用與顯示要求。 詳情請參閱 「關於 Bing 搜尋結果中的接地顯示方法」 部分。
重要
- 您使用 Bing 搜尋中的 Grounding 功能可能會產生費用。 詳情請參閱 價格頁面 。
- 只有付費和隨用付費的 Azure 訂閱才有資格使用 Bing 搜尋的整合功能。 贊助訂閱或基於免費點數的訂閱者,無法透過 Bing Search 部署 Grounding。
- 透過以程式碼優先的方式(例如 Azure CLI)建立及使用「Grounding with Bing Search」資源,或透過部署範本進行部署,您同意接受 https://www.microsoft.com/en-us/bing/apis/grounding-legal 上提供的條款並遵守之,該條款可能會不時更新。
- 當你使用 Bing Search 的 Grounding 時,你的客戶資料會從 Azure 合規範圍之外轉移到 Grounding with Bing Search 服務。 使用 Bing Search 的 Grounding 不受相同的資料處理條款(包括處理地點)限制,且不具備與 Foundry Agent Service 相同的合規標準與認證,詳見《 Grounding with Bing 搜尋使用條款》。 您有責任評估在經紀人中使用 Bing Search 的 Grounding 是否符合您的需求與要求。
Bing 搜尋的基礎運作原理
使用者查詢是終端使用者發送給客服人員的訊息,例如 「我今天應該帶傘嗎?我在西雅圖。」 指令是開發者提供系統訊息,用來分享上下文並指示 AI 模型如何使用各種工具或行為。
當使用者發送查詢時,客戶的 AI 模型部署會先依照所提供的指示處理該查詢,接著執行 Bing 搜尋查詢 (開發者可見)。 Bing 的 Grounding 會將相關的搜尋結果回傳給客戶的模型部署,進而產生最終輸出。
註
使用 Bing 搜尋的 Grounding 時,只有 Bing 搜尋查詢、工具參數和你的資源金鑰會傳送給 Bing,且不會包含任何終端用戶專屬資訊。 你的資源金鑰只會被寄給 Bing,目的是計費和限速。
授權將在 Grounding 與 Bing 搜尋服務以及代理服務之間進行。 任何產生並傳送給 Bing 以進行 Grounding 的搜尋查詢,都會連同資源金鑰一同被轉移到 Azure 合規邊界之外,傳送到 Grounding with Bing Search 服務。 使用 Bing Search 的 Grounding 受 Bing 條款約束,且不具備與代理人服務相同的合規標準與認證,詳見《 Grounding with Bing Search 使用條款》。 您有責任評估在經紀人中使用 Bing Search 的 Grounding 是否符合您的需求與要求。
使用 Grounding with Bing 資源的交易會依每次執行工具呼叫次數計算。 你可以看到從執行步驟中會呼叫多少工具。
支援功能與已知問題
- Bing 搜尋工具的 Grounding 是設計用來從網路即時擷取資訊,而非特定網域。
- 不建議 概述 整個網頁。
- 在一次運行中,AI 模型會評估工具輸出,並可能再次調用該工具以獲取更多資訊與脈絡。 AI 模型也可能決定使用哪些工具輸出來產生回應。
- Azure AI 代理服務將回傳AI 模型生成的回應作為輸出,因此在大型語言模型的前處理和後處理階段,端到端的延遲會受到影響。
- 使用 Bing 搜尋工具接地並不會將工具輸出回傳給開發者和終端用戶。
- Bing Search 的接地功能只適用於未使用 VPN 或私人端點的代理。 代理人必須擁有正常的網路存取權限。
使用支援
| Azure AI Foundry 支援 | Python SDK | C# SDK | JavaScript SDK | Java SDK | REST API | 基本代理設定 | 標準代理設定 |
|---|---|---|---|---|---|---|---|
| ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
設定
註
- Bing Search 的整合可支援 Agent Service 所支援的所有 Azure OpenAI 模型,只有
gpt-4o-mini, 2024-07-18和 gpt-5 模型除外。
請依照 quickstart 步驟創建 Azure AI 代理。
使用 Bing 搜尋建立一個基礎資源。 你需要在訂閱或資源群組中擁有擁有者或貢獻者角色才能建立它。
你可以在 Azure portal 建立一個,並在建立表單中選擇不同的欄位。 務必將這個 Grounding with Bing Search 資源建立在與 Azure AI 代理、AI Project 及其他資源相同的資源群組中。
你也可以透過以程式碼優先的開發體驗來建立一個。 如果是的話,你需要手動註冊 Bing 搜尋作為Azure資源提供者。 你必須取得資源提供者的權限才能執行此
/register/action操作。 權限包含在 貢獻者 與 擁有者 角色中。
az provider register --namespace 'Microsoft.Bing'建立 Grounding with Bing 搜尋資源後,可以在 Azure portal 找到。 前往你建立該資源的資源群組,搜尋你建立的 Grounding with Bing 搜尋資源。
可選參數
當你將 Bing Grounding 搜尋工具加入客服人員時,可以傳遞以下參數。 這些參數會影響 Bing 搜尋工具生成結果的完整性,而 AI 模型可能無法完全利用所有結果。 請參閱 程式碼範例 ,了解 API 版本支援及如何傳遞這些參數。
| 名稱 | 價值 | 類型 | 必須 |
|---|---|---|---|
count |
回應中要回傳的搜尋結果數量。 預設值是5,最大值是50。 實際交付的數量可能低於要求。 多個頁面的結果可能會包含一些重疊。 此參數僅影響網頁結果。 有可能這個 AI 模型不會完全使用必應回傳的所有搜尋結果。 | UnsignedShort |
不 |
freshness |
請依以下大小寫不區分年齡值篩選搜尋結果: 日:回傳 Bing 在過去 24 小時內發現的網頁。 週:返回 Bing 在過去 7 天內發現的網頁。 月份:回傳 Bing 在過去 30 天內發現的網頁。 為了讓文章能在特定時間範圍內被 Bing 發現,請指定這一形式的日期範圍: YYYY-MM-DD..YYYY-MM-DD。 例如, freshness=2019-02-01..2019-05-30。 若要將結果限制在單一日期,請將此參數設為特定日期。 例如, freshness=2019-02-04。 |
弦 | 不 |
market |
這是結果來源的市場。 通常是 mkt 使用者提出請求的國家或地區。 不過,如果使用者不在 Bing 提供結果的國家或地區,可能會是不同的國家或地區。 市場必須是以下形式:<language>-<country/region>。 例如, en-US。 字串不區分大小寫。 關於可能的市場價值列表,請參見 市場代碼。 如果已知,建議你一定要明確說明市場。 指定市場有助於 Bing 路由請求並回傳適當且最佳的回應。 如果你指定的市場並未列入市場代碼,Bing 會根據內部映射設定使用最適合的市場代碼,而該對應會隨時變動。 |
弦 | 不 |
set_lang |
用於使用者介面字串的語言。 您可以使用2字母或4字母代碼來指定語言。 建議使用四字母代碼。 有關支援的語言代碼列表,請參見 Bing 支援語言。 Bing會載入本地化字串,如果 setlang包含有效的兩字母中立文化代碼(fr)或有效的四字母特定文化代碼(fr-ca)。 例如,對於 fr-ca,Bing 會載入fr 中性文化代碼字串。如果 setlang 不有效(例如 zh),或 Bing 不支援該語言(例如 af, ), af-naBing 會預設為 en (英文)。若要指定兩字母代碼,將此參數設為 ISO 639-1 語言代碼。 要指定四字母代碼,請使用格式, <language>-<country/region> 其中 <language> 是 ISO 639-1 語言代碼(中立文化), <country/region> 是 ISO 3166 國家/地區(特定文化)代碼。 例如,美式英語用en-US。雖然是可選的,但你應該始終指定語言。 通常你會設定 setLang 為與 相同的 mkt 語言,除非使用者想讓使用者介面字串顯示在不同語言中。 |
弦 | 不 |
如何透過 Bing 搜尋結果顯示 Grounding 相關資訊
根據 Grounding with Bing 的 使用條款及使用與顯示要求,你需要在自訂介面中同時顯示網站網址和 Bing 搜尋查詢網址。 你可以在 API 回應的 annotations 參數中找到網站網址,並透過 runstep 獲取 Bing 搜尋查詢的 URL 詳細資訊。 要呈現網頁時,我們建議你將 Bing 搜尋查詢 URL 的端點替換為 www.bing.com ,你的 Bing 搜尋查詢 URL 會看起來像是「https://www.bing.com/search?q={search query}」。
run_steps = project_client.agents.runs_steps.list(run_id=run.id, thread_id=thread.id)
run_steps_data = run_steps['data']
print(f"Last run step detail: {run_steps_data}")
下一步
如要了解如何程式化使用 Bing Grounding 工具,請參閱 程式碼範例。