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 ( |
| Kolom | |
|---|---|
parent |
Wajib. Nama resource aplikasi tempat membuat pembatasan. |
guardrailId |
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 |
Wajib. Batasan yang akan dibuat. |
Pagar pengaman
| Representasi JSON |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| Kolom | |
|---|---|
name |
ID. ID unik pembatas. Format: |
displayName |
Wajib. Nama tampilan pembatas. |
description |
Opsional. Deskripsi pembatasan. |
enabled |
Opsional. Apakah pembatasan diaktifkan atau tidak. |
action |
Opsional. Tindakan yang harus diambil saat batasan pengaman dipicu. |
createTime |
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: |
updateTime |
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: |
etag |
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 |
Opsional. Pembatasan yang melarang penggunaan konten tertentu dalam percakapan. |
llmPromptSecurity |
Opsional. Pembatas yang memblokir percakapan jika perintah dianggap tidak aman berdasarkan klasifikasi LLM. |
llmPolicy |
Opsional. Penjaga yang memblokir percakapan jika respons LLM dianggap melanggar kebijakan berdasarkan klasifikasi LLM. |
modelSafety |
Opsional. Membatasi percakapan jika respons LLM dianggap tidak aman berdasarkan setelan keamanan model. |
codeCallback |
Opsional. Pembatas yang berpotensi memblokir percakapan berdasarkan hasil eksekusi callback. |
supervisor |
Opsional. Pedoman keamanan yang menjalankan intervensi supervisor. |
ContentFilter
| Representasi JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Kolom | |
|---|---|
bannedContents[] |
Opsional. Daftar frasa yang dilarang. Berlaku untuk input pengguna dan respons agen. |
bannedContentsInUserInput[] |
Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk input pengguna. |
bannedContentsInAgentResponse[] |
Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk respons agen. |
matchType |
Wajib. Jenis pencocokan untuk filter konten. |
disregardDiacritics |
Opsional. Jika benar (true), diakritik akan diabaikan selama pencocokan. |
LlmPromptSecurity
| Representasi JSON |
|---|
{ "failOpen": boolean, // Union field |
| Kolom | |
|---|---|
failOpen |
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 |
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 |
Opsional. Gunakan LlmPolicy yang ditentukan pengguna untuk mengonfigurasi pembatasan keamanan. |
DefaultSecuritySettings
| Representasi JSON |
|---|
{ "defaultPromptTemplate": string } |
| Kolom | |
|---|---|
defaultPromptTemplate |
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 ( |
| Kolom | |
|---|---|
maxConversationMessages |
Opsional. Saat memeriksa kebijakan ini, pertimbangkan 'n' pesan terakhir dalam percakapan. Jika tidak ditetapkan, nilai default 10 akan digunakan. |
modelSettings |
Opsional. Setelan model. |
prompt |
Wajib. Perintah kebijakan. |
policyScope |
Wajib. Menentukan kapan pemeriksaan kebijakan akan diterapkan selama percakapan. Jika disetel ke |
failOpen |
Opsional. Jika terjadi error selama pemeriksaan kebijakan, buka dan jangan memicu batasan pengaman. |
allowShortUtterance |
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 ( |
| Kolom | |
|---|---|
model |
Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya. |
thinkingLevel |
Opsional. Tingkat penalaran model. |
Kolom union
|
|
temperature |
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 ( |
| Kolom | |
|---|---|
safetySettings[] |
Wajib. Daftar setelan keamanan. |
SafetySetting
| Representasi JSON |
|---|
{ "category": enum ( |
| Kolom | |
|---|---|
category |
Wajib. Kategori bahaya. |
threshold |
Wajib. Batas blokir bahaya. |
CodeCallback
| Representasi JSON |
|---|
{ "beforeAgentCallback": { object ( |
| Kolom | |
|---|---|
beforeAgentCallback |
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 |
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 |
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 |
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 |
| Kolom | |
|---|---|
description |
Opsional. Deskripsi callback yang dapat dibaca manusia. |
disabled |
Opsional. Apakah panggilan balik dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen. |
proactiveExecutionEnabled |
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 |
Wajib. Kode python yang akan dieksekusi untuk callback. |
Supervisor
| Representasi JSON |
|---|
{ "type": enum ( |
| Kolom | |
|---|---|
type |
Opsional. Jenis pengawas. |
detectionMode |
Opsional. Mode deteksi pengawas. |
TriggerAction
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union action. Tindakan yang harus dilakukan. action hanya ada berupa salah satu diantara berikut: |
|
respondImmediately |
Opsional. Segera merespons dengan respons yang telah dikonfigurasi sebelumnya. |
transferAgent |
Opsional. Mentransfer percakapan ke agen lain. |
generativeAnswer |
Opsional. Menanggapi dengan jawaban generatif. |
RespondImmediately
| Representasi JSON |
|---|
{
"responses": [
{
object ( |
| Kolom | |
|---|---|
responses[] |
Wajib. Respons standar yang dapat dipilih agen. Respons dipilih secara acak. |
Respons
| Representasi JSON |
|---|
{ "text": string, "disabled": boolean } |
| Kolom | |
|---|---|
text |
Wajib. Teks yang akan digunakan agen untuk merespons. |
disabled |
Opsional. Apakah respons dinonaktifkan. Respons yang dinonaktifkan tidak digunakan oleh agen. |
TransferAgent
| Representasi JSON |
|---|
{ "agent": string } |
| Kolom | |
|---|---|
agent |
Wajib. Nama agen yang akan menerima transfer percakapan. Agen harus berada di aplikasi yang sama dengan agen saat ini. Format: |
GenerativeAnswer
| Representasi JSON |
|---|
{ "prompt": string } |
| Kolom | |
|---|---|
prompt |
Wajib. Perintah yang akan digunakan untuk jawaban generatif. |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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 ( |
| Kolom | |
|---|---|
name |
ID. ID unik pembatas. Format: |
displayName |
Wajib. Nama tampilan pembatas. |
description |
Opsional. Deskripsi pembatasan. |
enabled |
Opsional. Apakah pembatasan diaktifkan atau tidak. |
action |
Opsional. Tindakan yang harus diambil saat batasan pengaman dipicu. |
createTime |
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: |
updateTime |
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: |
etag |
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 |
Opsional. Pembatasan yang melarang penggunaan konten tertentu dalam percakapan. |
llmPromptSecurity |
Opsional. Pembatas yang memblokir percakapan jika perintah dianggap tidak aman berdasarkan klasifikasi LLM. |
llmPolicy |
Opsional. Penjaga yang memblokir percakapan jika respons LLM dianggap melanggar kebijakan berdasarkan klasifikasi LLM. |
modelSafety |
Opsional. Membatasi percakapan jika respons LLM dianggap tidak aman berdasarkan setelan keamanan model. |
codeCallback |
Opsional. Pembatas yang berpotensi memblokir percakapan berdasarkan hasil eksekusi callback. |
supervisor |
Opsional. Pedoman keamanan yang menjalankan intervensi supervisor. |
ContentFilter
| Representasi JSON |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| Kolom | |
|---|---|
bannedContents[] |
Opsional. Daftar frasa yang dilarang. Berlaku untuk input pengguna dan respons agen. |
bannedContentsInUserInput[] |
Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk input pengguna. |
bannedContentsInAgentResponse[] |
Opsional. Daftar frasa yang dilarang. Hanya berlaku untuk respons agen. |
matchType |
Wajib. Jenis pencocokan untuk filter konten. |
disregardDiacritics |
Opsional. Jika benar (true), diakritik akan diabaikan selama pencocokan. |
LlmPromptSecurity
| Representasi JSON |
|---|
{ "failOpen": boolean, // Union field |
| Kolom | |
|---|---|
failOpen |
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 |
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 |
Opsional. Gunakan LlmPolicy yang ditentukan pengguna untuk mengonfigurasi pembatasan keamanan. |
DefaultSecuritySettings
| Representasi JSON |
|---|
{ "defaultPromptTemplate": string } |
| Kolom | |
|---|---|
defaultPromptTemplate |
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 ( |
| Kolom | |
|---|---|
maxConversationMessages |
Opsional. Saat memeriksa kebijakan ini, pertimbangkan 'n' pesan terakhir dalam percakapan. Jika tidak ditetapkan, nilai default 10 akan digunakan. |
modelSettings |
Opsional. Setelan model. |
prompt |
Wajib. Perintah kebijakan. |
policyScope |
Wajib. Menentukan kapan pemeriksaan kebijakan akan diterapkan selama percakapan. Jika disetel ke |
failOpen |
Opsional. Jika terjadi error selama pemeriksaan kebijakan, buka dan jangan memicu batasan pengaman. |
allowShortUtterance |
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 ( |
| Kolom | |
|---|---|
model |
Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya. |
thinkingLevel |
Opsional. Tingkat penalaran model. |
Kolom union
|
|
temperature |
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 ( |
| Kolom | |
|---|---|
safetySettings[] |
Wajib. Daftar setelan keamanan. |
SafetySetting
| Representasi JSON |
|---|
{ "category": enum ( |
| Kolom | |
|---|---|
category |
Wajib. Kategori bahaya. |
threshold |
Wajib. Batas blokir bahaya. |
CodeCallback
| Representasi JSON |
|---|
{ "beforeAgentCallback": { object ( |
| Kolom | |
|---|---|
beforeAgentCallback |
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 |
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 |
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 |
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 |
| Kolom | |
|---|---|
description |
Opsional. Deskripsi callback yang dapat dibaca manusia. |
disabled |
Opsional. Apakah panggilan balik dinonaktifkan. Callback yang dinonaktifkan akan diabaikan oleh agen. |
proactiveExecutionEnabled |
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 |
Wajib. Kode python yang akan dieksekusi untuk callback. |
Supervisor
| Representasi JSON |
|---|
{ "type": enum ( |
| Kolom | |
|---|---|
type |
Opsional. Jenis pengawas. |
detectionMode |
Opsional. Mode deteksi pengawas. |
TriggerAction
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union action. Tindakan yang harus dilakukan. action hanya ada berupa salah satu diantara berikut: |
|
respondImmediately |
Opsional. Segera merespons dengan respons yang telah dikonfigurasi sebelumnya. |
transferAgent |
Opsional. Mentransfer percakapan ke agen lain. |
generativeAnswer |
Opsional. Menanggapi dengan jawaban generatif. |
RespondImmediately
| Representasi JSON |
|---|
{
"responses": [
{
object ( |
| Kolom | |
|---|---|
responses[] |
Wajib. Respons standar yang dapat dipilih agen. Respons dipilih secara acak. |
Respons
| Representasi JSON |
|---|
{ "text": string, "disabled": boolean } |
| Kolom | |
|---|---|
text |
Wajib. Teks yang akan digunakan agen untuk merespons. |
disabled |
Opsional. Apakah respons dinonaktifkan. Respons yang dinonaktifkan tidak digunakan oleh agen. |
TransferAgent
| Representasi JSON |
|---|
{ "agent": string } |
| Kolom | |
|---|---|
agent |
Wajib. Nama agen yang akan menerima transfer percakapan. Agen harus berada di aplikasi yang sama dengan agen saat ini. Format: |
GenerativeAnswer
| Representasi JSON |
|---|
{ "prompt": string } |
| Kolom | |
|---|---|
prompt |
Wajib. Perintah yang akan digunakan untuk jawaban generatif. |
Stempel waktu
| Representasi JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Kolom | |
|---|---|
seconds |
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 |
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: ❌