REST Resource: projects.locations.apps.agents

משאב: סוכן

סוכן פועל כאבן הבניין הבסיסית שמספקת הוראות למודל שפה גדול (LLM) לביצוע משימות ספציפיות.

ייצוג ב-JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "modelSettings": {
    object (ModelSettings)
  },
  "instruction": string,
  "tools": [
    string
  ],
  "childAgents": [
    string
  ],
  "beforeAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterAgentCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterModelCallbacks": [
    {
      object (Callback)
    }
  ],
  "beforeToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "afterToolCallbacks": [
    {
      object (Callback)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "guardrails": [
    string
  ],
  "etag": string,
  "toolsets": [
    {
      object (Agent.AgentToolset)
    }
  ],
  "generatedSummary": string,
  "transferRules": [
    {
      object (TransferRule)
    }
  ],
  "validationErrors": [
    string
  ],

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "llmAgent": {
    object (Agent.LlmAgent)
  },
  "remoteDialogflowAgent": {
    object (Agent.RemoteDialogflowAgent)
  },
  "remoteA2aAgent": {
    object (Agent.RemoteA2aAgent)
  }
  // End of mutually exclusive fields.
}
שדות
name

string

מזהה. המזהה הייחודי של הסוכן. פורמט: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

displayName

string

חובה. השם המוצג של הנציג.

description

string

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

modelSettings

object (ModelSettings)

זה שינוי אופציונלי. הגדרות למודל ה-LLM.

instruction

string

זה שינוי אופציונלי. הוראות למודל שפה גדול (LLM) שמנחות את התנהגות הסוכן.

tools[]

string

זה שינוי אופציונלי. רשימת הכלים הזמינים לסוכן. פורמט: projects/{project}/locations/{location}/apps/{app}/tools/{tool}

childAgents[]

string

זה שינוי אופציונלי. רשימה של סוכני ילדים בעץ הסוכנים. פורמט: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

beforeAgentCallbacks[]

object (Callback)

זה שינוי אופציונלי. פונקציות ה-callback שיופעלו לפני שהסוכן יקבל שיחה. הקריאות החוזרות שצוינו מופעלות ברצף, בדיוק לפי הסדר שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע נפסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות.

afterAgentCallbacks[]

object (Callback)

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

beforeModelCallbacks[]

object (Callback)

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

afterModelCallbacks[]

object (Callback)

זה שינוי אופציונלי. פונקציות ה-callback שיבוצעו אחרי הפעלת המודל. אם יש כמה קריאות למודל, הקריאה החוזרת תופעל כמה פעמים. הקריאות החוזרות שצוינו מופעלות ברצף, בדיוק לפי הסדר שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע נפסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות.

beforeToolCallbacks[]

object (Callback)

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

afterToolCallbacks[]

object (Callback)

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

createTime

string (Timestamp format)

פלט בלבד. חותמת זמן של מועד יצירת הסוכן.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

פלט בלבד. חותמת זמן של מועד העדכון האחרון של הסוכן.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

guardrails[]

string

זה שינוי אופציונלי. רשימת אמצעי הבקרה של הסוכן. פורמט: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

etag

string

תג Etag שמשמש כדי לוודא שהאובייקט לא השתנה במהלך פעולת קריאה-שינוי-כתיבה. אם ה-etag ריק, העדכון יחליף את כל השינויים המקבילים.

toolsets[]

object (Agent.AgentToolset)

זה שינוי אופציונלי. רשימה של ערכות כלים לסוכן.

generatedSummary

string

פלט בלבד. אם הסוכן נוצר על ידי עוזר ה-LLM, השדה הזה מכיל סיכום תיאורי של הדור.

transferRules[]

object (TransferRule)

זה שינוי אופציונלי. כללי העברה של סוכנים. אם כמה כללים תואמים, המערכת תשתמש בכלל הראשון ברשימה.

validationErrors[]

string

פלט בלבד. שגיאות או הגדרות שגויות בסוכן שעלולות להשפיע על איכות הסוכן.

סוג הסוכן. הרשימה הבאה כוללת שדות שאי אפשר להשתמש בהם בו-זמנית. בכל תשובה יוגדר לכל היותר אחד מהשדות:
llmAgent

object (Agent.LlmAgent)

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

remoteDialogflowAgent

object (Agent.RemoteDialogflowAgent)

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

הערה: אם סוכן Dialogflow נמצא בפרויקט אחר מהאפליקציה, צריך להעניק את ההרשאה roles/dialogflow.client לסוכן שירות ה-CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

remoteA2aAgent

object (Agent.RemoteA2aAgent)

זה שינוי אופציונלי. סוכן A2A מרוחק שבו יש להשתמש להרצת הסוכן.

סוף השדות הבלעדיים.

Agent.LlmAgent

בסוג הזה אין שדות.

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

Agent.RemoteDialogflowAgent

הסוכן שיעביר את הביצוע לסוכן מרוחק של Dialogflow CX. סוכן Dialogflow יעבד את השאילתות הבאות של המשתמש עד שהסשן או התהליך יסתיימו, והשליטה תועבר חזרה לסוכן ה-CES הראשי.

ייצוג ב-JSON
{
  "agent": string,
  "flowId": string,
  "environmentId": string,
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "respectResponseInterruptionSettings": boolean,
  "languageCodeVariable": string
}
שדות
agent

string

חובה. שם משאב הסוכן ב-Dialogflow. פורמט: projects/{project}/locations/{location}/agents/{agent}

flowId

string

זה שינוי אופציונלי. מזהה ה-Flow של ה-Flow בסוכן Dialogflow.

environmentId

string

זה שינוי אופציונלי. מזהה הסביבה של נציג Dialogflow שישמש להרצת הנציג. אם לא מציינים סביבה, המערכת משתמשת בסביבת הטיוטה.

inputVariableMapping

map (key: string, value: string)

זה שינוי אופציונלי. מיפוי של שמות משתני האפליקציה לשמות פרמטרים של סשן Dialogflow שיישלחו לסוכן Dialogflow כקלט.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

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

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

respectResponseInterruptionSettings

boolean

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

  • אם הערך הוא false: כל הודעות התגובה מהנציג ב-Dialogflow פועלות לפי הגדרות ההתפרצות ברמת האפליקציה.
  • אם הערך הוא true: אפשר יהיה לקטוע רק הודעות תגובה עם allow_playback_interruption שמוגדר כ-true. כל ההודעות האחרות יפעלו לפי הגדרות ההשתלטות ברמת האפליקציה.
languageCodeVariable

string

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

Agent.RemoteA2aAgent

הסוכן שיעביר את ההרצה לסוכן מרוחק של A2A.

ייצוג ב-JSON
{
  "a2aConfig": {
    object (RemoteA2aConfig)
  }
}
שדות
a2aConfig

object (RemoteA2aConfig)

חובה. הגדרת החיבור של A2A.

RemoteA2aConfig

הגדרה משותפת לחיבור לסוכן A2A מרוחק.

ייצוג ב-JSON
{
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "inputVariableMapping": {
    string: string,
    ...
  },
  "outputVariableMapping": {
    string: string,
    ...
  },
  "streamingEnabled": boolean,
  "contextId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "agentCard": {
    object (AgentCard)
  },
  "agentRegistry": string
  // End of mutually exclusive fields.
}
שדות
apiAuthentication

object (ApiAuthentication)

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

inputVariableMapping

map (key: string, value: string)

זה שינוי אופציונלי. מיפוי של שמות משתני הקלט של סוכן מרוחק לשמות משתנים של GECX.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

outputVariableMapping

map (key: string, value: string)

זה שינוי אופציונלי. מיפוי של שמות משתני הפלט של הסוכן המרוחק לשמות משתנים של GECX.

אובייקט שמכיל רשימה של "key": value זוגות. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

streamingEnabled

boolean

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

contextId

string

זה שינוי אופציונלי. אם השדה לא ריק, האינטראקציות עם סוכן A2A מרוחק ישתמשו במזהה ההקשר הזה. השדה contextId יכול להתייחס למשתנה של סשן כמו $context.variables.order_agent_session_id.

מפרט של הסוכן המרוחק. הרשימה הבאה כוללת שדות שאי אפשר להשתמש בהם בו-זמנית. בכל תשובה יוגדר לכל היותר אחד מהשדות:
agentCard

object (AgentCard)

זה שינוי אופציונלי. כרטיס הסוכן המלא מוגדר בשורה.

agentRegistry

string

זה שינוי אופציונלי. הפניה לסוכן ב-Agent Registry. פורמט: projects/{project}/locations/{location}/agents/{agent}

סוף השדות הבלעדיים.

Agent.AgentToolset

ערכת כלים עם מבחר מהכלים שלה.

ייצוג ב-JSON
{
  "toolset": string,
  "toolIds": [
    string
  ]
}
שדות
toolset

string

חובה. שם המשאב של ערכת הכלים. פורמט: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

toolIds[]

string

זה שינוי אופציונלי. מזהי הכלים שמשמשים לסינון ערכת הכלים.

TransferRule

כלל להעברה לסוכן ספציפי.

ייצוג ב-JSON
{
  "childAgent": string,
  "direction": enum (TransferRule.Direction),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "deterministicTransfer": {
    object (TransferRule.DeterministicTransfer)
  },
  "disablePlannerTransfer": {
    object (TransferRule.DisablePlannerTransfer)
  }
  // End of mutually exclusive fields.
}
שדות
childAgent

string

חובה. שם המשאב של הסוכן הצאצא שהכלל חל עליו. פורמט: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

direction

enum (TransferRule.Direction)

חובה. כיוון ההעברה.

סוג הכלל. הרשימה הבאה כוללת שדות שאי אפשר להשתמש בהם בו-זמנית. בכל תשובה יוגדר לכל היותר אחד מהשדות:
deterministicTransfer

object (TransferRule.DeterministicTransfer)

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

disablePlannerTransfer

object (TransferRule.DisablePlannerTransfer)

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

סוף השדות הבלעדיים.

TransferRule.DeterministicTransfer

כלל העברה דטרמיניסטי. אם התנאי מתקיים, מתבצעת ההעברה.

ייצוג ב-JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "expressionCondition": {
    object (ExpressionCondition)
  },
  "pythonCodeCondition": {
    object (PythonCodeCondition)
  }
  // End of mutually exclusive fields.
}
שדות
התנאי להערכה. הרשימה הבאה כוללת שדות שאי אפשר להשתמש בהם בו-זמנית. בכל תשובה יוגדר לכל היותר אחד מהשדות:
expressionCondition

object (ExpressionCondition)

זה שינוי אופציונלי. כלל שמעריך תנאי של מצב סשן. אם התנאי מקבל את הערך True, ההעברה מתבצעת.

pythonCodeCondition

object (PythonCodeCondition)

זה שינוי אופציונלי. כלל שמשתמש בבלוק קוד של Python כדי להעריך את התנאים. אם התנאי מקבל את הערך True, ההעברה מתבצעת.

סוף השדות הבלעדיים.

ExpressionCondition

תנאי ביטוי שמבוסס על מצב הסשן.

ייצוג ב-JSON
{
  "expression": string
}
שדות
expression

string

חובה. ייצוג המחרוזת של התנאי cloud.api.Expression.

PythonCodeCondition

בלוק קוד של Python להערכת התנאי.

ייצוג ב-JSON
{
  "pythonCode": string
}
שדות
pythonCode

string

חובה. קוד Python להרצה.

TransferRule.DisablePlannerTransfer

כלל שמונע את ההעברה של המתכנן לסוכן היעד.

ייצוג ב-JSON
{
  "expressionCondition": {
    object (ExpressionCondition)
  }
}
שדות
expressionCondition

object (ExpressionCondition)

חובה. אם התנאי מקבל את הערך true, אי אפשר יהיה להעביר את המתכנן לסוכן היעד.

TransferRule.Direction

כיוון ההעברה.

טיפוסים בני מנייה (enum)
DIRECTION_UNSPECIFIED כיוון לא מוגדר.
PARENT_TO_CHILD העברה מסוכן ראשי לסוכן הבן.
CHILD_TO_PARENT העברה מסוכן הילד לסוכן הראשי.

Methods

create

יוצרת סוכן חדש באפליקציה הנתונה.

delete

מחיקת הסוכן שצוין.

get

הפעולה הזו מחזירה את הפרטים של הסוכן שצוין.

list

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

patch

מעדכן את הסוכן שצוין.