在 Gemini Enterprise Agent Platform 中利用 Google 地圖建立基準

本頁面說明如何透過 Gemini Enterprise Agent Platform 的 Google 地圖基礎功能,提供地理空間脈絡,進而提升生成式 AI 應用程式的效能。

總覽

透過 Gemini Enterprise Agent Platform 搭配 Google 地圖建立基準,這項服務可將 Gemini 模型連結至 Google 地圖的地理空間資料。Google 地圖可存取數百萬個地點的資訊,包括商家、地標和搜尋點。這項資料可讓您存取超過 2.5 億個 Places 的資訊,用來做為模型回覆的基準,讓 AI 應用程式和代理程式提供店面資料和地理空間背景資訊。

您也可以同時啟用利用 Google 地圖建立基準、Google 搜尋,以及利用您的資料來源建立基準。

利用 Google 地圖建立基準的用途

您可以將「利用 Google 地圖建立基準」功能用於各種應用程式,例如:

  • 對話式助理,可回答附近地點相關問題,例如「哪裡可以買到最近的義式濃縮咖啡?」
  • 個人化說明和社群洞察資料,例如「請提供步行範圍內的家庭友善餐廳資訊」。
  • 特定地點周邊區域的摘要,例如電動車充電站或飯店。

這對房地產、旅遊、交通運輸和社群媒體應用程式的用途來說相當實用。

支援的模型

本節列出支援「利用 Google 地圖建立基準」的模型。

按一下即可展開支援的機型

如要進一步瞭解 Gemini 模型,請參閱「Gemini 模型」。

使用「利用 Google 地圖建立基準」功能,鞏固模型回覆的事實基礎

這個程式碼範例會示範如何使用「利用 Google 地圖建立基準」功能,為模型回覆提供事實基礎。

您可以使用經緯度座標,針對特定地理位置自訂搜尋結果。

控制台

如要透過 Gemini Enterprise Agent Platform 使用 Google 地圖的基礎功能,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Agent Studio」頁面。

    前往 Agent Studio

  2. 在側邊面板的「模型設定」下方,前往「建立基準」部分,然後點選「Google 搜尋」、「Google 地圖」的編輯圖示。設定窗格隨即會顯示。

  3. 開啟「Google 地圖」切換鈕。

  4. 按一下「套用」

  5. 在欄位中輸入提示,然後按一下「提交」。您提供的提示回覆,可做為 Google 地圖的基礎。

Python

安裝

pip install --upgrade google-genai

詳情請參閱 SDK 參考文件

設定環境變數,透過 Vertex AI 使用 Google Gen AI SDK:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    GoogleMaps,
    HttpOptions,
    Tool,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents="Where can I get the best espresso near me?",
    config=GenerateContentConfig(
        tools=[
            # Use Google Maps Tool
            Tool(google_maps=GoogleMaps())
        ],
        tool_config=types.ToolConfig(
            retrieval_config = types.RetrievalConfig(
                lat_lng = types.LatLng( # Pass geo coordinates for location-aware grounding
                    latitude=40.7128,
                    longitude=-74.006
                ),
                language_code = "en_US", # Optional: localize Maps results
            ),
        ),
    ),
)

print(response.text)
# Example response:
# 'Here are some of the top-rated places to get espresso near you: ...'

REST

使用任何要求資料之前,請先修改下列項目的值:

  • LOCATION:處理要求的區域。 如要使用全域端點,請從端點名稱中排除位置資訊,並將資源位置設為全域。
  • PROJECT_ID: 您的 [專案 ID](/resource-manager/docs/creating-managing-projects#identifiers)。 。
  • MODEL_ID:多模態模型的模型 ID。
  • PROMPT:要傳送至模型的提示。
  • LATITUDE:地點的緯度。舉例來說,緯度 37.7749 代表舊金山。您可以使用 Google 地圖或其他地理編碼工具等服務取得經緯度座標。
  • LONGITUDE:地點的經度。舉例來說,經度 -122.4194 代表舊金山。
  • GROUNDING_TYPES:要啟用的 Google 地圖基礎類型。目前支援 placesrouting
    • places:搜尋地點資訊,包括建築物、重要搜尋點和地理位置。
    • routing:尋找路線並沿途搜尋。
    如未指定,則預設為僅 places

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

JSON 要求主體:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "PROMPT"
    }]
  }],
  "tools": [{
    "googleMaps": {
      "groundingTypes": {
        "places": {},
        "routing": {}
      }
    }
  }],
  "toolConfig": {
    "retrievalConfig": {
      "latLng": {
        "latitude": LATITUDE,
        "longitude": LONGITUDE
      },
      "languageCode": "en_US"
    }
  },
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "\"The Italian Place\" in Alexandria, VA, is good for children and offers takeout. It has a rating of 4.2 stars based on 411 reviews."
          }
        ]
      },
      "finishReason": "STOP",
      "groundingMetadata": {
        "groundingChunks": [
          {
            "maps": {
              "uri": "https://maps.google.com/?cid=9001322937822692826",
              "title": "The Italian Place",
              "placeId": "places/ChIJOTRDf_qwt4kR2kV_WYUf63w"
            }
          },
          {
            "maps": {
              "uri": "https://maps.google.com/?cid=9001322937822692826",
              "title": "Hank's Pasta Bar",
              "placeId": "places/MMVtPzn9FGcevML89",
              "placeAnswerSources": {
                "reviewSnippets": [
                  {
                    "id": "places/ChIJOTRDf_qwt4kR2kV_WYUf63w",
                    "title": "Google Maps Review",
                    "uri": "https://maps.google.com/?cid=9001322937822692826"
                  },
                ]
              }
            }
          },
          ...
        ],
        "groundingSupports": [
          {
            "segment": {
              "endIndex": 79,
              "text": "\"The Italian Place\" in Alexandria, VA, is good for children and offers takeout."
            },
            "groundingChunkIndices": [
              0
            ]
          },
        ],
      }
    }
  ],
  ...
}

地點屬性

本節列出用於描述地點的地點屬性,以及「利用 Google 地圖建立基準」用於生成回覆的屬性。這些屬性是用來判斷 利用 Google 地圖建立基準 可回答的問題類型。

地點屬性範例

這份清單提供地點的屬性樣本 (依字母順序排列),模型可使用這些屬性生成回覆。

  • 地址
  • 店外取貨
  • 簽帳金融卡
  • 距離
  • 免費停車場
  • 提供現場音樂演奏
  • 兒童菜單
  • 營業時間
  • 付款方式 (例如現金信用卡)
  • 有關地點的回答
  • 寵物友善
  • 供應啤酒
  • 供應素食
  • 有無障礙設施
  • Wifi

地點答案是利用 Google 地圖建立基準根據使用者評論資訊生成的內容。

使用地點屬性的範例

以下範例在有關不同類型地點的問題中,使用地點屬性。利用 Google 地圖建立基準會使用這些屬性瞭解你的意圖,然後根據 Google 地圖中與地點相關聯的資料提供相關回覆。

  • 規劃家庭聚餐:你可以詢問「The Italian Place」是否適合兒童,以及是否提供外帶服務。他們的評分是多少?

    回答這些問題有助於判斷餐廳是否適合家庭用餐,以及是否提供便利的服務。

  • 為朋友查詢無障礙設施:你可能會說「我需要有無障礙入口的餐廳」

    這項提示的回覆內容可能有助於判斷該地點是否符合特定無障礙需求。

  • 尋找宵夜地點:你可以問「『Burger Joint』現在營業嗎?Do they serve dinner? 星期五的營業時間是?

    回答這些問題有助於你在特定時間找到供應特定餐點的營業場所。

  • 與客戶在咖啡廳會面:你可能會問「中央咖啡廳」有 Wi-Fi 嗎? 是否供應咖啡?價位如何?是否接受信用卡?

    根據咖啡廳的設施、供應內容和付款方式,回答這些問題有助於評估咖啡廳是否適合舉辦商務會議。

Google 地圖基礎結果中的資訊可能與實際路況不同。

瞭解回覆內容

Google 地圖來源會傳回 groundingMetadata 內的 groundingChunks。系統會傳回地點和使用者評論的來源,用於生成 Google 地圖基礎結果

這個程式碼範例會顯示回應中的地點來源和地點答案來源:

"groundingChunks": [
  {
    "maps": {
      "uri": "{Link to Maps Content}",
      "title": "{Name of Maps Place}",
      "placeId": "{Place ID}",
      "placeAnswerSources": {
        "reviewSnippets" : [
          {
            "reviewId": "{Review ID}",
            "googleMapsUri": "{Link to Maps Content}",
            "title": "{Title of review}"
          }
        ]
      }
    },
  }
],

路線規劃 - 尋找路線

利用 Google 地圖建立基準時,系統會支援「尋找路線」功能。這項功能可讓 AI 代理程式瞭解實體移動、即時預估行程時間,以及地點之間的空間關係。透過「尋找路線」功能,模型可提供最佳路線和準確的行程時間,並考量即時狀況。這項整合功能可讓「利用 Google 地圖建立基準」功能根據旅行時間篩選地點、提供精確的點對點路線,以及計算特定交通方式的預估通勤時間。

功能

「尋找路線」會計算出發地和目的地之間的精確交通距離和時間。

「尋找路線」支援下列功能:

  • 交通方式:提供開車、步行、騎單車、大眾運輸和二輪機動車輛的路線 (部分國家/地區不支援所有交通方式)

  • 多個路線控點:起點和目的地之間最多可有 13 個中途停靠點

  • 即時路況:考量目前路況,提供準確的「即時」交通時間,而非靜態平均值

以下列舉「尋找路線」支援的問題類型:

  • 以車程時間為準的鄰近程度:「紐約市第六大道 1335 號的希爾頓飯店附近,有哪些步行 10 分鐘內可達的美式餐廳?」

  • 通勤時間預估:「從西雅圖的派克市場搭乘大眾運輸工具到國會山莊要多久?」

瞭解回覆內容

當提示觸發「尋找路線」功能時,模型會生成自然語言答案,並提供結構化中繼資料。這樣一來,您就能向使用者顯示準確的旅遊資訊。

酬載回應會傳回下列資料:

  • 時間長度:在兩地之間移動所需的時間,如果要求,會將交通狀況納入考量。例如「500 秒」。

  • 距離:路線的實際距離。例如「1.9 公里」。

  • 折線:編碼文字字串,可讓您在地圖上以視覺化方式呈現特定路線路徑。

以下是提示「How do I get to Carmine's restaurant from the Hilton Hotel (1335 6th Ave in NYC) where I'm staying?」(如何從我入住的紐約市希爾頓飯店 (1335 6th Ave) 前往 Carmine's 餐廳?) 的回覆範例:

如要從紐約市第六大道 1335 號的希爾頓飯店前往 Carmine's 餐廳, 請前往 Carmine's - Time Square 分店,地址是美國紐約州紐約市西 44 街 200 號, 郵遞區號 10036。

步行路線如下:

  1. 從希爾頓飯店出發:從 6th Ave 1335 號的希爾頓飯店出口離開。

  2. 沿著 6th Avenue 往南走:沿著 6th Avenue (美洲大道) 往南走,朝 W 44th Street 前進。

  3. 右轉進入西 44 街:右轉進入西 44 街。

  4. Carmine's 位於左側:沿著 W 44th Street 走,Carmine's 位於左側,地址是 200 W 44th St。

這條路線約 0.5 英里,大約需要 10 到 15 分鐘。

以下是提示「從西雅圖的派克市場搭乘大眾運輸工具前往國會山莊需要多久時間?」的回覆範例:

如要從西雅圖的派克市場搭乘大眾運輸工具前往國會山莊,有幾種方式可選擇:

  • 電車 (輕軌):從派克市場附近的西湖站搭乘電車前往國會山莊,車程約 3 分鐘。包括轉乘在內,總行程時間約為 9 分鐘,每 10 分鐘會有一班電車。

  • 公車:從 Pike St & 4th Ave (Pike Place Market 附近) 搭乘 King County Metro 直達公車前往 Capitol Hill 約需 11 分鐘,每 20 分鐘一班。搭乘 49 號公車則約需 16 分鐘。

路線規劃 - 沿路線搜尋

「沿途搜尋」功能可讓 AI 代理程式探索與使用者規劃行程相關且方便的搜尋點。根據 Google 地圖的路線規劃和空間搜尋引擎,模型可提供建議,盡量減少繞路,並瞭解公路旅行或通勤的物流流程。

功能

應用程式可透過「沿途搜尋」功能,找出位於起點和目的地之間路徑上的特定商家、設施或景點。系統僅支援「開車」的交通方式。

下列範例說明「沿途搜尋」工具可處理的問題類型。

  • 基本路線搜尋:「從 1800 Amphibious Blvd. Mountain View, CA 94045 到 456 Sunny St, Sunnyvale CA 的路線上,有哪些加油站?」(通常來源和目的地地址是從對話記錄中取得)。
  • 根據地點屬性搜尋:「在舊金山和 1800 Amphibious Blvd. Mountain View, CA 94045 之間,有沒有任何星級評等至少 4 星的麵包店?」
  • 多段路線搜尋:「我要從舊金山開車到聖路易奧比斯波,再到洛杉磯。請建議舊金山到聖路易奧比斯波之間的三個電動車充電樁,以及聖路易奧比斯波到洛杉磯之間的三個電動車充電樁。」

瞭解回覆內容

當提示觸發「沿途搜尋」工具時,模型會產生自然語言答案,並以結構化中繼資料為基礎,結合地點和路線資料。這樣一來,系統建議的地點才會真正符合實際的旅遊路線。groundingMetadata 會包含傳回地點和搜尋路線的 groundingChunks

提示範例 [基本路線搜尋]

尋找從 1800 Amphibious Blvd. Mountain View, CA 94045 到 456 Sunny St, Sunnyvale CA 沿途的加油站。

範例回應 [基本路線搜尋]

以下是從 1800 Amphibious Blvd. Mountain View, CA 94045 到 456 Sunny St, Sunnyvale, CA 沿途的加油站:

  • 範例加油站 - 位於美國加州森尼韋爾範例路 123 號。 這間加油站的評分為 3.5 顆星 (122 則評論),販售氫氣、丙烷和汽油,並提供洗車服務。營業到今晚 9:50,並設有洗手間。
  • 虛構加油站 - 位於 456 Fictional Ave, Sunnyvale, CA 94045。這間加油站的評分為 3.6 星 (52 則評論),提供便利商店和洗車服務,24 小時營業,並設有洗手間。
  • 一般加油站 - 位於 789 W Generic St, Sunnyvale, CA 94045。根據 35 則評論,這間餐廳的評分為 3.6 顆星。這個車站 24 小時開放,並設有洗手間。

提示範例 [多段路線搜尋]

我將從舊金山出發,沿著聖路易斯奧比斯波到洛杉磯的路線進行公路旅行。請建議三種電動車充電樁選項,分別位於舊金山和聖路易斯奧比斯波之間,以及聖路易斯奧比斯波和洛杉磯之間。

範例回覆 [多段路線搜尋]

以下列出從舊金山到洛杉磯的公路旅行,並在聖路易斯奧比斯波停留時,可使用的電動車充電器選項。

舊金山和聖路易斯奧比斯波之間

  • 充電器範例:位於加州坎貝爾市 Example Blvd 123 號,評分 4.5 分。
  • 虛構電動車充電站:這個充電站位於加州吉爾羅伊虛構路 456 號,評分為 4.4 分。
  • 通用充電站:這個充電站位於加州薩利納斯通用街 789 號,郵遞區號為 95008,評分為 3.5。

聖路易斯奧比斯波和洛杉磯之間

  • 範例充電器:位於加州聖路易歐比斯波郡 Example Rd 123 號,評分 4.3 分。
  • 虛構電動車充電站:這個充電站位於加州聖塔芭芭拉虛構大道 456 號,評分為 3.9 分。
  • 通用充電站:這個充電站位於加州格倫代爾通用街 789 號,評分為 3.0。

祝你公路旅行愉快!

服務使用規定

本節說明「利用 Google 地圖建立基準」功能的使用規定。

告知使用者 Google 地圖來源的使用情形

每則 Google 地圖基礎結果都會附上groundingChunks來源,系統也會傳回下列中繼資料:

  • 來源 URI
  • title
  • ID

使用 Gemini Enterprise Agent Platform 透過利用 Google 地圖建立基準呈現結果時,必須指定相關聯的 Google 地圖來源,並告知使用者下列事項:

  • Google 地圖來源必須緊接在來源支援的生成內容後方。這類生成內容也稱為「Google 地圖基礎結果」
  • Google 地圖來源必須在一次使用者互動中顯示。

適用於語音優先介面

來源:Google 地圖來源必須顯示在隨附的使用者介面中,並顯示任何 AI 語音對話的逐字歷史記錄。這項記錄必須遵守來源規定,並受限於適用的資料快取和儲存空間限制。

主動揭露來源:使用者與 Google 地圖互動時,必須合理瞭解 Google 地圖在體驗中扮演的角色,以及如何找到詳細的來源資訊。

主動揭露來源時,必須傳達下列重點:

  • AI 生成內容可能包含 Google 地圖的資訊。

  • 詳細來源資訊請參閱隨附的使用者介面。

您必須使用下列至少一種方法,主動揭露來源。

  • 畫面顯示:在有螢幕的裝置上進行語音互動時,只要使用「以 Google 地圖為基礎」,就一律在螢幕上顯示有效揭露事項。

  • 語音公告:向使用者朗讀主動揭露事項。這項操作必須在利用 Google 地圖建立基準支援的首次互動中進行,且至少每 6 個月要重複一次。

揭露範例:「AI 生成內容可能包含 Google 地圖的資訊。你可以在隨附應用程式中查看詳細來源。」

持續揭露:必須讓使用者持續存取說明,瞭解 Google 地圖內容可能會用於 AI 生成內容 (例如在語音設定選單或語音互動揭露事項中)。

使用者查詢:語音助理必須準確回答使用者有關內容來源的查詢,包括 AI 生成內容包含 Google 地圖資訊時。如果來源是 Google 地圖,請直接引導使用者前往隨附的使用者介面,存取特定來源資訊。

groundingChunksgrounding_chunks.maps.placeAnswerSources.reviewSnippets 中,每個來源都必須按照下列規定產生連結預覽畫面:

  • 請按照 Google 地圖文字出處規範,將每個來源歸功於 Google 地圖。
  • 顯示回覆中提供的來源標題。
  • 使用回覆中的 urigoogleMapsUri 連結至來源。

這些圖片顯示來源和 Google 地圖連結的最低顯示要求。

提示詞和顯示來源的回覆

你可以收合來源檢視畫面。

提示詞、回覆和來源已收合

選用:加入其他內容,例如:

  • Google 地圖 Favicon 會插入 Google 地圖文字出處之前。
  • 來源網址 (og:image) 中的相片。

如要進一步瞭解部分 Google 地圖資料供應商及其授權條款,請參閱 Google 地圖和 Google 地球法律聲明

Google 地圖文字出處註明規範

在文字中將來源歸給 Google 地圖時,請遵循下列規範:

  • 請勿以任何方式修改「Google 地圖」文字:
    • 請勿變更「Google 地圖」的大小寫。
    • 請勿將 Google 地圖換行。
    • 請勿將 Google 地圖本地化為其他語言。
    • 使用 HTML 屬性 translate="no",防止瀏覽器翻譯 Google 地圖
  • 按照下表說明,設定「Google 地圖」文字的樣式:
屬性 樣式
字型系列 Roboto。載入字型為選用項目。
備用字型系列 產品中已使用的任何 Sans Serif 內文字型,或「Sans-Serif」來叫用預設系統字型
字型樣式 一般
字型粗細 400
字型顏色 白色、黑色 (#1F1F1F) 或灰色 (#5E5E5E)。與背景維持無障礙 (4.5:1) 對比度。
字型大小 字型大小下限:12sp
字型大小上限:16sp
如要瞭解 sp,請參閱 Material Design 網站上的「字型大小單位」。
字母間距 一般

CSS 範例

下列 CSS 會在白色或淺色背景上,以適當的字體排版樣式和顏色,顯示「Google 地圖」

@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');

.GMP-attribution {
font-family: Roboto, Sans-Serif;
font-style: normal;
font-weight: 400;
font-size: 1rem;
letter-spacing: normal;
white-space: nowrap;
color: #5e5e5e;
}

地點 ID 和評論 ID

Google 地圖資料包括地點 ID 和評論 ID。您可能會快取、儲存及匯出下列回應資料:

  • placeId
  • reviewId

「利用 Google 地圖建立基準」條款中的快取限制不適用。

禁止的地域

利用 Google 地圖建立基準會對特定內容和活動設限,以確保平台安全可靠。客戶不得在禁止區域發布或行銷提供「利用 Google 地圖建立基準」的客戶應用程式。詳情請參閱「Google Maps Platform 禁止地區」一文。禁用地區清單可能會不時更新。

帳單

利用 Google 地圖建立基準會針對每次 Google 地圖查詢收取費用 (請參閱定價)。

客戶向 Gemini 提交要求後,可能會產生一或多個 Google 地圖查詢。下表列出幾個範例:

提示詞範例 Google 地圖查詢的潛在數量 產生查詢範例
希爾頓飯店 (紐約市第六大道 1335 號) 附近的壽司餐廳。 3 項地點搜尋查詢 (Google 地圖查詢),假設這個提示會產生 3 項扇出查詢。 3 個扇出地點搜尋查詢:
- 希爾頓中城曼哈頓飯店附近的最佳壽司店
- 紐約第六大道 1335 號附近的壽司餐廳
- 紐約第六大道 1335 號附近的日式餐廳
如何從 1335 6th Ave 的希爾頓飯店前往紐約西 44 街 200 號? 1 查詢路線 (Google 地圖查詢) 1 查詢路線:
- 從紐約州紐約市第六大道 1335 號的希爾頓飯店到紐約州紐約市西 44 街 200 號
從紐約市希爾頓飯店 (1335 6th Ave) 到機場的距離。 4 次 Google 地圖查詢 (1 次 Place Search 查詢 + 3 次尋找路線查詢),假設 Place Search 會傳回 3 個機場。 1 個扇出式地點搜尋查詢:
- 紐約市附近的機場

3 個「尋找路線」查詢:
- 從 1335 6th Ave, New York, NY 10019, USA 到約翰甘迺迪甘迺迪國際機場 (Queens, NY 11430, USA)
- 從 1335 6th Ave, New York, NY 10019, USA 到紐華克自由國際機場 (Newark, NJ 07114, USA) 的路線
- 從 1335 6th Ave, New York, NY 10019, USA 到拉瓜地亞
尋找從 1800 Amphibious Blvd. Mountain View, CA 94045 到 456 Sunny St, Sunnyvale CA 沿途的加油站。 1 沿途搜尋查詢 (Google 地圖查詢) 1 沿途搜尋查詢:
- 從 1800 Amphibious Blvd. Mountain View, CA 94045 到 456 Sunny St, Sunnyvale CA 的加油站

後續步驟

  • 如要進一步瞭解如何根據資料設定 Gemini 模型,請參閱「根據資料設定」。
  • 如要進一步瞭解負責任的 AI 技術最佳做法和 Gemini Enterprise Agent Platform 的安全篩選器,請參閱「負責任的 AI 技術」。