使用 Bing 搜尋 進行基礎,可讓您的 Azure AI 代理程式在產生回應時納入即時公用 Web 數據。 您需要使用 Bing 搜尋資源建立基礎,然後將此資源連接到您的 Azure AI 代理。 當使用者傳送查詢時,Azure AI 代理程式會決定是否應利用使用 Bing 搜尋進行基礎設置。 如果是,它會利用 Bing 來搜尋公用 Web 數據並傳回相關的區塊。 最後,Azure AI 代理程式會使用傳回的區塊來產生回應。
您可以詢問「今日熱門新聞是什麼」或「美國零售行業的最新更新為何?」等問題,這些更新需要即時的公用數據。
開發人員和終端用戶無法存取使用 Bing 搜尋從 Grounding 傳回的原始內容。 不過,模型回應包含引文,其中包含用來產生響應的網站連結,以及用於搜尋的 Bing 查詢連結。 您可以藉由存取所建立線程中的數據來擷取 模型回應 。 這兩個參考必須依照使用 Bing 搜尋進行基礎設置的使用和顯示規範保留,並以 Microsoft 所提供的原樣顯示。 請參閱如何在 Bing 搜尋結果中顯示 Grounding 的部分以獲取詳細信息。
這很重要
- 使用 [使用 Bing 搜尋進行基礎設置] 可能會產生費用。 如需詳細資料,請參閱定價頁面。
- 透過 Azure CLI 等以程式碼為優先的方式建立和使用 [使用 Bing 搜尋進行基礎設置],或透過部署範本進行部署,即表示您同意受 https://www.microsoft.com/en-us/bing/apis/grounding-legal 所提供條款的約束並遵守條款,這些條款可能會不時更新。
- 當您搭配 Bing 搜尋使用 Grounding 時,客戶數據會從 Azure 合規性界限外傳輸至使用 Bing 的 Grounding 搜尋服務。 使用 Bing 搜尋基礎不受相同的數據處理條款(包括處理位置)所約束,且與 Azure AI Foundry Agent 服務不具相同的合規性標準和認證,如 Bing 搜尋基礎使用條款所描述。 您必須負責評估在代理程式中使用 Bing 搜尋進行基礎設置的使用是否符合需要和需求。
使用 Bing 搜尋進行基礎設置的運作方式
使用者查詢是終端用戶傳送給代理程式的訊息,例如 「我今天應該和我一起拿傘嗎?我在西雅圖。 指示是開發人員可以提供來共用內容的系統訊息,並提供 AI 模型的指示,說明如何使用各種工具或行為。
當使用者傳送查詢時,客戶的 AI 模型部署會先處理它(使用提供的指示),以稍後執行 Bing 搜尋查詢( 開發人員可以看到)。 使用 Bing 進行基礎設置會傳回相關的搜尋結果給客戶的模型部署,然後產生最終輸出。
備註
搭配使用 Grounding 與 Bing 搜尋時,只會將 Bing 搜尋查詢、工具參數和您的資源密鑰傳送至 Bing,且不包含任何終端使用者特定資訊。 您的資源金鑰僅針對計費和速率限制目的傳送至 Bing。
Grounding 與 Bing 搜尋服務和 Azure AI Foundry 代理服務之間將進行授權。 任何為基礎設置目的而產生並傳送至 Bing 的 Bing 搜尋查詢,連同資源密鑰,均會在 Azure 合規性界限之外被轉移至使用 Bing 搜尋進行基礎設置的服務。 使用 Bing 搜尋的基礎受限於 Bing 的條款,且沒有與 Azure AI Foundry 代理程式服務相同的合規性標準和認證,如 使用 Bing 搜尋規定的基礎中所述。 您必須負責評估在代理程式中使用 Grounding 與 Bing 搜尋是否符合您的需求和需求。
支援的功能和已知問題
- 使用 Bing 搜尋工具進行基礎設計,旨在從 Web 擷取實時資訊,而非特定的 Web 網域。
- 不建議將整個網頁摘要。
- 在一次執行中,AI 模型會評估工具輸出,並可能決定再次叫用此工具以取得詳細資訊和內容。 AI 模型也可以決定使用哪一部分的工具輸出來產生回應。
- Azure AI 代理程式服務會傳回 產生的 AI 模型作為輸出 ,因此端對端延遲將會影響 LLM 的前置/後處理。
- 使用 Bing 搜尋工具進行整合不會將工具的輸出傳送給開發人員和終端使用者。
使用支援
Azure AI Foundry 支援 | Python SDK | C# SDK | JavaScript SDK | REST API | 基本代理程序設定 | 標準代理程序設定 |
---|---|---|---|---|---|---|
✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
設定
備註
- 使用 Bing 搜尋可以與 Azure AI Foundry Agent Service 支援的 所有 Azure OpenAI 模型 搭配運作,僅不支援
gpt-4o-mini, 2024-07-18
。
依照快速入門中的步驟建立 Azure AI 代理程式。
建立使用 Bing 搜尋進行基礎設置資源。 您必須在訂用帳戶或資源群組中擁有
owner
或contributor
角色,才能建立它。- 您可以在 Azure 入口網站 中建立一個,然後在建立窗體中選取不同的欄位。 請務必在與 Azure AI 代理程式、AI 專案和其他資源相同的資源群組中使用 Bing 搜尋資源來建立此基礎。
- 您也可以透過程式碼優先體驗來建立資源。 若是如此,您必須手動 將 Bing 搜尋註冊 為 Azure 資源提供者。 您必須擁有對資源提供者執行
/register/action
作業的權限。 許可權包含在貢獻者和擁有者角色中。
az provider register --namespace 'Microsoft.Bing'
使用 Bing 搜尋資源建立 Grounding 之後,您可以在 Azure 入口網站 中找到它。 瀏覽至您已在其中建立資源的資源群組,使用您已建立的 Bing 搜尋資源來搜尋基礎設置。
選擇性參數
當您使用 Bing 搜尋工具將 Grounding 新增至代理程式時,您可以傳遞下列參數。 這些參數將影響 Bing 搜尋工具的輸出,而 AI 模型可能無法完全利用所有的輸出結果。 如需 API 版本支援的相關信息,以及如何傳遞這些參數,請參閱程式 碼範例 。
名稱 | 價值觀 | 類型 | 為必填項目 |
---|---|---|---|
count |
回應中要傳回的搜尋結果數目。 默認值為 5,最大值為 50。 實際傳遞的數位可能小於要求。 多個頁面有可能在結果中包含一些重疊。 此參數只會影響網頁結果。 AI 模型可能無法使用 Bing 傳回的所有搜尋結果。 | UnsignedShort |
否 |
freshness |
依下列不區分大小寫的年齡值篩選搜尋結果: Day:傳回 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 個字母的程式代碼來指定語言。 偏好使用 4 個字母代碼。 如需支援的語言代碼清單,請參閱 Bing 支援的語言。 如果 setlang 包含有效的 2 個字母中性文化特性代碼 fr 或有效的 4 個字母特定文化特性代碼 fr-ca ,Bing 會載入本地化字串。 例如,針對 fr-ca ,Bing 會載入 fr 中性文化特性代碼字串。如果 setlang 無效 (例如zh ) 或 Bing 不支援語言 (例如 , af af-na ), Bing 預設為 en (英文)。若要指定 2 個字母的程式代碼,請將此參數設定為 ISO 639-1 語言代碼。 若要指定 4 個字母代碼,請使用表單 <language>-<country/region> ,其中 <language> 是 ISO 639-1 語言代碼(中性文化特性),而且 <country/region> 是 ISO 3166 國家/地區(特定文化特性)程序代碼。 例如,使用 en-US 美國英語。雖然是選擇性的,但您應該一律指定語言。 一般而言,除非使用者想要以不同的語言顯示使用者介面字串,否則您會將 setLang 設定為 mkt 所指定的相同語言。 |
繩子 | 否 |
如何顯示使用 Bing 搜尋進行基礎設置的結果
根據使用 Bing 進行基礎設置的使用條款及使用和顯示要求,您必須在自訂介面中同時顯示網站 URL 和 Bing 搜尋查詢 URL。 您可以在 API 回應中的annotations
參數中找到網站 URL,並透過runstep
詳細資料來尋找 Bing 搜尋查詢 URL。 若要轉譯網頁,建議您將 Bing 搜尋查詢 URL 的端點取代為 www.bing.com
,而您的 Bing 搜尋查詢 URL 看起來會像 “https://www.bing.com/search?q={search query}”
run_steps = project_client.agents.list_run_steps(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。