REST Resource: cachedContents

리소스: CachedContent

전처리되어 GenerativeService에 대한 후속 요청에서 사용할 수 있는 콘텐츠입니다.

캐시된 콘텐츠는 생성된 모델에서만 사용할 수 있습니다.

JSON 표현
{
  "contents": [
    {
      object (Content)
    }
  ],
  "tools": [
    {
      object (Tool)
    }
  ],
  "createTime": string,
  "updateTime": string,
  "usageMetadata": {
    object (UsageMetadata)
  },

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
  "name": string,
  "displayName": string,
  "model": string,
  "systemInstruction": {
    object (Content)
  },
  "toolConfig": {
    object (ToolConfig)
  }
}
입력란
contents[]

object (Content)

선택사항입니다. 입력 전용입니다. 변경할 수 없습니다. 캐시할 콘텐츠입니다.

tools[]

object (Tool)

선택사항입니다. 입력 전용입니다. 변경할 수 없습니다. 모델이 다음 응답을 생성하는 데 사용할 수 있는 Tools 목록

createTime

string (Timestamp format)

출력 전용입니다. 캐시 항목의 생성 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 캐시 항목이 마지막으로 업데이트된 시간입니다(UTC 시간).

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

usageMetadata

object (UsageMetadata)

출력 전용입니다. 캐시된 콘텐츠의 사용에 관한 메타데이터입니다.

통합 필드 expiration. 이 리소스가 만료되는 시기를 지정합니다. expiration는 다음 중 하나여야 합니다.
expireTime

string (Timestamp format)

이 리소스가 만료된 것으로 간주되는 시간의 타임스탬프(UTC)입니다. 이는 입력으로 전송된 항목에 관계없이 항상 출력으로 제공됩니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

ttl

string (Duration format)

입력 전용입니다. 이 리소스의 새 TTL, 입력 전용입니다.

소수점 아래가 최대 9자리까지이고 's'로 끝나는 초 단위 기간입니다. 예를 들면 "3.5s"입니다.

name

string

선택사항입니다. 식별자. 캐시된 콘텐츠를 참조하는 리소스 이름입니다. 형식: cachedContents/{id}

displayName

string

선택사항입니다. 변경할 수 없습니다. 사용자가 생성한 캐시된 콘텐츠의 의미 있는 표시 이름입니다. 최대 128자의 유니코드 문자만 허용됩니다.

model

string

필수 항목입니다. 변경할 수 없습니다. 캐시된 콘텐츠 형식에 사용할 Model의 이름: models/{model}

systemInstruction

object (Content)

선택사항입니다. 입력 전용입니다. 변경할 수 없습니다. 개발자가 설정한 시스템 안내입니다. 현재 텍스트 전용입니다.

toolConfig

object (ToolConfig)

선택사항입니다. 입력 전용입니다. 변경할 수 없습니다. 도구 구성 이 구성은 모든 도구에서 공유됩니다.

콘텐츠

메시지의 여러 부분으로 구성된 콘텐츠를 포함하는 기본 구조화된 데이터 유형입니다.

Content에는 Content의 제작자를 지정하는 role 필드와 메시지 차례의 콘텐츠가 포함된 여러 부분으로 구성된 데이터가 포함된 parts 필드가 있습니다.

JSON 표현
{
  "parts": [
    {
      object (Part)
    }
  ],
  "role": string
}
입력란
parts[]

object (Part)

단일 메시지를 구성하는 Parts를 정렬합니다. 각 부분에 다른 MIME 유형이 있을 수 있습니다.

role

string

선택사항입니다. 콘텐츠 제작자입니다. 'user' 또는 'model'이어야 합니다.

멀티턴 대화에 사용하면 유용합니다. 설정하지 않으면 비워두거나 설정하지 않을 수 있습니다.

부품

다중 파트 Content 메시지의 일부인 미디어가 포함된 데이터 유형입니다.

Part는 연결된 데이터 유형이 있는 데이터로 구성됩니다. PartPart.data에서 허용되는 유형 중 하나만 포함할 수 있습니다.

Part에는 inlineData 필드가 원시 바이트로 채워져 있는 경우 미디어의 유형과 하위 유형을 식별하는 고정 IANA MIME 유형이 있어야 합니다.

JSON 표현
{

  // Union field data can be only one of the following:
  "text": string,
  "inlineData": {
    object (Blob)
  },
  "functionCall": {
    object (FunctionCall)
  },
  "functionResponse": {
    object (FunctionResponse)
  },
  "fileData": {
    object (FileData)
  }
  // End of list of possible types for union field data.
}
입력란

통합 필드 data입니다.

data는 다음 중 하나여야 합니다.

text

string

인라인 텍스트

inlineData

object (Blob)

인라인 미디어 바이트.

functionCall

object (FunctionCall)

모델에서 반환한 예측된 FunctionCall로, 인수와 그 값과 함께 FunctionDeclaration.name를 나타내는 문자열이 포함됩니다.

functionResponse

object (FunctionResponse)

FunctionDeclaration.name를 나타내는 문자열이 포함된 FunctionCall의 결과 출력과 함수의 출력이 포함된 구조화된 JSON 객체가 모델에 대한 컨텍스트로 사용됩니다.

fileData

object (FileData)

URI 기반 데이터

Blob

원시 미디어 바이트입니다.

텍스트를 원시 바이트로 전송하면 안 됩니다. 'text' 필드를 사용하세요.

JSON 표현
{
  "mimeType": string,
  "data": string
}
입력란
mimeType

string

소스 데이터의 IANA 표준 MIME 유형입니다. 예: - image/png - image/jpeg 지원되지 않는 MIME 유형을 제공하면 오류가 반환됩니다. 지원되는 형식의 전체 목록은 지원되는 파일 형식을 참고하세요.

data

string (bytes format)

미디어 형식의 원시 바이트입니다.

base64 인코딩 문자열입니다.

FunctionCall

모델에서 반환한 예측된 FunctionCall로, 인수와 그 값과 함께 FunctionDeclaration.name를 나타내는 문자열이 포함됩니다.

JSON 표현
{
  "name": string,
  "args": {
    object
  }
}
입력란
name

string

필수 항목입니다. 호출하려는 함수의 이름입니다. a~z, A~Z, 0~9이거나 밑줄과 대시를 포함해야 하며 최대 길이는 63자(영문 기준)입니다.

args

object (Struct format)

선택사항입니다. JSON 객체 형식의 함수 매개변수와 값입니다.

FunctionResponse

FunctionDeclaration.name를 나타내는 문자열이 포함된 FunctionCall의 결과 출력과 함수의 출력이 포함된 구조화된 JSON 객체가 모델에 대한 컨텍스트로 사용됩니다. 여기에는 모델 예측을 기반으로 한 FunctionCall의 결과가 포함되어야 합니다.

JSON 표현
{
  "name": string,
  "response": {
    object
  }
}
입력란
name

string

필수 항목입니다. 호출하려는 함수의 이름입니다. a~z, A~Z, 0~9이거나 밑줄과 대시를 포함해야 하며 최대 길이는 63자(영문 기준)입니다.

response

object (Struct format)

필수 항목입니다. JSON 객체 형식의 함수 응답입니다.

FileData

URI 기반 데이터

JSON 표현
{
  "mimeType": string,
  "fileUri": string
}
입력란
mimeType

string

선택사항입니다. 소스 데이터의 IANA 표준 MIME 유형입니다.

fileUri

string

필수 항목입니다. URI입니다.

도구

모델이 응답을 생성하는 데 사용할 수 있는 도구 세부정보입니다.

Tool는 시스템이 외부 시스템과 상호작용하여 모델의 지식과 범위를 벗어난 작업 또는 작업 집합을 실행할 수 있도록 하는 코드입니다.

JSON 표현
{
  "functionDeclarations": [
    {
      object (FunctionDeclaration)
    }
  ]
}
입력란
functionDeclarations[]

object (FunctionDeclaration)

선택사항입니다. 함수 호출에 사용할 수 있는 모델에서 사용할 수 있는 FunctionDeclarations 목록입니다.

모델 또는 시스템이 함수를 실행하지 않습니다. 대신 정의된 함수는 실행을 위한 클라이언트 측 인수가 포함된 [FunctionCall][content.part.function_call] 로 반환될 수 있습니다. 모델은 응답에 [FunctionCall][content.part.function_call] 을 채워 이러한 함수의 하위 집합을 호출하기로 결정할 수 있습니다. 다음 대화 차례에는 다음 모델 차례를 위한 [content.role] 'function' 생성 컨텍스트와 함께 [FunctionResponse][content.part.function_response]이 포함될 수 있습니다.

FunctionDeclaration

OpenAPI 3.03 사양에 정의된 함수 선언의 구조화된 표현입니다. 이 선언에는 함수 이름과 매개변수가 포함됩니다. 이 FunctionDeclaration은 모델에서 Tool로 사용하고 클라이언트에서 실행할 수 있는 코드 블록을 나타냅니다.

JSON 표현
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  }
}
입력란
name

string

필수 항목입니다. 함수 이름입니다. a~z, A~Z, 0~9이거나 밑줄과 대시를 포함해야 하며 최대 길이는 63자(영문 기준)입니다.

description

string

필수 항목입니다. 함수에 대한 간단한 설명입니다.

parameters

object (Schema)

선택사항입니다. 이 함수에 대한 매개변수를 설명합니다. Open API 3.03 매개변수 객체 문자열 키(매개변수 이름)를 반영합니다. 매개변수 이름은 대소문자를 구분합니다. 스키마 값: 매개변수에 사용되는 유형을 정의하는 스키마입니다.

스키마

Schema 객체를 사용하면 입력 및 출력 데이터 유형을 정의할 수 있습니다. 이러한 유형은 객체일 수 있지만 원시 유형과 배열도 될 수 있습니다. OpenAPI 3.0 스키마 객체의 선택된 하위 집합을 나타냅니다.

JSON 표현
{
  "type": enum (Type),
  "format": string,
  "description": string,
  "nullable": boolean,
  "enum": [
    string
  ],
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "items": {
    object (Schema)
  }
}
입력란
type

enum (Type)

필수 항목입니다. 데이터 유형입니다.

format

string

선택사항입니다. 데이터 형식입니다. 원시 데이터 유형에만 사용됩니다. 지원되는 형식: NUMBER 유형: float, double의 INTEGER 유형: int32, int64

description

string

선택사항입니다. 매개변수에 대한 간단한 설명입니다. 사용 예가 포함될 수 있습니다. 매개변수 설명은 마크다운 형식으로 지정해야 합니다.

nullable

boolean

선택사항입니다. null 값을 나타냅니다.

enum[]

string

선택사항입니다. enum 형식을 사용하는 Type.STRING 요소의 가능한 값입니다. 예를 들어 enum 방향을 {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]}로 정의할 수 있습니다.

properties

map (key: string, value: object (Schema))

선택사항입니다. Type.OBJECT의 속성

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

required[]

string

선택사항입니다. Type.OBJECT의 필수 속성.

items

object (Schema)

선택사항입니다. Type.ARRAY 요소의 스키마입니다.

유형

유형에는 https://spec.openapis.org/oas/v3.0.3#data-types에 정의된 OpenAPI 데이터 유형 목록이 포함됩니다.

열거형
TYPE_UNSPECIFIED 지정되지 않았으며 사용해서는 안 됩니다.
STRING 문자열 유형입니다.
NUMBER 숫자 유형입니다.
INTEGER 정수 유형입니다.
BOOLEAN 불리언 유형.
ARRAY 배열 유형입니다.
OBJECT 객체 유형입니다.

ToolConfig

요청에서 Tool 사용을 지정하기 위한 매개변수가 포함된 도구 구성입니다.

JSON 표현
{
  "functionCallingConfig": {
    object (FunctionCallingConfig)
  }
}
입력란
functionCallingConfig

object (FunctionCallingConfig)

선택사항입니다. 함수 호출 구성

FunctionCallingConfig

함수 호출 동작을 지정하기 위한 구성입니다.

JSON 표현
{
  "mode": enum (Mode),
  "allowedFunctionNames": [
    string
  ]
}
입력란
mode

enum (Mode)

선택사항입니다. 함수 호출을 실행해야 하는 모드를 지정합니다. 지정하지 않으면 기본값은 AUTO로 설정됩니다.

allowedFunctionNames[]

string

선택사항입니다. 제공된 경우 모델이 호출할 함수를 제한하는 함수 이름 세트입니다.

모드가 ANY인 경우에만 설정해야 합니다. 함수 이름은 [FunctionDeclaration.name]과 일치해야 합니다. 모드를 ANY로 설정하면 모델은 제공된 함수 이름 집합에서 함수 호출을 예측합니다.

모드

실행 모드를 정의하여 함수 호출의 실행 동작을 정의합니다.

열거형
MODE_UNSPECIFIED 지정되지 않은 함수 호출 모드입니다. 이 값을 사용해서는 안 됩니다.
AUTO 기본 모델 동작으로서 모델은 함수 호출 또는 자연어 응답을 예측하기로 결정합니다.
ANY 모델이 항상 함수 호출만 예측하도록 제한됩니다. 'allowedFunctionNames'가 설정되면 예측된 함수 호출은 'allowedFunctionNames' 중 하나로 제한되고, 그 외의 경우 예측된 함수 호출은 제공된 'functionDeclarations' 중 하나입니다.
NONE 모델이 함수 호출을 예측하지 않습니다. 모델 동작은 함수 선언을 전달하지 않을 때와 동일합니다.

UsageMetadata

캐시된 콘텐츠의 사용에 관한 메타데이터입니다.

JSON 표현
{
  "totalTokenCount": integer
}
입력란
totalTokenCount

integer

캐시된 콘텐츠가 사용하는 총 토큰 수입니다.

방법

create

CachedContent 리소스를 만듭니다.

delete

CachedContent 리소스를 삭제합니다.

get

CachedContent 리소스를 읽습니다.

list

CachedContents를 나열합니다.

patch

CachedContent 리소스를 업데이트합니다 (만료만 업데이트 가능).