כלי: get_conversation
הצגת פרטים של השיחה שצוינה.
בדוגמת הקוד הבאה מוסבר איך להשתמש ב-curl כדי להפעיל את כלי ה-MCP get_conversation.
| בקשת Curl |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_conversation", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
הודעת בקשה עבור AgentService.GetConversation.
GetConversationRequest
| ייצוג ב-JSON |
|---|
{
"name": string,
"source": enum ( |
| שדות | |
|---|---|
name |
חובה. שם המשאב של השיחה שרוצים לאחזר. |
source |
זה שינוי אופציונלי. מציינים את מקור השיחה. אם לא מגדירים את המדיניות, החיפוש יתבצע בכל המקורות. |
מקור
מקור השיחה.
| טיפוסים בני מנייה (enum) | |
|---|---|
SOURCE_UNSPECIFIED |
מקור לא מוגדר. |
LIVE |
השיחה היא ממשתמש קצה פעיל. |
SIMULATOR |
השיחה היא מהסימולטור. |
EVAL |
השיחה היא מההערכה. |
AGENT_TOOL |
השיחה היא מכלי של סוכן. הכלי Agent מריץ את הנציג בסשן נפרד, שנשמר למטרות בדיקה וניפוי באגים. |
סכימת הפלט
שיחה מייצגת אינטראקציה בין משתמש קצה לבין אפליקציית CES.
שיחה
| ייצוג ב-JSON |
|---|
{ "name": string, "startTime": string, "endTime": string, "turns": [ { object ( |
| שדות | |
|---|---|
name |
מזהה. המזהה הייחודי של השיחה. פורמט: |
startTime |
פלט בלבד. חותמת הזמן של מועד יצירת השיחה. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
endTime |
פלט בלבד. חותמת זמן של מועד סיום השיחה. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
turns[] |
חובה. התורות בשיחה. |
turnCount |
פלט בלבד. מספר התורות בשיחה. |
channelType |
הוצא משימוש. במקומה, השתמש במדיניות |
source |
פלט בלבד. מציינים את מקור השיחה. |
inputTypes[] |
פלט בלבד. סוגי הקלט של השיחה. |
entryAgent |
פלט בלבד. הסוכן שמטפל בשיחה בהתחלה. אם לא מציינים נציג, השיחה מטופלת על ידי הנציג הראשי. פורמט: |
deployment |
פלט בלבד. הפריסה של האפליקציה שמשמשת לעיבוד השיחה. פורמט: |
appVersion |
פלט בלבד. גרסת האפליקציה שמשמשת לעיבוד השיחה. פורמט: |
languageCode |
פלט בלבד. קוד השפה של השיחה. |
messages[] |
הוצאה משימוש, במקום זאת, אפשר להשתמש בתורות. |
חותמת הזמן
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג שניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (טווח שמתאים ל-0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שברים לא שליליים של שנייה ברזולוציה של ננו-שנייה. השדה הזה הוא החלק של הננו-שניות במשך הזמן, ולא חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שנספרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
פנייה
| ייצוג ב-JSON |
|---|
{ "messages": [ { object ( |
| שדות | |
|---|---|
messages[] |
זה שינוי אופציונלי. רשימת ההודעות בשלב השיחה, כולל הקלט של המשתמשים, התשובות של הסוכן ואירועי ביניים במהלך העיבוד. |
rootSpan |
זה שינוי אופציונלי. היחידה הלוגית הבסיסית למעקב של עיבוד הפעולה. |
userIntendedText |
זה שינוי אופציונלי. הטקסט המקורי של המתקשר המדומה (Polysynth). השדה הזה מאוכלס רק כשמדדי שיעור השגיאות במילים מופעלים. |
הודעה
| ייצוג ב-JSON |
|---|
{
"role": string,
"chunks": [
{
object ( |
| שדות | |
|---|---|
role |
זה שינוי אופציונלי. התפקיד בשיחה, למשל: משתמש, נציג. |
chunks[] |
זה שינוי אופציונלי. תוכן ההודעה כסדרה של קטעים. |
eventTime |
זה שינוי אופציונלי. חותמת הזמן של שליחת או קבלת ההודעה. אין להשתמש אם ההודעה היא חלק מ- הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
מקטע
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה של איחוד data. נתוני המקטע. הערך data יכול להיות רק אחד מהבאים: |
|
text |
זה שינוי אופציונלי. נתוני טקסט. |
transcript |
זה שינוי אופציונלי. תמליל שמשויך לאודיו. |
blob |
זה שינוי אופציונלי. נתוני Blob. |
payload |
זה שינוי אופציונלי. נתוני מטען ייעודי (payload) בהתאמה אישית. |
image |
זה שינוי אופציונלי. נתוני התמונה. |
toolCall |
זה שינוי אופציונלי. בקשה להפעלת כלי. |
toolResponse |
זה שינוי אופציונלי. תגובה להרצת הכלי. |
agentTransfer |
זה שינוי אופציונלי. אירוע העברה של סוכן. |
updatedVariables |
מבנה שמייצג משתנים שעודכנו בשיחה, עם מפתחות לפי שמות המשתנים. |
defaultVariables |
מבנה שמייצג משתני ברירת מחדל בתחילת השיחה, עם מפתחות לפי שמות המשתנים. |
כתם
| ייצוג ב-JSON |
|---|
{ "mimeType": string, "data": string } |
| שדות | |
|---|---|
mimeType |
חובה. סוג ה-MIME של נתוני המקור לפי תקן IANA. |
data |
חובה. בייטים גולמיים של ה-blob. מחרוזת בקידוד Base64. |
Struct
| ייצוג ב-JSON |
|---|
{ "fields": { string: value, ... } } |
| שדות | |
|---|---|
fields |
מפה לא מסודרת של ערכים שהוקלדו באופן דינמי. אובייקט שמכיל רשימה של צמדי |
FieldsEntry
| ייצוג ב-JSON |
|---|
{ "key": string, "value": value } |
| שדות | |
|---|---|
key |
|
value |
|
ערך
| ייצוג ב-JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה של איחוד kind. סוג הערך. הערך kind יכול להיות רק אחד מהבאים: |
|
nullValue |
מייצג |
numberValue |
מייצג מספר ב-JSON. אסור להשתמש בערכים |
stringValue |
מייצג מחרוזת JSON. |
boolValue |
מייצג ערך בוליאני של JSON (ליטרל |
structValue |
מייצג אובייקט JSON. |
listValue |
מייצג מערך JSON. |
ListValue
| ייצוג ב-JSON |
|---|
{ "values": [ value ] } |
| שדות | |
|---|---|
values[] |
שדה חוזר של ערכים שהוקלדו באופן דינמי. |
תמונה
| ייצוג ב-JSON |
|---|
{ "mimeType": string, "data": string, "altText": string } |
| שדות | |
|---|---|
mimeType |
חובה. סוג ה-MIME של נתוני המקור לפי תקן IANA. סוגי התמונות הנתמכים כוללים: * image/png * image/jpeg * image/webp |
data |
חובה. בייטים גולמיים של התמונה. מחרוזת בקידוד Base64. |
altText |
זה שינוי אופציונלי. הטקסט החלופי של התמונה. |
ToolCall
| ייצוג ב-JSON |
|---|
{ "id": string, "displayName": string, "args": { object }, "parentToolCallId": string, "agentName": string, "targetApp": string, // Union field |
| שדות | |
|---|---|
id |
זה שינוי אופציונלי. המזהה הייחודי של קריאת ה-API לכלי. אם השדה מאוכלס, הלקוח צריך להחזיר את תוצאת ההפעלה עם המזהה התואם ב- |
displayName |
פלט בלבד. השם המוצג של הכלי. |
args |
זה שינוי אופציונלי. הפרמטרים והערכים של הקלט לכלי בפורמט של אובייקט JSON. |
parentToolCallId |
פלט בלבד. המזהה של קריאת ה-API לכלי שגרמה לקריאה הזו, כשהיא הונפקה על ידי סוכן משנה שפועל בשם קריאה ראשית. ריק לקריאות ברמה העליונה. מאפשר ללקוח לקבץ את העבודה של סוכן משנה תחת הקריאה שהתחילה אותה, במקום להציג כל שלב כרכיב אחים. |
agentName |
פלט בלבד. השם של הנציג שביצע את השיחה, בפורמט שקריא לבני אדם, למשל "אדריכל קבלן". השדה ריק כשהסוכן ברמה הבסיסית (root) הנפיק אותו. |
targetApp |
פלט בלבד. האפליקציה שאליה השיחה הזו מיועדת, נגזרת על ידי Assistant מהארגומנטים של המשאבים של השיחה: שם משאב של אפליקציה, |
שדה של איחוד tool_identifier. המזהה של הכלי שצריך להפעיל. הוא יכול להיות כלי קבוע או כלי מתוך ערכת כלים. הערך tool_identifier יכול להיות רק אחד מהבאים: |
|
tool |
זה שינוי אופציונלי. שם הכלי שרוצים להפעיל. פורמט: |
toolsetTool |
זה שינוי אופציונלי. הכלי להרצה מתוך ערכת הכלים. |
ToolsetTool
| ייצוג ב-JSON |
|---|
{ "toolset": string, "toolId": string } |
| שדות | |
|---|---|
toolset |
חובה. שם המשאב של ערכת הכלים שממנה נגזר הכלי הזה. פורמט: |
toolId |
זה שינוי אופציונלי. מזהה הכלי שלפיו מסננים את הכלים כדי לאחזר את הסכימה שלהם. |
ToolResponse
| ייצוג ב-JSON |
|---|
{ "id": string, "displayName": string, "response": { object }, "parentToolCallId": string, "agentName": string, "targetApp": string, // Union field |
| שדות | |
|---|---|
id |
זה שינוי אופציונלי. המזהה התואם של |
displayName |
פלט בלבד. השם המוצג של הכלי. |
response |
חובה. תוצאת ההפעלה של הכלי בפורמט של אובייקט JSON. צריך להשתמש במפתח output כדי לציין את התגובה של הכלי, ובמפתח error כדי לציין את פרטי השגיאה (אם יש). אם המפתחות "output" ו-"error" לא צוינו, כל ה-"response" נחשב לתוצאת ההפעלה של הכלי. |
parentToolCallId |
פלט בלבד. המזהה של קריאת ה-API לכלי שגרמה לקריאה הזו, כשהיא הונפקה על ידי סוכן משנה שפועל בשם קריאה ראשית. ריק לקריאות ברמה העליונה. מאפשר ללקוח לקבץ את העבודה של סוכן משנה תחת הקריאה שהתחילה אותה, במקום להציג כל שלב כרכיב אחים. |
agentName |
פלט בלבד. השם של הנציג שביצע את השיחה, בפורמט שקריא לבני אדם, למשל "אדריכל קבלן". השדה ריק כשהסוכן ברמה הבסיסית (root) הנפיק אותו. |
targetApp |
פלט בלבד. האפליקציה שהכלי שהופעל טירגט; משקפת את |
שדה של איחוד tool_identifier. המזהה של הכלי שהופעל. הוא יכול להיות כלי קבוע או כלי מתוך ערכת כלים. הערך tool_identifier יכול להיות רק אחד מהבאים: |
|
tool |
זה שינוי אופציונלי. שם הכלי שרוצים להפעיל. פורמט: |
toolsetTool |
זה שינוי אופציונלי. הכלי שהופעל מתוך ערכת הכלים. |
AgentTransfer
| ייצוג ב-JSON |
|---|
{ "targetAgent": string, "displayName": string } |
| שדות | |
|---|---|
targetAgent |
חובה. הנציג שאליו מועברת השיחה. הנציג יטפל בשיחה מכאן והלאה. פורמט: |
displayName |
פלט בלבד. השם המוצג של הנציג. |
Span
| ייצוג ב-JSON |
|---|
{
"name": string,
"startTime": string,
"endTime": string,
"duration": string,
"attributes": {
object
},
"childSpans": [
{
object ( |
| שדות | |
|---|---|
name |
פלט בלבד. שם ה-span. |
startTime |
פלט בלבד. שעת ההתחלה של הטווח. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
endTime |
פלט בלבד. שעת הסיום של הטווח. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: |
duration |
פלט בלבד. משך הזמן של הטווח. משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב- |
attributes |
פלט בלבד. מאפייני מפתח/ערך שמשויכים ל-span. |
childSpans[] |
פלט בלבד. ה-spans המשניים שמוטמעים ב-span הזה. |
משך
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
שניות חתומות של משך הזמן. הערך חייב להיות בין -315,576,000,000 ל-+315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות/דקה * 60 דקות/שעה * 24 שעות/יום * 365.25 ימים/שנה * 10,000 שנים |
nanos |
שברים חתומים של שנייה ברזולוציה של ננו-שנייה של משך הזמן. משכי זמן של פחות משנייה מיוצגים על ידי שדה |
NullValue
מייצג null ב-JSON.
NullValue הוא sentinel, שמשתמש ב-enum עם ערך אחד בלבד כדי לייצג את הערך null לאיחוד מסוג Value.
שדה מסוג NullValue עם ערך שונה מ-0 נחשב לא תקין. רוב ה-serializers של ProtoJSON יפיקו Value עם null_value שמוגדר כ-null של JSON, בלי קשר לערך של המספר השלם, ולכן יבצעו סבב מלא לערך 0.
| טיפוסים בני מנייה (enum) | |
|---|---|
NULL_VALUE |
ערך Null. |
ChannelType
סוג הערוץ של השיחה.
| טיפוסים בני מנייה (enum) | |
|---|---|
CHANNEL_TYPE_UNSPECIFIED |
סוג הערוץ לא צוין. |
TEXT |
השיחה מכילה רק הודעות SMS בין משתמש הקצה לבין הנציג. |
AUDIO |
השיחה מכילה הודעות קוליות בין משתמש הקצה לנציג. |
MULTIMODAL |
ההודעות המולטי-מודאליות (למשל, תמונה) בשיחה בין משתמש הקצה לבין הנציג. |
מקור
מקור השיחה.
| טיפוסים בני מנייה (enum) | |
|---|---|
SOURCE_UNSPECIFIED |
מקור לא מוגדר. |
LIVE |
השיחה היא ממשתמש קצה פעיל. |
SIMULATOR |
השיחה היא מהסימולטור. |
EVAL |
השיחה היא מההערכה. |
AGENT_TOOL |
השיחה היא מכלי של סוכן. הכלי Agent מריץ את הנציג בסשן נפרד, שנשמר למטרות בדיקה וניפוי באגים. |
InputType
סוג הודעת הקלט.
| טיפוסים בני מנייה (enum) | |
|---|---|
INPUT_TYPE_UNSPECIFIED |
סוג הקלט לא צוין. |
INPUT_TYPE_TEXT |
קלט טקסט. |
INPUT_TYPE_EVENT |
קלט של אירוע. |
INPUT_TYPE_AUDIO |
קלט אודיו. |
INPUT_TYPE_IMAGE |
קלט תמונה. |
INPUT_TYPE_BLOB |
קלט של Blob. |
INPUT_TYPE_TOOL_RESPONSE |
קלט של תשובה מכלי פונקציה של הלקוח. |
INPUT_TYPE_VARIABLES |
קלט של משתנים. |
הערות לגבי הכלים
הערות לגבי כלים נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי מסוים. רוב הלקוחות מתייחסים לרמזים האלה כלא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש בקשה לאישור.
בנוסף למחרוזת הכותרת, הרמזים הבוליאניים הבאים מוגדרים כך:
-
readOnlyHint: אם הערך הוא True, הכלי לא משנה את הסביבה שלו. ברירת המחדל: false. -
destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא False, הכלי יכול לבצע רק פעולות הוספה. ברירת המחדל: true. -
idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת המחדל: false. -
openWorldHint: אם הערך הוא True, הכלי יכול לקיים אינטראקציה עם "עולם פתוח" של ישויות חיצוניות. אם הערך הוא false, הכלי יכול לקיים אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי חיפוש באינטרנט הוא כלי בעולם פתוח, אבל כלי זיכרון הוא לא כלי בעולם פתוח.
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌