הגדרת ערוצי הפצה של Gemini Code Assist

במאמר הזה מוסבר איך להגדיר ערוצי הפצה של Gemini Code Assist לפרויקט באמצעות Google Cloud המסוף או API.

אנחנו משיקים תכונות של Gemini Code Assist בערוצי הפצה שונים. אתם יכולים להגדיר לכל Google Cloud פרויקט ערוץ הפצה יחיד, בהתאם לאיזון שבחרתם בין זמינות התכונות ליציבות. משתמשים בארגון שמשתמשים ב-Gemini Code Assist ב-IDE המקומי שלהם יכולים להשתמש בתכונות ובמודלים על סמך ערוץ ההפצה שהוגדר לפרויקט.

אלה ערוצי ההפצה שזמינים:

  • זמינות לכלל המשתמשים (GA). ערוץ ההפצה שמוגדר כברירת מחדל. מאפשר להשתמש במודלים ובתכונות שזמינים לכלל המשתמשים. חשוב לדעת שאפשר לגשת לתכונות מסוימות בגרסת טרום-השקה (Preview) בלי להצטרף לערוץ טרום-השקה, באמצעות מנגנונים חלופיים להרשמה לגרסת טרום-השקה. התכונות האלה יהיו נגישות בערוץ GA, אבל עדיין יהיו כפופות לתנאים של מוצרים בשלב טרום-GA.

  • השתמשו בתצוגה מקדימה. מאפשרת גישה לתכונות מסוימות בגרסת טרום-השקה (Preview) של Gemini Code Assist.

    כשאתם מפעילים את ערוץ ההפצה של גרסת בטא בפרויקט, אתם מסכימים בשם הלקוח שכל שימוש ב-Gemini Code Assist בפרויקט הזה כפוף לתנאי השימוש במוצרים בשלב טרום-GA, שמפורטים בתנאים הספציפיים של שירותיGoogle Cloud . אל תשתמשו בערוץ הזה לפרויקטים ולמשאבים שלא מתאימים לשימוש במוצרים בשלב טרום-GA.

בקטעים הבאים מוסבר איך להגדיר או לשנות את ערוץ ההפצה של Gemini Code Assist.

לפני שמתחילים

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות ליצירת הגדרות וקישורים ששולטים בערוץ ההפצה, בקשו מהאדמין להקצות לכם את התפקיד "אדמין הגדרות של Gemini for Google Cloud" (roles/cloudaicompanion.settingsAdmin) בפרויקט.

כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required Permissions:

ההרשאות הנדרשות

  • cloudaicompanion.releaseChannelSettings.create
  • cloudaicompanion.releaseChannelSettings.delete
  • cloudaicompanion.releaseChannelSettings.get
  • cloudaicompanion.releaseChannelSettings.list
  • cloudaicompanion.releaseChannelSettings.update
  • cloudaicompanion.dataSharingWithGoogleSettings.create
  • הגדרת ערוצי הפצה באמצעות API:
    • cloudaicompanion.settingBindings.releaseChannelSettingsCreate
    • cloudaicompanion.settingBindings.releaseChannelSettingsDelete
    • cloudaicompanion.settingBindings.releaseChannelSettingsGet
    • cloudaicompanion.settingBindings.releaseChannelSettingsList
    • cloudaicompanion.settingBindings.releaseChannelSettingsUpdate
    • cloudaicompanion.settingBindings.releaseChannelSettingsUse
  • כדי להגדיר שיתוף של הנחיות ותשובות באמצעות API:
    • cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsCreate
    • cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsUse
  • הצגת הגדרות האדמין של Gemini Code Assist:
    • cloudaicompanion.instances.queryEffectiveSetting
    • cloudaicompanion.instances.queryEffectiveSettingBindings

הגדרת ערוצי הפצה של Gemini Code Assist

בוחרים באחת מהאפשרויות הבאות:

המסוף

  1. נכנסים לדף Admin for Gemini במסוף Google Cloud .

    כניסה אל Admin for Gemini

  2. בתפריט הניווט, לוחצים על הגדרות.

  3. בקטע ערוצי הפצה של Gemini Code Assist בסביבות פיתוח משולבות (IDE) מקומיות, בוחרים את ערוץ ההפצה שהכי מתאים לצרכים שלכם:

    תצוגה מקדימה

    1. בוחרים באפשרות תצוגה מקדימה.
    2. בודקים את הפרטים של ערוץ ההפצה של גרסת בטא ואת התנאים של תוכנית לבודקים מהימנים (TTP), ואז לוחצים על שמירת השינויים.

    זמינות לכלל המשתמשים (GA)

    1. בוחרים באפשרות GA.
    2. לוחצים על שמירת השינויים.

API

  1. יוצרים את ההגדרה של ערוץ ההפצה וערך ספציפי להגדרה:

    1. משיגים אסימון אימות. כדי לקבל את המזהה, צריך לבצע אימות באמצעות אימות של ה-CLI של gcloud:

      TOKEN=$(gcloud auth print-access-token)
      
    2. יוצרים את ההגדרה. בהוראות האלה נעשה שימוש ב-cURL כדי להפעיל methods של API:

        curl -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{
            "release_channel": "RELEASE_CHANNEL",
          } ' -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/releaseChannelSettings?release_channel_setting_id=RC_SETTING_ID"
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫RELEASE_CHANNEL: ערוץ ההפצה, EXPERIMENTAL לגרסת טרום-השקה (Preview) או STABLE לגרסה שזמינה לכלל המשתמשים (GA).
      • ‫CONTAINER_PROJECT_NAME: מזהה הפרויקט שבו מאוחסן משאב הקישור. זהו פרויקט האב של הקישור.
      • ‫RC_SETTING_ID: שם ייחודי להגדרה, לדוגמה rc1 עבור Release Channel.

      בפלט מוצג הערך RELEASE_CHANNEL של releaseChannel:

      {
        "name": "projects/CONTAINER_PROJECT_NAME
      /locations/global/releaseChannelSettings/RC_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "releaseChannel": RELEASE_CHANNEL
      }
      
    3. יוצרים את הקישור של הגדרת ערוץ ההפצה:

        curl \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
            "target": "projects/TARGET_PROJECT_NAME",
            "product": "GEMINI_CODE_ASSIST"
          }' \
        -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/releaseChannelSettings/RC_SETTING_ID/settingBindings?setting_binding_id=RC_BINDING_ID"
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫TARGET_PROJECT_NAME: פרויקט היעד שאליו צריך לקשר את הקישור. בדרך כלל זהו אותו פרויקט כמו הפרויקט שמכיל את המשאב. עם זאת, אפשר לקשר הגדרה לכמה פרויקטים כדי שלא יהיה צורך לשכפל את משאב ההגדרה.
      • ‫CONTAINER_PROJECT_NAME: מזהה הפרויקט שבו מאוחסן משאב הקישור. זהו פרויקט ההורה של הקישור.
      • ‫RC_SETTING_ID: אותו RC_SETTING_ID שבו השתמשתם כשיצרתם את ההגדרה, אבל עם הסיומת b1. לדוגמה, משתמשים ב-rc1b1 בשביל Release Channel.
      • ‫RC_BINDING_ID: שם ייחודי לקישור ההגדרות, לדוגמה rc_binding.

      הפלט כולל את המטא-נתונים של הפעולה בפורמט הבא:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-RC_BINDING_OPERATION_ID",
        "metadata": {
          "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
          "createTime": "2025-01-23T15:27:50.076075570Z",
          "target": "projects/TARGET_PROJECT_NAME/locations/global/releaseChannelSettings/RC_SETTING_ID/settingBindings/RC_BINDING_ID",
          "verb": "create",
          "requestedCancellation": false,
          "apiVersion": "v1"
        },
        "done": false
      }
      
    4. אופציונלי: בדיקת הסטטוס של יצירת הקישור של הגדרת ערוץ ההפצה:

      curl -H "Authorization: Bearer $TOKEN" \
      https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-RC_BINDING_OPERATION_ID
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫CONTAINER_PROJECT_NAME: מזהה הפרויקט שבו מאוחסן משאב הקישור. זהו פרויקט ההורה של הקישור.
      • ‫RC_BINDING_OPERATION_ID: מזהה הפעולה ליצירת קישור של הגדרת ערוץ ההפצה שסופק בתגובה בשלב הקודם.
  2. אופציונלי: יוצרים את הגדרת שיתוף הפרומפט והתשובה ואת הערך הספציפי להגדרה:

    1. קבלת הטוקן:

      TOKEN=$(gcloud auth print-access-token)
      
    2. יוצרים את ההגדרה:

      curl -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{
          "enable_preview_data_sharing": true,
        } ' -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/dataSharingWithGoogleSettings?data_sharing_with_google_setting_id=DSWG_SETTING_ID"
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫CONTAINER_PROJECT_NAME: מזהה פרויקט האב
      • ‫DSWG_SETTING_ID: שם הגדרה ייחודי, לדוגמה dswg1 ל-Data Sharing with Google

      בפלט מוצג הערך true של enablePreviewDataSharing:

      {
        "name": "projects/CONTAINER_PROJECT_NAME
      /locations/global/dataSharingWithGoogleSettings/DSWG_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "enablePreviewDataSharing": true
      }
      
    3. יוצרים את הקישור של הגדרת הפרומפט והתשובה:

        curl \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
            "target": "projects/TARGET_PROJECT_NAME",
            "product": "GEMINI_CODE_ASSIST"
          }' \
        -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/dataSharingWithGoogleSettings/DSWG_SETTING_ID/settingBindings?setting_binding_id=DSWG_BINDING_ID"
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫TARGET_PROJECT_NAME: פרויקט היעד שאליו יחולו ההגדרות.
      • ‫CONTAINER_PROJECT_NAME: מזהה פרויקט האב.
      • ‫DSWG_SETTING_ID: אותו DSWG_SETTING_ID שבו השתמשתם כשיצרתם את ההגדרה, אבל עם התוספת b1. לדוגמה, משתמשים ב-dswg1b1 בשביל Data Sharing with Google.
      • ‫DSWG_BINDING_ID: שם ייחודי לקישור ההגדרות, לדוגמה dswg_binding.

      הפלט כולל את המטא-נתונים של הפעולה בפורמט הבא:

      {
      "name": "projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-DSWG_BINDING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
        "createTime": "2025-01-23T15:27:50.076075570Z",
        "target": "projects/TARGET_PROJECT_NAME/locations/global/dataSharingWithGoogleSettings/DSWG_SETTING_ID/settingBindings/DSWG_BINDING_ID",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
      }
      
    4. אופציונלי: בודקים את הסטטוס של יצירת הקישור של הגדרת ההנחיה והתשובה:

      curl -H "Authorization: Bearer $TOKEN" \
      https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-DSWG_BINDING_OPERATION_ID
      

      מחליפים את מה שכתוב בשדות הבאים:

      • ‫CONTAINER_PROJECT_NAME: מזהה הפרויקט שבו מאוחסן משאב הקישור. זהו פרויקט ההורה של הקישור.
      • ‫DSWG_BINDING_OPERATION_ID: המזהה של פעולת יצירת הקישור של ההגדרה של ההנחיה והתגובה שסופק בתגובה בשלב הקודם.

המאמרים הבאים