MCP Tools Reference: ces.googleapis.com

Alat: create_guardrail

Membuat pembatas baru di aplikasi yang diberikan.

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_guardrail.

Permintaan 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": "create_guardrail",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Skema Input

Pesan permintaan untuk AgentService.CreateGuardrail.

CreateGuardrailRequest

Representasi JSON
{
  "parent": string,
  "guardrailId": string,
  "guardrail": {
    object (Guardrail)
  }
}
Kolom
parent

string

Wajib. Nama resource aplikasi tempat membuat pembatasan.

guardrailId

string

Opsional. ID yang akan digunakan untuk pembatas, yang akan menjadi komponen akhir dari nama resource pembatas. Jika tidak diberikan, ID unik akan otomatis ditetapkan untuk pembatas.

guardrail

object (Guardrail)

Wajib. Batasan yang akan dibuat.

Pagar pengaman

Representasi JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Kolom
name

string

ID. ID unik pembatas. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Wajib. Nama tampilan pembatas.

description

string

Opsional. Deskripsi pembatasan.

enabled

boolean

Opsional. Apakah pembatasan diaktifkan atau tidak.

action

object (TriggerAction)

Opsional. Tindakan yang harus diambil saat batasan pengaman dipicu.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat pembatasan dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat batas keamanan terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak.

Kolom union guardrail_type. Jenis pembatasan. guardrail_type hanya ada berupa salah satu diantara berikut:
contentFilter

object (ContentFilter)

Opsional. Pembatasan yang melarang penggunaan konten tertentu dalam percakapan.

llmPromptSecurity

object (LlmPromptSecurity)

Opsional. Pembatas yang memblokir percakapan jika perintah dianggap tidak aman berdasarkan klasifikasi LLM.

llmPolicy

object (LlmPolicy)

Opsional. Penjaga yang memblokir percakapan jika respons LLM dianggap melanggar kebijakan berdasarkan klasifikasi LLM.

modelSafety

object (ModelSafety)

Opsional. Membatasi percakapan jika respons LLM dianggap tidak aman berdasarkan setelan keamanan model.

codeCallback

object (CodeCallback)

Opsional. Pembatas yang berpotensi memblokir percakapan berdasarkan hasil eksekusi callback.

supervisor

object (Supervisor)

Opsional. Pedoman keamanan yang menjalankan intervensi supervisor.

ContentFilter

Representasi JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
Kolom
bannedContents[]

string

Opsional. Daftar frasa yang dilarang. Berlaku untuk input pengguna dan respons agen.

bannedContentsInUserInput[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk input pengguna.

bannedContentsInAgentResponse[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk respons agen.

matchType

enum (MatchType)

Wajib. Jenis pencocokan untuk filter konten.

disregardDiacritics

boolean

Opsional. Jika benar (true), diakritik akan diabaikan selama pencocokan.

LlmPromptSecurity

Representasi JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Kolom
failOpen

boolean

Opsional. Menentukan perilaku saat batasan pengaman mengalami error LLM. - Jika benar (true): batas aman dilewati. - Jika salah (default): pembatasan akan dipicu/diblokir.

Catatan: Jika kebijakan kustom diberikan, kolom ini akan diabaikan dan digantikan oleh konfigurasi 'fail_open' kebijakan.

Kolom union security_config. Menentukan mode konfigurasi keamanan. Pengguna harus memilih salah satu konfigurasi berikut. security_config hanya ada berupa salah satu diantara berikut:
defaultSettings

object (DefaultSecuritySettings)

Opsional. Menggunakan setelan keamanan default bawaan sistem. Untuk memilih mode ini, sertakan pesan 'default_settings' kosong dalam permintaan. Kolom 'default_prompt_template' di dalamnya akan diisi oleh server dalam respons.

customPolicy

object (LlmPolicy)

Opsional. Gunakan LlmPolicy yang ditentukan pengguna untuk mengonfigurasi pembatasan keamanan.

DefaultSecuritySettings

Representasi JSON
{
  "defaultPromptTemplate": string
}
Kolom
defaultPromptTemplate

string

Hanya output. Template perintah default yang digunakan oleh sistem. Kolom ini digunakan untuk tujuan tampilan guna menunjukkan kepada pengguna perintah apa yang digunakan sistem secara default. Nilainya adalah OUTPUT_ONLY.

LlmPolicy

Representasi JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Kolom
maxConversationMessages

integer

Opsional. Saat memeriksa kebijakan ini, pertimbangkan 'n' pesan terakhir dalam percakapan. Jika tidak ditetapkan, nilai default 10 akan digunakan.

modelSettings

object (ModelSettings)

Opsional. Setelan model.

prompt

string

Wajib. Perintah kebijakan.

policyScope

enum (PolicyScope)

Wajib. Menentukan kapan pemeriksaan kebijakan akan diterapkan selama percakapan. Jika disetel ke POLICY_SCOPE_UNSPECIFIED, kebijakan akan diterapkan ke input pengguna. Saat menerapkan kebijakan ke respons agen, latensi tambahan akan terjadi sebelum agen dapat merespons.

failOpen

boolean

Opsional. Jika terjadi error selama pemeriksaan kebijakan, buka dan jangan memicu batasan pengaman.

allowShortUtterance

boolean

Opsional. Secara default, pemeriksaan kebijakan LLM dilewati untuk ucapan singkat. Mengaktifkan setelan ini akan menerapkan pemeriksaan kebijakan ke semua ucapan, termasuk yang biasanya akan dilewati.

ModelSettings

Representasi JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Kolom
model

string

Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya.

thinkingLevel

enum (ThinkingLevel)

Opsional. Tingkat penalaran model.

Kolom union _temperature.

_temperature hanya dapat berupa salah satu dari hal berikut:

temperature

number

Opsional. Jika disetel, suhu ini akan digunakan untuk model LLM. Temperatur mengontrol keacakan respons model. Temperatur yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Temperatur yang lebih tinggi menghasilkan respons yang lebih kreatif.

ModelSafety

Representasi JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Kolom
safetySettings[]

object (SafetySetting)

Wajib. Daftar setelan keamanan.

SafetySetting

Representasi JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Kolom
category

enum (HarmCategory)

Wajib. Kategori bahaya.

threshold

enum (HarmBlockThreshold)

Wajib. Batas blokir bahaya.

CodeCallback

Representasi JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Kolom
beforeAgentCallback

object (Callback)

Opsional. Callback yang akan dieksekusi sebelum agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

afterAgentCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

beforeModelCallback

object (Callback)

Opsional. Callback yang akan dieksekusi sebelum model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

afterModelCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

Callback

Representasi JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Kolom
description

string

Opsional. Deskripsi callback yang dapat dibaca manusia.

disabled

boolean

Opsional. Apakah panggilan balik dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen.

proactiveExecutionEnabled

boolean

Opsional. Jika diaktifkan, callback juga akan dieksekusi pada output model perantara. Setelan ini hanya memengaruhi callback setelah model. AKTIFKAN DENGAN HATI-HATI. Biasanya, callback setelah model hanya perlu dieksekusi setelah menerima semua respons model. Mengaktifkan eksekusi proaktif dapat berimplikasi negatif pada biaya dan latensi eksekusi, dan hanya boleh diaktifkan dalam situasi yang jarang terjadi.

Kolom union callback. Callback yang akan dieksekusi. callback hanya ada berupa salah satu diantara berikut:
pythonCode

string

Wajib. Kode python yang akan dieksekusi untuk callback.

Supervisor

Representasi JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Kolom
type

enum (Type)

Opsional. Jenis pengawas.

detectionMode

enum (DetectionMode)

Opsional. Mode deteksi pengawas.

TriggerAction

Representasi JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Kolom
Kolom union action. Tindakan yang harus dilakukan. action hanya ada berupa salah satu diantara berikut:
respondImmediately

object (RespondImmediately)

Opsional. Segera merespons dengan respons yang telah dikonfigurasi sebelumnya.

transferAgent

object (TransferAgent)

Opsional. Mentransfer percakapan ke agen lain.

generativeAnswer

object (GenerativeAnswer)

Opsional. Menanggapi dengan jawaban generatif.

RespondImmediately

Representasi JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Kolom
responses[]

object (Response)

Wajib. Respons standar yang dapat dipilih agen. Respons dipilih secara acak.

Respons

Representasi JSON
{
  "text": string,
  "disabled": boolean
}
Kolom
text

string

Wajib. Teks yang akan digunakan agen untuk merespons.

disabled

boolean

Opsional. Apakah respons dinonaktifkan. Respons yang dinonaktifkan tidak digunakan oleh agen.

TransferAgent

Representasi JSON
{
  "agent": string
}
Kolom
agent

string

Wajib. Nama agen yang akan menerima transfer percakapan. Agen harus berada di aplikasi yang sama dengan agen saat ini. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Representasi JSON
{
  "prompt": string
}
Kolom
prompt

string

Wajib. Perintah yang akan digunakan untuk jawaban generatif.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

MatchType

Jenis pencocokan untuk filter konten.

Enum
MATCH_TYPE_UNSPECIFIED Jenis pencocokan tidak ditentukan.
SIMPLE_STRING_MATCH Konten dicocokkan untuk substring karakter demi karakter.
WORD_BOUNDARY_STRING_MATCH Konten hanya cocok jika pola yang ditemukan dalam teks diapit oleh pembatas kata. Frasa yang dilarang juga dapat berisi pembatas kata.
REGEXP_MATCH Konten dicocokkan menggunakan sintaksis ekspresi reguler.

ThinkingLevel

Konfigurasi tingkat penalaran untuk model.

Enum
THINKING_LEVEL_UNSPECIFIED Tingkat penalaran tidak ditentukan.
DEFAULT Tingkat penalaran default.
LOW Tingkat penalaran rendah.
MEDIUM Tingkat penalaran sedang.
HIGH Tingkat pemikiran tinggi.

PolicyScope

Menentukan kapan pemeriksaan kebijakan akan diterapkan selama percakapan.

Enum
POLICY_SCOPE_UNSPECIFIED Cakupan kebijakan tidak ditentukan.
USER_QUERY Pemeriksaan kebijakan dipicu saat input pengguna.
AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.
USER_QUERY_AND_AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada input pengguna dan respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.

HarmCategory

Kategori bahaya.

Enum
HARM_CATEGORY_UNSPECIFIED Kategori bahaya tidak ditentukan.
HARM_CATEGORY_HATE_SPEECH Kategori bahayanya adalah ujaran kebencian.
HARM_CATEGORY_DANGEROUS_CONTENT Kategori bahayanya adalah konten berbahaya.
HARM_CATEGORY_HARASSMENT Kategori bahayanya adalah pelecehan.
HARM_CATEGORY_SEXUALLY_EXPLICIT Kategori bahayanya adalah konten seksual vulgar.
HARM_CATEGORY_PROFANITY Kategori bahayanya adalah kata-kata tidak sopan.
HARM_CATEGORY_TOXIC Kategori bahayanya adalah beracun.

HarmBlockThreshold

Tingkat nilai minimum berbasis probabilitas untuk pemblokiran.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Batas blokir bahaya tidak ditentukan.
BLOCK_LOW_AND_ABOVE Blokir batas rendah dan lebih tinggi (yaitu, blokir lebih banyak).
BLOCK_MEDIUM_AND_ABOVE Blokir batas sedang dan lebih tinggi.
BLOCK_ONLY_HIGH Ambang batas Block only high (yaitu, blokir lebih sedikit).
BLOCK_NONE Jangan blokir.
OFF Nonaktifkan filter keamanan.

Jenis

Jenis pengawas.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
INVALID_TEXT Jenis masalah teks tidak valid.
LANGUAGE_SHIFT Jenis masalah pergeseran bahasa.
SPEAKER_SHIFT Jenis masalah perubahan pembicara.
AUDIO_MISMATCH Jenis masalah ketidakcocokan audio.
MISSING_TOOL_CALL Jenis masalah panggilan alat tidak ada.
CUSTOM Jenis masalah kustom.
CHOPPY_AUDIO Jenis masalah audio terputus-putus.
PROFANITY Jenis masalah kata-kata tidak sopan agen.

DetectionMode

Mode deteksi pengawas.

Enum
DETECTION_MODE_UNSPECIFIED Mode deteksi tidak ditentukan. Defaultnya adalah NON_BLOCKING.
NON_BLOCKING Mode deteksi tidak memblokir. Respons tidak diblokir saat deteksi supervisor sedang berlangsung.
BLOCKING Mode deteksi pemblokiran. Respons diblokir saat deteksi supervisor sedang berlangsung.

Skema Output

Pembatasan berisi daftar pemeriksaan dan keseimbangan untuk menjaga keamanan agen.

Pagar pengaman

Representasi JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "enabled": boolean,
  "action": {
    object (TriggerAction)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,

  // Union field guardrail_type can be only one of the following:
  "contentFilter": {
    object (ContentFilter)
  },
  "llmPromptSecurity": {
    object (LlmPromptSecurity)
  },
  "llmPolicy": {
    object (LlmPolicy)
  },
  "modelSafety": {
    object (ModelSafety)
  },
  "codeCallback": {
    object (CodeCallback)
  },
  "supervisor": {
    object (Supervisor)
  }
  // End of list of possible types for union field guardrail_type.
}
Kolom
name

string

ID. ID unik pembatas. Format: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

displayName

string

Wajib. Nama tampilan pembatas.

description

string

Opsional. Deskripsi pembatasan.

enabled

boolean

Opsional. Apakah pembatasan diaktifkan atau tidak.

action

object (TriggerAction)

Opsional. Tindakan yang harus diambil saat batasan pengaman dipicu.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat pembatasan dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat batas keamanan terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak.

Kolom union guardrail_type. Jenis pembatasan. guardrail_type hanya ada berupa salah satu diantara berikut:
contentFilter

object (ContentFilter)

Opsional. Pembatasan yang melarang penggunaan konten tertentu dalam percakapan.

llmPromptSecurity

object (LlmPromptSecurity)

Opsional. Pembatas yang memblokir percakapan jika perintah dianggap tidak aman berdasarkan klasifikasi LLM.

llmPolicy

object (LlmPolicy)

Opsional. Penjaga yang memblokir percakapan jika respons LLM dianggap melanggar kebijakan berdasarkan klasifikasi LLM.

modelSafety

object (ModelSafety)

Opsional. Membatasi percakapan jika respons LLM dianggap tidak aman berdasarkan setelan keamanan model.

codeCallback

object (CodeCallback)

Opsional. Pembatas yang berpotensi memblokir percakapan berdasarkan hasil eksekusi callback.

supervisor

object (Supervisor)

Opsional. Pedoman keamanan yang menjalankan intervensi supervisor.

ContentFilter

Representasi JSON
{
  "bannedContents": [
    string
  ],
  "bannedContentsInUserInput": [
    string
  ],
  "bannedContentsInAgentResponse": [
    string
  ],
  "matchType": enum (MatchType),
  "disregardDiacritics": boolean
}
Kolom
bannedContents[]

string

Opsional. Daftar frasa yang dilarang. Berlaku untuk input pengguna dan respons agen.

bannedContentsInUserInput[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk input pengguna.

bannedContentsInAgentResponse[]

string

Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk respons agen.

matchType

enum (MatchType)

Wajib. Jenis pencocokan untuk filter konten.

disregardDiacritics

boolean

Opsional. Jika benar (true), diakritik akan diabaikan selama pencocokan.

LlmPromptSecurity

Representasi JSON
{
  "failOpen": boolean,

  // Union field security_config can be only one of the following:
  "defaultSettings": {
    object (DefaultSecuritySettings)
  },
  "customPolicy": {
    object (LlmPolicy)
  }
  // End of list of possible types for union field security_config.
}
Kolom
failOpen

boolean

Opsional. Menentukan perilaku saat batasan pengaman mengalami error LLM. - Jika benar (true): batas aman dilewati. - Jika salah (default): pembatasan akan dipicu/diblokir.

Catatan: Jika kebijakan kustom diberikan, kolom ini akan diabaikan dan digantikan oleh konfigurasi 'fail_open' kebijakan.

Kolom union security_config. Menentukan mode konfigurasi keamanan. Pengguna harus memilih salah satu konfigurasi berikut. security_config hanya ada berupa salah satu diantara berikut:
defaultSettings

object (DefaultSecuritySettings)

Opsional. Menggunakan setelan keamanan default bawaan sistem. Untuk memilih mode ini, sertakan pesan 'default_settings' kosong dalam permintaan. Kolom 'default_prompt_template' di dalamnya akan diisi oleh server dalam respons.

customPolicy

object (LlmPolicy)

Opsional. Gunakan LlmPolicy yang ditentukan pengguna untuk mengonfigurasi pembatasan keamanan.

DefaultSecuritySettings

Representasi JSON
{
  "defaultPromptTemplate": string
}
Kolom
defaultPromptTemplate

string

Hanya output. Template perintah default yang digunakan oleh sistem. Kolom ini digunakan untuk tujuan tampilan guna menunjukkan kepada pengguna perintah apa yang digunakan sistem secara default. Nilainya adalah OUTPUT_ONLY.

LlmPolicy

Representasi JSON
{
  "maxConversationMessages": integer,
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "policyScope": enum (PolicyScope),
  "failOpen": boolean,
  "allowShortUtterance": boolean
}
Kolom
maxConversationMessages

integer

Opsional. Saat memeriksa kebijakan ini, pertimbangkan 'n' pesan terakhir dalam percakapan. Jika tidak ditetapkan, nilai default 10 akan digunakan.

modelSettings

object (ModelSettings)

Opsional. Setelan model.

prompt

string

Wajib. Perintah kebijakan.

policyScope

enum (PolicyScope)

Wajib. Menentukan kapan pemeriksaan kebijakan akan diterapkan selama percakapan. Jika disetel ke POLICY_SCOPE_UNSPECIFIED, kebijakan akan diterapkan ke input pengguna. Saat menerapkan kebijakan ke respons agen, latensi tambahan akan terjadi sebelum agen dapat merespons.

failOpen

boolean

Opsional. Jika terjadi error selama pemeriksaan kebijakan, buka dan jangan memicu batasan pengaman.

allowShortUtterance

boolean

Opsional. Secara default, pemeriksaan kebijakan LLM dilewati untuk ucapan singkat. Mengaktifkan setelan ini akan menerapkan pemeriksaan kebijakan ke semua ucapan, termasuk yang biasanya akan dilewati.

ModelSettings

Representasi JSON
{
  "model": string,
  "thinkingLevel": enum (ThinkingLevel),

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Kolom
model

string

Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya.

thinkingLevel

enum (ThinkingLevel)

Opsional. Tingkat penalaran model.

Kolom union _temperature.

_temperature hanya dapat berupa salah satu dari hal berikut:

temperature

number

Opsional. Jika disetel, suhu ini akan digunakan untuk model LLM. Temperatur mengontrol keacakan respons model. Temperatur yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Temperatur yang lebih tinggi menghasilkan respons yang lebih kreatif.

ModelSafety

Representasi JSON
{
  "safetySettings": [
    {
      object (SafetySetting)
    }
  ]
}
Kolom
safetySettings[]

object (SafetySetting)

Wajib. Daftar setelan keamanan.

SafetySetting

Representasi JSON
{
  "category": enum (HarmCategory),
  "threshold": enum (HarmBlockThreshold)
}
Kolom
category

enum (HarmCategory)

Wajib. Kategori bahaya.

threshold

enum (HarmBlockThreshold)

Wajib. Batas blokir bahaya.

CodeCallback

Representasi JSON
{
  "beforeAgentCallback": {
    object (Callback)
  },
  "afterAgentCallback": {
    object (Callback)
  },
  "beforeModelCallback": {
    object (Callback)
  },
  "afterModelCallback": {
    object (Callback)
  }
}
Kolom
beforeAgentCallback

object (Callback)

Opsional. Callback yang akan dieksekusi sebelum agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

afterAgentCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah agen dipanggil. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

beforeModelCallback

object (Callback)

Opsional. Callback yang akan dieksekusi sebelum model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

afterModelCallback

object (Callback)

Opsional. Callback yang akan dieksekusi setelah model dipanggil. Jika ada beberapa panggilan ke model, callback akan dieksekusi beberapa kali. Setiap fungsi callback diharapkan menampilkan struktur (misalnya, dict atau objek) yang berisi setidaknya: - 'decision': 'OK' atau 'TRIGGER'. - 'reason': String yang menjelaskan keputusan. Keputusan 'PICU' dapat menghentikan pemrosesan lebih lanjut.

Callback

Representasi JSON
{
  "description": string,
  "disabled": boolean,
  "proactiveExecutionEnabled": boolean,

  // Union field callback can be only one of the following:
  "pythonCode": string
  // End of list of possible types for union field callback.
}
Kolom
description

string

Opsional. Deskripsi callback yang dapat dibaca manusia.

disabled

boolean

Opsional. Apakah panggilan balik dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen.

proactiveExecutionEnabled

boolean

Opsional. Jika diaktifkan, callback juga akan dieksekusi pada output model perantara. Setelan ini hanya memengaruhi callback setelah model. AKTIFKAN DENGAN HATI-HATI. Biasanya, callback setelah model hanya perlu dieksekusi setelah menerima semua respons model. Mengaktifkan eksekusi proaktif dapat berimplikasi negatif pada biaya dan latensi eksekusi, dan hanya boleh diaktifkan dalam situasi yang jarang terjadi.

Kolom union callback. Callback yang akan dieksekusi. callback hanya ada berupa salah satu diantara berikut:
pythonCode

string

Wajib. Kode python yang akan dieksekusi untuk callback.

Supervisor

Representasi JSON
{
  "type": enum (Type),
  "detectionMode": enum (DetectionMode)
}
Kolom
type

enum (Type)

Opsional. Jenis pengawas.

detectionMode

enum (DetectionMode)

Opsional. Mode deteksi pengawas.

TriggerAction

Representasi JSON
{

  // Union field action can be only one of the following:
  "respondImmediately": {
    object (RespondImmediately)
  },
  "transferAgent": {
    object (TransferAgent)
  },
  "generativeAnswer": {
    object (GenerativeAnswer)
  }
  // End of list of possible types for union field action.
}
Kolom
Kolom union action. Tindakan yang harus dilakukan. action hanya ada berupa salah satu diantara berikut:
respondImmediately

object (RespondImmediately)

Opsional. Segera merespons dengan respons yang telah dikonfigurasi sebelumnya.

transferAgent

object (TransferAgent)

Opsional. Mentransfer percakapan ke agen lain.

generativeAnswer

object (GenerativeAnswer)

Opsional. Menanggapi dengan jawaban generatif.

RespondImmediately

Representasi JSON
{
  "responses": [
    {
      object (Response)
    }
  ]
}
Kolom
responses[]

object (Response)

Wajib. Respons standar yang dapat dipilih agen. Respons dipilih secara acak.

Respons

Representasi JSON
{
  "text": string,
  "disabled": boolean
}
Kolom
text

string

Wajib. Teks yang akan digunakan agen untuk merespons.

disabled

boolean

Opsional. Apakah respons dinonaktifkan. Respons yang dinonaktifkan tidak digunakan oleh agen.

TransferAgent

Representasi JSON
{
  "agent": string
}
Kolom
agent

string

Wajib. Nama agen yang akan menerima transfer percakapan. Agen harus berada di aplikasi yang sama dengan agen saat ini. Format: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

GenerativeAnswer

Representasi JSON
{
  "prompt": string
}
Kolom
prompt

string

Wajib. Perintah yang akan digunakan untuk jawaban generatif.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

MatchType

Jenis pencocokan untuk filter konten.

Enum
MATCH_TYPE_UNSPECIFIED Jenis pencocokan tidak ditentukan.
SIMPLE_STRING_MATCH Konten dicocokkan untuk substring karakter demi karakter.
WORD_BOUNDARY_STRING_MATCH Konten hanya cocok jika pola yang ditemukan dalam teks diapit oleh pembatas kata. Frasa yang dilarang juga dapat berisi pembatas kata.
REGEXP_MATCH Konten dicocokkan menggunakan sintaksis ekspresi reguler.

ThinkingLevel

Konfigurasi tingkat penalaran untuk model.

Enum
THINKING_LEVEL_UNSPECIFIED Tingkat penalaran tidak ditentukan.
DEFAULT Tingkat penalaran default.
LOW Tingkat penalaran rendah.
MEDIUM Tingkat penalaran sedang.
HIGH Tingkat pemikiran tinggi.

PolicyScope

Menentukan kapan pemeriksaan kebijakan akan diterapkan selama percakapan.

Enum
POLICY_SCOPE_UNSPECIFIED Cakupan kebijakan tidak ditentukan.
USER_QUERY Pemeriksaan kebijakan dipicu saat input pengguna.
AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.
USER_QUERY_AND_AGENT_RESPONSE Pemeriksaan kebijakan dipicu pada input pengguna dan respons agen. Menerapkan cakupan kebijakan ini akan menimbulkan latensi tambahan sebelum agen dapat merespons.

HarmCategory

Kategori bahaya.

Enum
HARM_CATEGORY_UNSPECIFIED Kategori bahaya tidak ditentukan.
HARM_CATEGORY_HATE_SPEECH Kategori bahayanya adalah ujaran kebencian.
HARM_CATEGORY_DANGEROUS_CONTENT Kategori bahayanya adalah konten berbahaya.
HARM_CATEGORY_HARASSMENT Kategori bahayanya adalah pelecehan.
HARM_CATEGORY_SEXUALLY_EXPLICIT Kategori bahayanya adalah konten seksual vulgar.
HARM_CATEGORY_PROFANITY Kategori bahayanya adalah kata-kata tidak sopan.
HARM_CATEGORY_TOXIC Kategori bahayanya adalah beracun.

HarmBlockThreshold

Tingkat nilai minimum berbasis probabilitas untuk pemblokiran.

Enum
HARM_BLOCK_THRESHOLD_UNSPECIFIED Batas blokir bahaya tidak ditentukan.
BLOCK_LOW_AND_ABOVE Blokir batas rendah dan lebih tinggi (yaitu, blokir lebih banyak).
BLOCK_MEDIUM_AND_ABOVE Blokir batas sedang dan lebih tinggi.
BLOCK_ONLY_HIGH Ambang batas Block only high (yaitu, blokir lebih sedikit).
BLOCK_NONE Jangan blokir.
OFF Nonaktifkan filter keamanan.

Jenis

Jenis pengawas.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
INVALID_TEXT Jenis masalah teks tidak valid.
LANGUAGE_SHIFT Jenis masalah pergeseran bahasa.
SPEAKER_SHIFT Jenis masalah perubahan pembicara.
AUDIO_MISMATCH Jenis masalah ketidakcocokan audio.
MISSING_TOOL_CALL Jenis masalah panggilan alat tidak ada.
CUSTOM Jenis masalah kustom.
CHOPPY_AUDIO Jenis masalah audio terputus-putus.
PROFANITY Jenis masalah kata-kata tidak sopan agen.

DetectionMode

Mode deteksi pengawas.

Enum
DETECTION_MODE_UNSPECIFIED Mode deteksi tidak ditentukan. Defaultnya adalah NON_BLOCKING.
NON_BLOCKING Mode deteksi tidak memblokir. Respons tidak diblokir saat deteksi supervisor sedang berlangsung.
BLOCKING Mode deteksi pemblokiran. Respons diblokir saat deteksi supervisor sedang berlangsung.

Anotasi Alat

Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.

Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:

  • readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: salah.
  • destructiveHint: Jika benar, alat dapat melakukan tindakan yang merusak. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.
  • idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: salah.
  • openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.

Petunjuk Destruktif: ✅ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌