ניהול הנחיות

בדף הזה מוצגות קבוצה מאוחדת של יכולות להגדרת הנחיות, לשמירתן, לאחזורן ולניהולן ב Google Cloud פרויקט באמצעות מודול ניהול ההנחיות של Vertex AI SDK.

סקירה כללית

‫Vertex AI מציע כלים שיעזרו לכם לנהל תבניות של הנחיות ונתונים של הנחיות. אפשר ליצור גרסאות של תבניות הנחיות ולהשתמש בהן עם מודלים גנרטיביים ב-Vertex AI. אפשר להרכיב כל הנחיה ולשמור את הגרסה שלה ב-Vertex AI Studio או ב-Vertex AI SDK.

ניהול הנחיות ב-Vertex AI SDK כולל תמיכה מלאה ברמת הארגון, כולל תמיכה במפתחות הצפנה בניהול הלקוח (CMEK) וב-VPC Service Controls‏ (VPCSC).

יכולות לניהול הנחיות

כדי להשתמש ביכולות של AI גנרטיבי מ-Vertex AI SDK, צריך לבצע את הפעולות הבאות:

  1. מתקינים את הגרסה העדכנית של Vertex AI SDK.

    pip install --upgrade google-cloud-aiplatform
    
  2. יוצרים לקוח של AI גנרטיבי באמצעות דוגמת קוד Python הבאה:

        import vertexai
        from vertexai import types
    
        # Instantiate GenAI client from Vertex SDK
        # Replace with your project ID and location
        client = vertexai.Client(project='my-project', location='my-location')
    

אחרי שיוצרים לקוח של AI גנרטיבי, אפשר להשתמש בכל אחת מהיכולות הבאות לניהול הנחיות ב-Vertex AI SDK:

יצירת הנחיה מקומית

בקטע הזה מופיעה דוגמה להגדרת משתנה types.Prompt לשימוש בכל הדף.

המחלקה Prompt משמשת להגדרה, להרכבה ולשימוש בהנחיות. המאפיין prompt_data מוגדר עבור המחלקה Prompt וכולל את הערכים הבאים:

מאפיין

model

חובה: שם הדגם.

contents

חובה: תוכן השיחה עם המודל. יש תמיכה רק בהנחיות חד-פעמיות.

generation_config

אופציונלי: הגדרת יצירה

tool_config

אופציונלי: התצורה הזו משותפת לכל הכלים שצוינו בבקשה.

tools

אופציונלי: רשימה של Tools שהמודל עשוי להשתמש בהם כדי ליצור את התשובה הבאה. Tool הוא קטע קוד שמאפשר למערכת ליצור אינטראקציה עם מערכות חיצוניות כדי לבצע פעולה או סדרת פעולות, ללא ידיעת המודל או מחוץ לתחום הפעולה שלו.

safety_settings

אופציונלי: הגדרות הבקשה לחסימת תוכן לא בטוח, שנאכפות ב-GenerateContentResponse.candidates.

system_instruction

אופציונלי: הוראות המערכת שהמשתמש סיפק למודל.

variables

אופציונלי: אם ההנחיה מכילה משתנה תבנית, מציינים את הערכים שבהם רוצים להשתמש עבור המשתנה הזה. לדוגמה, אם תוכן הטקסט של ההנחיה הוא "שלום, {name}". רשימת המשתנים צריכה לכלול מילון של כל הערכים האפשריים של המשתנה {name}. דוגמה:

        "variables": [
            {"name": {"text": "Alice"}},
            {"name": {"text": "Bob"}},
        ],
        

בדוגמת הקוד הזו מוסבר איך להגדיר משתנה types.Prompt.

  import vertexai
  from vertexai import types
  from google.genai import types as genai_types

  prompt = types.Prompt(
      prompt_data=types.PromptData(
        contents=[genai_types.Content(parts=[genai_types.Part(text="Hello, {name}! How are you?")])],
        variables=[
          {"name": genai_types.Part(text="Alice")},
          {"name": genai_types.Part(text="Bob")},
        ],
        model="your-model",
      ),
  )

שמירת הנחיה בפרויקט Google Cloud

בקטע הזה מוצגים הפרמטרים ודוגמה לאופן שבו שומרים הנחיה ב Google Cloud פרויקט.

פרמטרים

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה create:

פרמטרים

prompt

הנתונים של הנחיה ספציפית.

config

אופציונלי: אובייקט types.CreatePromptConfig שמייצג את ההגדרה ליצירת הנחיה.

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה create_version:

פרמטרים

prompt

חובה: הנתונים של הנחיה ספציפית.

config

אופציונלי: אובייקט types.CreatePromptConfig שמייצג את ההגדרה ליצירת גרסת הנחיה.

השיטה create_version מחזירה Prompt.

דוגמה

כדי לשמור הנחיה ב Google Cloud פרויקט, משתמשים בשיטות client.prompts.create ו-client.prompts.create_version.

השיטה client.prompts.create יוצרת משאב של הנחיה בGoogle Cloud פרויקט. השיטה client.prompts.create_version יוצרת גרסת הנחיה במשאב הזה, ואפשר לגשת למשאב במסוףGoogle Cloud .

השיטה client.prompts.create מקבלת אובייקט Prompt כקלט ויוצרת הנחיה בפרויקט Google Cloud . בנוסף, צריך להעביר את prompt_id בשיטה client.prompts.create_version, שהוא המזהה של משאב ההנחיה שרוצים ליצור את הגרסה שלו. מוחזר אובייקט חדש Prompt שמשויך לפרויקט Google Cloud . כל העדכונים שבוצעו באובייקט Prompt הם מקומיים עד שמפעילים את create או create_version.

בדוגמת הקוד הבאה אפשר לראות איך שומרים הנחיה וגרסה של הנחיה:

  # Save `Prompt` to a Google Cloud project.
  # Returns a new `Prompt` object associated with the saved prompt resource.
  prompt_resource = client.prompts.create(prompt=prompt)
  prompt_version_resource = client.prompts.create_version(prompt=prompt, prompt_id=prompt_resource.prompt_id)

אחזור הנחיה שמורה

בקטע הזה מוצגים הפרמטרים ודוגמה לאופן קבלת הנחיה וגרסת הנחיה.

יש שתי שיטות: client.prompts.get ו-client.prompts.get_version.

פרמטרים

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה client.prompts.get:

פרמטרים

prompt_id

חובה: המזהה של ההנחיה לאחזור.

config

אופציונלי: אובייקט types.GetPromptConfig שמייצג את ההגדרה לקבלת הנחיה.

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה client.prompts.get_version:

פרמטרים

prompt_id

חובה: המזהה של ההנחיה לאחזור.

version_id

חובה: המזהה של גרסת ההנחיה שרוצים לאחזר.

config

אופציונלי: אובייקט types.GetPromptConfig שמייצג את ההגדרה לקבלת הנחיה.

השיטות get ו-get_version מחזירות Prompt.

דוגמאות

כדי לקבל (לטעון) הנחיה שנשמרה בפרויקט Google Cloud , משתמשים בשיטה client.prompts.get. השיטה הזו מקבלת את מזהה ההנחיה כקלט ומחזירה את אובייקט Prompt המתאים. בדוגמת הקוד הזו אפשר לראות איך לטעון הנחיה שמורה:

  # Get prompt
  retrieved_prompt = client.prompts.get(prompt_id=prompt_resource.prompt_id)

בדוגמת הקוד הבאה מוצג איך מקבלים גרסה של הנחיה.

  retrieved_prompt_version = client.prompts.get_version(prompt_id='your-prompt-id', version_id='your-prompt-version-id')

בדוגמת הקוד הבאה אפשר לראות איך משנים את ההנחיה כדי להתקשר אל generate_content ב-SDK של AI גנרטיבי.

  from google import genai
  from google.genai import types as genai_types

  genai_client = genai.Client(vertexai=True, project="my-project", location="my-location")

  response = genai_client.models.generate_content(
      model=retrieved_prompt.prompt_data.model,
      contents=retrieved_prompt.assemble_contents(),
  )

הצגת רשימת ההנחיות והגרסאות

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

יש שתי שיטות: client.prompts.list ו-client.prompts.list_versions.

פרמטרים

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה list:

פרמטרים

config

אופציונלי: אובייקט types.ListPromptsConfig שמייצג את ההגדרה של הנחיות לרישום.

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה list_versions:

פרמטרים

prompt_id

חובה: המזהה של ההנחיה שרוצים להציג את הגרסאות שלה.

config

אופציונלי: אובייקט types.ListPromptsConfig שמייצג את ההגדרה של רשימת גרסאות ההנחיות.

השיטות list ו-list_versions מחזירות Iterator של אובייקטים מסוג types.PromptRef. השדה PromptRef מכיל הפניה להנחיה.

דוגמה

כדי לראות את מזהה ההנחיה והמודל של כל ההנחיות שנשמרו ב Google Cloud פרויקט, משתמשים בשיטה list.

בדוגמת הקוד הבאה אפשר לראות איך מאחזרים PromptRef לכל ההנחיות השמורות בפרויקט הנוכחי:

  prompt_refs = list(client.prompts.list())

  # Get a prompt from the list
  prompt1 = client.prompts.get(prompt_id=prompt_refs[0].prompt_id)

בדוגמת הקוד הבאה אפשר לראות איך מציגים את מזהי ההנחיות והגרסאות של כל גרסאות ההנחיות שנשמרו בהנחיה:

  prompt_versions_metadata = client.prompts.list_versions(prompt_id="123456789")

  # Get a specific prompt version from the versions metadata list
  prompt1 = client.prompts.get_version(
      prompt_id=prompt_versions_metadata[0].prompt_id,
      version_id=prompt_versions_metadata[0].version_id
  )

מחיקת הנחיה

בקטע הזה מפורטים הפרמטרים ודוגמה לאופן המחיקה של הנחיה.

יש שתי שיטות: delete ו-delete_version.

פרמטרים

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה delete:

פרמטרים

prompt_id

המזהה של ההנחיה שרוצים למחוק.

config

אופציונלי: אובייקט types.DeletePromptConfig שמייצג את ההגדרה למחיקת הנחיה.

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה delete_version:

פרמטרים

prompt_id

המזהה של ההנחיה שממנה רוצים למחוק גרסה.

version_id

גרסת ההנחיה למחיקה.

config

אופציונלי: אובייקט types.DeletePromptConfig שמייצג את ההגדרה למחיקת גרסה של הנחיה.

דוגמאות

כדי למחוק הנחיה ואת כל הגרסאות שלה, משתמשים בשיטה delete.

  client.prompts.delete(prompt_id=retrieved_prompt.prompt_id)

כדי למחוק גרסה ספציפית ממשאב של הנחיה, משתמשים בשיטה delete_version.

  client.prompts.delete_version(prompt_id=retrieved_prompt.prompt_id, version_id='your-version-id')

שחזור גרסה של הנחיה

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

פרמטרים

בטבלה הזו מתוארים הפרמטרים שמשמשים בשיטה restore_version:

פרמטרים

prompt_id

המזהה של הנחיה ספציפית.

version_id

גרסת ההנחיה לשחזור.

config

ההגדרה לשחזור גרסה של הנחיה.

השיטה restore_version מחזירה אובייקט Prompt.

דוגמה

משאב של הנחיה מכיל גם היסטוריית גרסאות שבה נשמרות גרסאות קודמות של ההנחיה. אפשר להשתמש בשיטה restore_version() כדי לשחזר גרסה ישנה יותר כגרסה העדכנית של ההנחיה. הפעולה הזו מחזירה אובייקט Prompt.

  # Restore to prompt version id 1
  restored_prompt = client.prompts.restore_version(prompt_id=retrieved_prompt.prompt_id, version_id='1')

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