도구: create_guardrail
지정된 앱에 새 가드레일을 만듭니다.
다음 코드 샘플은 curl를 사용하여 create_guardrail 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": "create_guardrail", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
입력 스키마
AgentService.CreateGuardrail에 대한 요청 메시지입니다.
CreateGuardrailRequest
| JSON 표현 |
|---|
{
"parent": string,
"guardrailId": string,
"guardrail": {
object ( |
| 필드 | |
|---|---|
parent |
필수 항목입니다. 가이드라인을 만들 앱의 리소스 이름입니다. |
guardrailId |
(선택사항) 가드레일에 사용할 ID이며, 가드레일의 리소스 이름에서 마지막 구성요소가 됩니다. 제공되지 않으면 가드레일에 고유 ID가 자동으로 할당됩니다. |
guardrail |
필수 항목입니다. 생성할 가드레일입니다. |
가드레일
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| 필드 | |
|---|---|
name |
식별자. 가드레일의 고유 식별자입니다. 형식: |
displayName |
필수 항목입니다. 가드레일의 표시 이름입니다. |
description |
(선택사항) 가이드라인에 대한 설명입니다. |
enabled |
(선택사항) 가드레일이 사용 설정되어 있는지 여부입니다. |
action |
(선택사항) 가드레일이 트리거될 때 취할 조치입니다. |
createTime |
출력 전용입니다. 가드레일이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 가드레일이 마지막으로 업데이트된 시점의 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 이루어진 변경사항을 덮어씁니다. |
통합 필드 guardrail_type. 가드레일 유형입니다. guardrail_type은 다음 중 하나여야 합니다. |
|
contentFilter |
(선택사항) 대화에서 특정 콘텐츠의 사용을 금지하는 가드레일입니다. |
llmPromptSecurity |
(선택사항) LLM 분류에 따라 프롬프트가 안전하지 않은 것으로 간주되면 대화를 차단하는 가드레일입니다. |
llmPolicy |
(선택사항) LLM 분류를 기반으로 LLM 대답이 정책을 위반하는 것으로 간주되는 경우 대화를 차단하는 가드레일입니다. |
modelSafety |
(선택사항) 모델 안전 설정에 따라 LLM 응답이 안전하지 않다고 간주되는 경우 대화를 차단하는 가드레일입니다. |
codeCallback |
(선택사항) 콜백 실행 결과에 따라 대화를 차단할 수 있는 가드레일입니다. |
supervisor |
(선택사항) 감독자 개입을 실행하는 가드레일입니다. |
ContentFilter
| JSON 표현 |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| 필드 | |
|---|---|
bannedContents[] |
(선택사항) 차단된 문구 목록입니다. 사용자 입력과 에이전트 대답 모두에 적용됩니다. |
bannedContentsInUserInput[] |
(선택사항) 차단된 문구 목록입니다. 사용자 입력에만 적용됩니다. |
bannedContentsInAgentResponse[] |
(선택사항) 차단된 문구 목록입니다. 상담사 응답에만 적용됩니다. |
matchType |
필수 항목입니다. 콘텐츠 필터의 검색 유형입니다. |
disregardDiacritics |
(선택사항) true인 경우 일치하는 동안 발음 구별 기호가 무시됩니다. |
LlmPromptSecurity
| JSON 표현 |
|---|
{ "failOpen": boolean, // Union field |
| 필드 | |
|---|---|
failOpen |
(선택사항) 가드레일에서 LLM 오류가 발생할 때의 동작을 결정합니다. - true인 경우: 가드레일이 우회됩니다. - false (기본값): 가드레일이 트리거되거나 차단됩니다. 참고: 맞춤 정책이 제공되면 정책의 'fail_open' 구성이 우선 적용되어 이 필드는 무시됩니다. |
통합 필드 security_config. 보안 구성 모드를 정의합니다. 사용자는 다음 구성 중 하나를 선택해야 합니다. security_config은 다음 중 하나여야 합니다. |
|
defaultSettings |
(선택사항) 시스템의 사전 정의된 기본 보안 설정을 사용합니다. 이 모드를 선택하려면 요청에 빈 'default_settings' 메시지를 포함하세요. 내부의 'default_prompt_template' 필드는 응답에서 서버에 의해 채워집니다. |
customPolicy |
(선택사항) 사용자 정의 LlmPolicy를 사용하여 보안 가드레일을 구성합니다. |
DefaultSecuritySettings
| JSON 표현 |
|---|
{ "defaultPromptTemplate": string } |
| 필드 | |
|---|---|
defaultPromptTemplate |
출력 전용입니다. 시스템에서 사용하는 기본 프롬프트 템플릿입니다. 이 필드는 시스템에서 기본적으로 사용하는 프롬프트를 사용자에게 표시하기 위한 용도입니다. OUTPUT_ONLY입니다. |
LlmPolicy
| JSON 표현 |
|---|
{ "maxConversationMessages": integer, "modelSettings": { object ( |
| 필드 | |
|---|---|
maxConversationMessages |
(선택사항) 이 정책을 확인할 때는 대화의 마지막 'n'개 메시지를 고려하세요. 설정하지 않으면 기본값 10이 사용됩니다. |
modelSettings |
(선택사항) 모델 설정입니다. |
prompt |
필수 항목입니다. 정책 프롬프트 |
policyScope |
필수 항목입니다. 대화 중에 정책 확인을 적용할 시기를 정의합니다. |
failOpen |
(선택사항) 정책 확인 중에 오류가 발생하면 fail open하고 가드레일을 트리거하지 않습니다. |
allowShortUtterance |
(선택사항) 기본적으로 짧은 발화의 경우 LLM 정책 확인이 우회됩니다. 이 설정을 사용 설정하면 일반적으로 건너뛰는 발화도 포함하여 모든 발화에 정책 확인이 적용됩니다. |
ModelSettings
| JSON 표현 |
|---|
{ "model": string, "thinkingLevel": enum ( |
| 필드 | |
|---|---|
model |
(선택사항) 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다. |
thinkingLevel |
(선택사항) 모델의 사고 수준입니다. |
통합 필드
|
|
temperature |
(선택사항) 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다. |
ModelSafety
| JSON 표현 |
|---|
{
"safetySettings": [
{
object ( |
| 필드 | |
|---|---|
safetySettings[] |
필수 항목입니다. 안전 설정 목록입니다. |
SafetySetting
| JSON 표현 |
|---|
{ "category": enum ( |
| 필드 | |
|---|---|
category |
필수 항목입니다. 피해 카테고리입니다. |
threshold |
필수 항목입니다. 피해 차단 기준점입니다. |
CodeCallback
| JSON 표현 |
|---|
{ "beforeAgentCallback": { object ( |
| 필드 | |
|---|---|
beforeAgentCallback |
(선택사항) 에이전트가 호출되기 전에 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
afterAgentCallback |
(선택사항) 에이전트가 호출된 후 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
beforeModelCallback |
(선택사항) 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
afterModelCallback |
(선택사항) 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
콜백
| JSON 표현 |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| 필드 | |
|---|---|
description |
(선택사항) 콜백에 대한 인간이 읽을 수 있는 설명입니다. |
disabled |
(선택사항) 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다. |
proactiveExecutionEnabled |
(선택사항) 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정하세요. 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다. |
통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다. |
|
pythonCode |
필수 항목입니다. 콜백에 대해 실행할 Python 코드입니다. |
감독자
| JSON 표현 |
|---|
{ "type": enum ( |
| 필드 | |
|---|---|
type |
(선택사항) 감독자 유형입니다. |
detectionMode |
(선택사항) 감독자의 감지 모드입니다. |
TriggerAction
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 action. 수행할 작업입니다. action은 다음 중 하나여야 합니다. |
|
respondImmediately |
(선택사항) 사전 구성된 응답으로 즉시 응답합니다. |
transferAgent |
(선택사항) 다른 상담사에게 대화를 트랜스퍼합니다. |
generativeAnswer |
(선택사항) 생성형 답변으로 대답합니다. |
RespondImmediately
| JSON 표현 |
|---|
{
"responses": [
{
object ( |
| 필드 | |
|---|---|
responses[] |
필수 항목입니다. 상담사가 선택할 수 있는 미리 준비된 답변입니다. 대답은 무작위로 선택됩니다. |
응답
| JSON 표현 |
|---|
{ "text": string, "disabled": boolean } |
| 필드 | |
|---|---|
text |
필수 항목입니다. 에이전트가 응답할 텍스트입니다. |
disabled |
(선택사항) 대답이 사용 중지되었는지 여부입니다. 사용 중지된 응답은 상담사가 사용하지 않습니다. |
TransferAgent
| JSON 표현 |
|---|
{ "agent": string } |
| 필드 | |
|---|---|
agent |
필수 항목입니다. 대화를 트랜스퍼할 에이전트의 이름입니다. 에이전트는 현재 에이전트와 동일한 앱에 있어야 합니다. 형식: |
GenerativeAnswer
| JSON 표현 |
|---|
{ "prompt": string } |
| 필드 | |
|---|---|
prompt |
필수 항목입니다. 생성형 답변에 사용할 프롬프트입니다. |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
MatchType
콘텐츠 필터의 검색 유형입니다.
| 열거형 | |
|---|---|
MATCH_TYPE_UNSPECIFIED |
검색 유형이 지정되지 않았습니다. |
SIMPLE_STRING_MATCH |
콘텐츠는 하위 문자열에 대해 문자별로 일치합니다. |
WORD_BOUNDARY_STRING_MATCH |
텍스트에서 발견된 패턴이 단어 구분 기호로 둘러싸여 있는 경우에만 콘텐츠가 일치합니다. 금지된 문구에는 단어 구분 기호도 포함될 수 있습니다. |
REGEXP_MATCH |
정규 표현식 문법을 사용하여 콘텐츠가 일치합니다. |
ThinkingLevel
모델의 사고 수준 구성입니다.
| 열거형 | |
|---|---|
THINKING_LEVEL_UNSPECIFIED |
사고 수준이 지정되지 않았습니다. |
DEFAULT |
기본 사고 수준입니다. |
LOW |
사고 수준이 낮습니다. |
MEDIUM |
중간 사고 수준입니다. |
HIGH |
사고 수준이 높습니다. |
PolicyScope
대화 중에 정책 확인을 적용할 시기를 정의합니다.
| 열거형 | |
|---|---|
POLICY_SCOPE_UNSPECIFIED |
정책 범위가 지정되지 않았습니다. |
USER_QUERY |
정책 확인은 사용자 입력에 따라 트리거됩니다. |
AGENT_RESPONSE |
정책 확인은 에이전트 응답 시 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다. |
USER_QUERY_AND_AGENT_RESPONSE |
정책 확인은 사용자 입력과 에이전트 대답 모두에서 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다. |
HarmCategory
피해 카테고리입니다.
| 열거형 | |
|---|---|
HARM_CATEGORY_UNSPECIFIED |
피해 카테고리가 지정되지 않았습니다. |
HARM_CATEGORY_HATE_SPEECH |
피해 카테고리는 증오심 표현입니다. |
HARM_CATEGORY_DANGEROUS_CONTENT |
피해 카테고리는 위험한 콘텐츠입니다. |
HARM_CATEGORY_HARASSMENT |
피해 카테고리는 괴롭힘입니다. |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
피해 카테고리는 음란물입니다. |
HARM_CATEGORY_PROFANITY |
피해 카테고리는 욕설입니다. |
HARM_CATEGORY_TOXIC |
피해 카테고리는 유해합니다. |
HarmBlockThreshold
차단을 위한 확률 기반 기준점 수준입니다.
| 열거형 | |
|---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
지정되지 않은 피해 차단 기준점입니다. |
BLOCK_LOW_AND_ABOVE |
낮은 기준점 이상의 기준점을 차단합니다(예: 더 차단). |
BLOCK_MEDIUM_AND_ABOVE |
중간 이상의 기준점을 차단합니다. |
BLOCK_ONLY_HIGH |
높은 기준점만 차단합니다(즉, 차단 미만). |
BLOCK_NONE |
차단하지 않습니다. |
OFF |
안전 필터를 사용 중지합니다. |
유형
감독자 유형입니다.
| 열거형 | |
|---|---|
TYPE_UNSPECIFIED |
유형이 지정되지 않았습니다. |
INVALID_TEXT |
잘못된 텍스트 문제 유형입니다. |
LANGUAGE_SHIFT |
언어 전환 문제 유형입니다. |
SPEAKER_SHIFT |
스피커 이동 문제 유형입니다. |
AUDIO_MISMATCH |
오디오 불일치 문제 유형입니다. |
MISSING_TOOL_CALL |
도구 호출 문제 유형이 누락되었습니다. |
CUSTOM |
맞춤 문제 유형입니다. |
CHOPPY_AUDIO |
오디오 끊김 문제 유형입니다. |
PROFANITY |
상담사 욕설 문제 유형입니다. |
DetectionMode
감독자의 감지 모드입니다.
| 열거형 | |
|---|---|
DETECTION_MODE_UNSPECIFIED |
감지 모드가 지정되지 않았습니다. 기본값은 NON_BLOCKING입니다. |
NON_BLOCKING |
차단되지 않는 감지 모드입니다. 감독자 감지가 진행 중일 때는 대답이 차단되지 않습니다. |
BLOCKING |
차단 감지 모드 감독자 감지가 진행 중이면 대답이 차단됩니다. |
출력 스키마
가드레일에는 에이전트를 안전하게 보호하기 위한 견제와 균형 목록이 포함되어 있습니다.
가드레일
| JSON 표현 |
|---|
{ "name": string, "displayName": string, "description": string, "enabled": boolean, "action": { object ( |
| 필드 | |
|---|---|
name |
식별자. 가드레일의 고유 식별자입니다. 형식: |
displayName |
필수 항목입니다. 가드레일의 표시 이름입니다. |
description |
(선택사항) 가이드라인에 대한 설명입니다. |
enabled |
(선택사항) 가드레일이 사용 설정되어 있는지 여부입니다. |
action |
(선택사항) 가드레일이 트리거될 때 취할 조치입니다. |
createTime |
출력 전용입니다. 가드레일이 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 가드레일이 마지막으로 업데이트된 시점의 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
etag |
읽기-수정-쓰기 작업 중에 객체가 변경되지 않았는지 확인하는 데 사용되는 Etag입니다. etag가 비어 있으면 업데이트가 동시에 이루어진 변경사항을 덮어씁니다. |
통합 필드 guardrail_type. 가드레일 유형입니다. guardrail_type은 다음 중 하나여야 합니다. |
|
contentFilter |
(선택사항) 대화에서 특정 콘텐츠의 사용을 금지하는 가드레일입니다. |
llmPromptSecurity |
(선택사항) LLM 분류에 따라 프롬프트가 안전하지 않은 것으로 간주되면 대화를 차단하는 가드레일입니다. |
llmPolicy |
(선택사항) LLM 분류를 기반으로 LLM 대답이 정책을 위반하는 것으로 간주되는 경우 대화를 차단하는 가드레일입니다. |
modelSafety |
(선택사항) 모델 안전 설정에 따라 LLM 응답이 안전하지 않다고 간주되는 경우 대화를 차단하는 가드레일입니다. |
codeCallback |
(선택사항) 콜백 실행 결과에 따라 대화를 차단할 수 있는 가드레일입니다. |
supervisor |
(선택사항) 감독자 개입을 실행하는 가드레일입니다. |
ContentFilter
| JSON 표현 |
|---|
{
"bannedContents": [
string
],
"bannedContentsInUserInput": [
string
],
"bannedContentsInAgentResponse": [
string
],
"matchType": enum ( |
| 필드 | |
|---|---|
bannedContents[] |
(선택사항) 차단된 문구 목록입니다. 사용자 입력과 에이전트 대답 모두에 적용됩니다. |
bannedContentsInUserInput[] |
(선택사항) 차단된 문구 목록입니다. 사용자 입력에만 적용됩니다. |
bannedContentsInAgentResponse[] |
(선택사항) 차단된 문구 목록입니다. 상담사 응답에만 적용됩니다. |
matchType |
필수 항목입니다. 콘텐츠 필터의 검색 유형입니다. |
disregardDiacritics |
(선택사항) true인 경우 일치하는 동안 발음 구별 기호가 무시됩니다. |
LlmPromptSecurity
| JSON 표현 |
|---|
{ "failOpen": boolean, // Union field |
| 필드 | |
|---|---|
failOpen |
(선택사항) 가드레일에서 LLM 오류가 발생할 때의 동작을 결정합니다. - true인 경우: 가드레일이 우회됩니다. - false (기본값): 가드레일이 트리거되거나 차단됩니다. 참고: 맞춤 정책이 제공되면 정책의 'fail_open' 구성이 우선 적용되어 이 필드는 무시됩니다. |
통합 필드 security_config. 보안 구성 모드를 정의합니다. 사용자는 다음 구성 중 하나를 선택해야 합니다. security_config은 다음 중 하나여야 합니다. |
|
defaultSettings |
(선택사항) 시스템의 사전 정의된 기본 보안 설정을 사용합니다. 이 모드를 선택하려면 요청에 빈 'default_settings' 메시지를 포함하세요. 내부의 'default_prompt_template' 필드는 응답에서 서버에 의해 채워집니다. |
customPolicy |
(선택사항) 사용자 정의 LlmPolicy를 사용하여 보안 가드레일을 구성합니다. |
DefaultSecuritySettings
| JSON 표현 |
|---|
{ "defaultPromptTemplate": string } |
| 필드 | |
|---|---|
defaultPromptTemplate |
출력 전용입니다. 시스템에서 사용하는 기본 프롬프트 템플릿입니다. 이 필드는 시스템에서 기본적으로 사용하는 프롬프트를 사용자에게 표시하기 위한 용도입니다. OUTPUT_ONLY입니다. |
LlmPolicy
| JSON 표현 |
|---|
{ "maxConversationMessages": integer, "modelSettings": { object ( |
| 필드 | |
|---|---|
maxConversationMessages |
(선택사항) 이 정책을 확인할 때는 대화의 마지막 'n'개 메시지를 고려하세요. 설정하지 않으면 기본값 10이 사용됩니다. |
modelSettings |
(선택사항) 모델 설정입니다. |
prompt |
필수 항목입니다. 정책 프롬프트 |
policyScope |
필수 항목입니다. 대화 중에 정책 확인을 적용할 시기를 정의합니다. |
failOpen |
(선택사항) 정책 확인 중에 오류가 발생하면 fail open하고 가드레일을 트리거하지 않습니다. |
allowShortUtterance |
(선택사항) 기본적으로 짧은 발화의 경우 LLM 정책 확인이 우회됩니다. 이 설정을 사용 설정하면 일반적으로 건너뛰는 발화도 포함하여 모든 발화에 정책 확인이 적용됩니다. |
ModelSettings
| JSON 표현 |
|---|
{ "model": string, "thinkingLevel": enum ( |
| 필드 | |
|---|---|
model |
(선택사항) 에이전트가 사용해야 하는 LLM 모델입니다. 설정하지 않으면 에이전트가 상위 에이전트의 모델을 상속합니다. |
thinkingLevel |
(선택사항) 모델의 사고 수준입니다. |
통합 필드
|
|
temperature |
(선택사항) 설정된 경우 이 온도가 LLM 모델에 사용됩니다. 온도는 모델 응답의 무작위성을 제어합니다. 온도가 낮을수록 더 예측 가능한 대답이 생성됩니다. 온도가 높을수록 더 창의적인 대답이 생성됩니다. |
ModelSafety
| JSON 표현 |
|---|
{
"safetySettings": [
{
object ( |
| 필드 | |
|---|---|
safetySettings[] |
필수 항목입니다. 안전 설정 목록입니다. |
SafetySetting
| JSON 표현 |
|---|
{ "category": enum ( |
| 필드 | |
|---|---|
category |
필수 항목입니다. 피해 카테고리입니다. |
threshold |
필수 항목입니다. 피해 차단 기준점입니다. |
CodeCallback
| JSON 표현 |
|---|
{ "beforeAgentCallback": { object ( |
| 필드 | |
|---|---|
beforeAgentCallback |
(선택사항) 에이전트가 호출되기 전에 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
afterAgentCallback |
(선택사항) 에이전트가 호출된 후 실행할 콜백입니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
beforeModelCallback |
(선택사항) 모델이 호출되기 전에 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
afterModelCallback |
(선택사항) 모델이 호출된 후 실행할 콜백입니다. 모델에 대한 호출이 여러 개 있는 경우 콜백이 여러 번 실행됩니다. 각 콜백 함수는 다음을 포함하는 구조 (예: dict 또는 객체)를 반환해야 합니다. - 'decision': 'OK' 또는 'TRIGGER' - 'reason': 결정을 설명하는 문자열입니다. 'TRIGGER' 결정으로 인해 추가 처리가 중지될 수 있습니다. |
콜백
| JSON 표현 |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| 필드 | |
|---|---|
description |
(선택사항) 콜백에 대한 인간이 읽을 수 있는 설명입니다. |
disabled |
(선택사항) 콜백이 사용 중지되었는지 여부입니다. 사용 중지된 콜백은 에이전트에서 무시됩니다. |
proactiveExecutionEnabled |
(선택사항) 사용 설정된 경우 콜백은 중간 모델 출력에서도 실행됩니다. 이 설정은 모델 콜백 후에만 영향을 미칩니다. 주의해서 사용 설정하세요. 일반적으로 모델 콜백은 모든 모델 응답을 받은 후에만 실행하면 됩니다. 사전 실행을 사용 설정하면 실행 비용과 지연 시간에 부정적인 영향을 미칠 수 있으므로 드문 경우에만 사용 설정해야 합니다. |
통합 필드 callback. 실행할 콜백입니다. callback은 다음 중 하나여야 합니다. |
|
pythonCode |
필수 항목입니다. 콜백에 대해 실행할 Python 코드입니다. |
감독자
| JSON 표현 |
|---|
{ "type": enum ( |
| 필드 | |
|---|---|
type |
(선택사항) 감독자 유형입니다. |
detectionMode |
(선택사항) 감독자의 감지 모드입니다. |
TriggerAction
| JSON 표현 |
|---|
{ // Union field |
| 필드 | |
|---|---|
통합 필드 action. 수행할 작업입니다. action은 다음 중 하나여야 합니다. |
|
respondImmediately |
(선택사항) 사전 구성된 응답으로 즉시 응답합니다. |
transferAgent |
(선택사항) 다른 상담사에게 대화를 트랜스퍼합니다. |
generativeAnswer |
(선택사항) 생성형 답변으로 대답합니다. |
RespondImmediately
| JSON 표현 |
|---|
{
"responses": [
{
object ( |
| 필드 | |
|---|---|
responses[] |
필수 항목입니다. 상담사가 선택할 수 있는 미리 준비된 답변입니다. 대답은 무작위로 선택됩니다. |
응답
| JSON 표현 |
|---|
{ "text": string, "disabled": boolean } |
| 필드 | |
|---|---|
text |
필수 항목입니다. 에이전트가 응답할 텍스트입니다. |
disabled |
(선택사항) 대답이 사용 중지되었는지 여부입니다. 사용 중지된 응답은 상담사가 사용하지 않습니다. |
TransferAgent
| JSON 표현 |
|---|
{ "agent": string } |
| 필드 | |
|---|---|
agent |
필수 항목입니다. 대화를 트랜스퍼할 에이전트의 이름입니다. 에이전트는 현재 에이전트와 동일한 앱에 있어야 합니다. 형식: |
GenerativeAnswer
| JSON 표현 |
|---|
{ "prompt": string } |
| 필드 | |
|---|---|
prompt |
필수 항목입니다. 생성형 답변에 사용할 프롬프트입니다. |
타임스탬프
| JSON 표현 |
|---|
{ "seconds": string, "nanos": integer } |
| 필드 | |
|---|---|
seconds |
유닉스 시간 1970-01-01T00:00:00Z 이후 경과된 UTC 시간을 초 단위로 나타냅니다. -62135596800~253402300799 (0001-01-01T00:00:00Z~9999-12-31T23:59:59Z에 해당) 사이여야 합니다. |
nanos |
나노초 단위의 음수가 아닌 초수입니다. 이 필드는 기간의 나노초 부분이며 초의 대안이 아닙니다. 음수의 초수 값에는 시간에 반영되는 음수가 아닌 나노초 값이 있어야 합니다. 0~999,999,999(포함) 사이여야 합니다. |
MatchType
콘텐츠 필터의 검색 유형입니다.
| 열거형 | |
|---|---|
MATCH_TYPE_UNSPECIFIED |
검색 유형이 지정되지 않았습니다. |
SIMPLE_STRING_MATCH |
콘텐츠는 하위 문자열에 대해 문자별로 일치합니다. |
WORD_BOUNDARY_STRING_MATCH |
텍스트에서 발견된 패턴이 단어 구분 기호로 둘러싸여 있는 경우에만 콘텐츠가 일치합니다. 금지된 문구에는 단어 구분 기호도 포함될 수 있습니다. |
REGEXP_MATCH |
정규 표현식 문법을 사용하여 콘텐츠가 일치합니다. |
ThinkingLevel
모델의 사고 수준 구성입니다.
| 열거형 | |
|---|---|
THINKING_LEVEL_UNSPECIFIED |
사고 수준이 지정되지 않았습니다. |
DEFAULT |
기본 사고 수준입니다. |
LOW |
사고 수준이 낮습니다. |
MEDIUM |
중간 사고 수준입니다. |
HIGH |
사고 수준이 높습니다. |
PolicyScope
대화 중에 정책 확인을 적용할 시기를 정의합니다.
| 열거형 | |
|---|---|
POLICY_SCOPE_UNSPECIFIED |
정책 범위가 지정되지 않았습니다. |
USER_QUERY |
정책 확인은 사용자 입력에 따라 트리거됩니다. |
AGENT_RESPONSE |
정책 확인은 에이전트 응답 시 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다. |
USER_QUERY_AND_AGENT_RESPONSE |
정책 확인은 사용자 입력과 에이전트 대답 모두에서 트리거됩니다. 이 정책 범위를 적용하면 에이전트가 응답하기 전에 추가 지연 시간이 발생합니다. |
HarmCategory
피해 카테고리입니다.
| 열거형 | |
|---|---|
HARM_CATEGORY_UNSPECIFIED |
피해 카테고리가 지정되지 않았습니다. |
HARM_CATEGORY_HATE_SPEECH |
피해 카테고리는 증오심 표현입니다. |
HARM_CATEGORY_DANGEROUS_CONTENT |
피해 카테고리는 위험한 콘텐츠입니다. |
HARM_CATEGORY_HARASSMENT |
피해 카테고리는 괴롭힘입니다. |
HARM_CATEGORY_SEXUALLY_EXPLICIT |
피해 카테고리는 음란물입니다. |
HARM_CATEGORY_PROFANITY |
피해 카테고리는 욕설입니다. |
HARM_CATEGORY_TOXIC |
피해 카테고리는 유해합니다. |
HarmBlockThreshold
차단을 위한 확률 기반 기준점 수준입니다.
| 열거형 | |
|---|---|
HARM_BLOCK_THRESHOLD_UNSPECIFIED |
지정되지 않은 피해 차단 기준점입니다. |
BLOCK_LOW_AND_ABOVE |
낮은 기준점 이상의 기준점을 차단합니다(예: 더 차단). |
BLOCK_MEDIUM_AND_ABOVE |
중간 이상의 기준점을 차단합니다. |
BLOCK_ONLY_HIGH |
높은 기준점만 차단합니다(즉, 차단 미만). |
BLOCK_NONE |
차단하지 않습니다. |
OFF |
안전 필터를 사용 중지합니다. |
유형
감독자 유형입니다.
| 열거형 | |
|---|---|
TYPE_UNSPECIFIED |
유형이 지정되지 않았습니다. |
INVALID_TEXT |
잘못된 텍스트 문제 유형입니다. |
LANGUAGE_SHIFT |
언어 전환 문제 유형입니다. |
SPEAKER_SHIFT |
스피커 이동 문제 유형입니다. |
AUDIO_MISMATCH |
오디오 불일치 문제 유형입니다. |
MISSING_TOOL_CALL |
도구 호출 문제 유형이 누락되었습니다. |
CUSTOM |
맞춤 문제 유형입니다. |
CHOPPY_AUDIO |
오디오 끊김 문제 유형입니다. |
PROFANITY |
상담사 욕설 문제 유형입니다. |
DetectionMode
감독자의 감지 모드입니다.
| 열거형 | |
|---|---|
DETECTION_MODE_UNSPECIFIED |
감지 모드가 지정되지 않았습니다. 기본값은 NON_BLOCKING입니다. |
NON_BLOCKING |
차단되지 않는 감지 모드입니다. 감독자 감지가 진행 중일 때는 대답이 차단되지 않습니다. |
BLOCKING |
차단 감지 모드 감독자 감지가 진행 중이면 대답이 차단됩니다. |
도구 주석
도구 주석은 MCP 클라이언트에 전송되어 특정 도구의 기본 위험을 설명합니다. 대부분의 클라이언트는 이러한 힌트를 신뢰할 수 없는 것으로 취급하지만, 확인 메시지를 사용자에게 전송할 시점을 결정하는 데 사용할 수 있습니다.
제목 문자열과 함께 다음 불리언 힌트는 다음과 같이 정의됩니다.
readOnlyHint: true인 경우 도구가 환경을 수정하지 않습니다. 기본값: false.destructiveHint: true인 경우 도구가 파괴적인 작업을 실행할 수 있습니다. false인 경우 도구는 추가 작업만 실행할 수 있습니다. 기본값은 true입니다.idempotentHint: true인 경우 동일한 인수로 도구를 반복적으로 호출해도 환경에 추가적인 영향을 미치지 않습니다. 기본값: false.openWorldHint: true인 경우 도구가 외부 엔티티의 '오픈 월드'와 상호작용할 수 있습니다. false인 경우 도구는 내부 항목과만 상호작용할 수 있습니다. 예를 들어 웹 검색 도구는 오픈 월드이지만 메모리 도구는 오픈 월드가 아닙니다.
파괴적 힌트: ✅ | 멱등성 힌트: ❌ | 읽기 전용 힌트: ❌ | 오픈 월드 힌트: ❌