כלי: get_conversation
מקבל פרטים של השיחה שצוינה.
בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי get_conversation MCP.
| בקשת 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 |
השיחה היא מכלי של סוכן. כלי הסוכן מריץ את הסוכן בסשן נפרד, שנשמר למטרות בדיקה וניפוי באגים. |
סכימת הפלט
שיחה מייצגת אינטראקציה בין משתמש קצה לבין אפליקציית 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 |
זה שינוי אופציונלי. נתונים של מטען ייעודי בהתאמה אישית. |
image |
זה שינוי אופציונלי. נתוני תמונה. |
toolCall |
זה שינוי אופציונלי. בקשה להרצת כלי. |
toolResponse |
זה שינוי אופציונלי. תשובה להרצת הכלי. |
agentTransfer |
זה שינוי אופציונלי. אירוע של העברה לסוכן. |
updatedVariables |
מבנה הנתונים מייצג משתנים שעודכנו בשיחה, עם שמות המשתנים כמפתחות. |
defaultVariables |
מבנה נתונים מייצג משתני ברירת מחדל בתחילת השיחה, עם מפתחות לפי שמות המשתנים. |
Blob
| ייצוג ב-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 |
מייצג JSON |
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, // Union field |
| שדות | |
|---|---|
id |
זה שינוי אופציונלי. המזהה הייחודי של קריאת הכלי. אם השדה מאוכלס, הלקוח צריך להחזיר את תוצאת ההפעלה עם המזהה התואם בשדה |
displayName |
פלט בלבד. השם המוצג של הכלי. |
args |
זה שינוי אופציונלי. פרמטרי הקלט והערכים של הכלי בפורמט אובייקט JSON. |
parentToolCallId |
פלט בלבד. המזהה של קריאת הכלי שגרמה לקריאה הזו, אם היא הופקה על ידי סוכן משנה שפועל בשם קריאת הורה. השדה ריק עבור שיחות ברמה העליונה. מאפשר ללקוח לקבץ את העבודה של סוכן משנה תחת השיחה שהתחילה אותה, במקום להציג כל שלב כפריט באותה רמה. |
agentName |
פלט בלבד. השם של הסוכן שהנפיק את השיחה הזו, בפורמט שקריא לבני אדם, למשל Contract Architect. ריק אם הסוכן הראשי הנפיק אותו. |
שדה איחוד 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, // Union field |
| שדות | |
|---|---|
id |
זה שינוי אופציונלי. מזהה התשובה התואם של |
displayName |
פלט בלבד. השם המוצג של הכלי. |
response |
חובה. תוצאת ההפעלה של הכלי בפורמט אובייקט JSON. משתמשים במפתח 'output' כדי לציין את התגובה של הכלי ובמפתח 'error' כדי לציין את פרטי השגיאה (אם יש). אם לא מציינים את המפתחות output ו-error, כל התגובה נחשבת לתוצאת ההפעלה של הכלי. |
parentToolCallId |
פלט בלבד. המזהה של קריאת הכלי שגרמה לקריאה הזו, אם היא הופקה על ידי סוכן משנה שפועל בשם קריאת הורה. השדה ריק עבור שיחות ברמה העליונה. מאפשר ללקוח לקבץ את העבודה של סוכן משנה תחת השיחה שהתחילה אותה, במקום להציג כל שלב כפריט באותה רמה. |
agentName |
פלט בלבד. השם של הסוכן שהנפיק את השיחה הזו, בפורמט שקריא לבני אדם, למשל Contract Architect. ריק אם הסוכן הראשי הנפיק אותו. |
שדה איחוד 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 |
פלט בלבד. שם הטווח. |
startTime |
פלט בלבד. שעת ההתחלה של טווח הזמן. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
endTime |
פלט בלבד. שעת הסיום של טווח הזמן. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
duration |
פלט בלבד. משך הזמן של הטווח. משך זמן בשניות עם עד תשע ספרות אחרי הנקודה העשרונית, שמסתיים ב- |
attributes |
פלט בלבד. מאפייני מפתח/ערך שמשויכים לטווח. |
childSpans[] |
פלט בלבד. טווחים משניים שמוטמעים בטווח הזה. |
משך
| ייצוג ב-JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מספר השניות עם סימן של טווח הזמן. הערך חייב להיות בין -315,576,000,000 לבין +315,576,000,000, כולל. הערה: הגבולות האלה מחושבים לפי: 60 שניות בדקה * 60 דקות בשעה * 24 שעות ביממה * 365.25 ימים בשנה * 10,000 שנים |
nanos |
שברים חתומים של שנייה ברזולוציית ננו-שנייה של טווח הזמן. משכי זמן של פחות משנייה אחת מיוצגים באמצעות שדה |
NullValue
מייצג JSON null.
NullValue הוא ערך שמירה, שמשתמש בסוג enum עם ערך אחד בלבד כדי לייצג את ערך ה-null עבור איחוד הסוגים Value.
שדה מסוג NullValue עם ערך כלשהו שאינו 0 נחשב לא תקין. רוב הסריאליזטורים של ProtoJSON יפלטו Value עם null_value שמוגדר כ-JSON null בלי קשר לערך המספרי, ולכן יבצעו המרה הלוך ושוב לערך 0.
| טיפוסים בני מנייה (enum) | |
|---|---|
NULL_VALUE |
ערך null. |
ChannelType
סוג הערוץ של השיחה.
| טיפוסים בני מנייה (enum) | |
|---|---|
CHANNEL_TYPE_UNSPECIFIED |
סוג הערוץ לא צוין. |
TEXT |
השיחה מכילה רק הודעות טקסט בין משתמש הקצה לבין הסוכן. |
AUDIO |
השיחה מכילה הודעות אודיו בין משתמש הקצה לבין הסוכן. |
MULTIMODAL |
השיחה כוללת הודעות מולטי-מודאליות (למשל, תמונה) בין משתמש הקצה לבין הסוכן. |
מקור
המקור של השיחה.
| טיפוסים בני מנייה (enum) | |
|---|---|
SOURCE_UNSPECIFIED |
מקור לא מוגדר. |
LIVE |
השיחה היא ממשתמש הקצה הפעיל. |
SIMULATOR |
השיחה היא מהסימולטור. |
EVAL |
השיחה היא מההערכה. |
AGENT_TOOL |
השיחה היא מכלי של סוכן. כלי הסוכן מריץ את הסוכן בסשן נפרד, שנשמר למטרות בדיקה וניפוי באגים. |
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, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.
רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌