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

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

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

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

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

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

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

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

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

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

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

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

  • 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 ל-Google Cloud:
    • cloudaicompanion.instances.queryEffectiveSetting
    • cloudaicompanion.instances.queryEffectiveSettingBindings

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

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

המסוף

  1. במסוף API, עוברים לדף Admin for Gemini.

    כניסה לדף Gemini for Google Cloud

    הדף Gemini for Google Cloud נטען.

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

    הדף הגדרות נטען.

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

    תצוגה מקדימה

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

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

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

API

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

    1. קבלת טוקן אימות. כדי לקבל את האסימון, צריך לבצע אימות באמצעות אימות 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 לתצוגה מקדימה או STABLE לזמינות כללית.
      • CONTAINER_PROJECT_NAME: מזהה הפרויקט שבו מאוחסן משאב הקישור. זהו פרויקט האב של הקישור.
      • RC_SETTING_ID: שם ייחודי של הגדרה, לדוגמה rc1 עבור Release Channel.

      הפלט יראה את הערך של releaseChannel כ-RELEASE_CHANNEL:

      {
        "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

      הפלט יראה את הערך של enablePreviewDataSharing כ-true:

      {
        "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: המזהה של פעולת יצירת הקישור של הגדרת ההודעה והתגובה שסופק בתגובה בשלב הקודם.