REST Resource: projects.locations.dataStores

리소스: DataStore

DataStore 객체를 설명하는 메시지입니다. 프로젝트가 직접 소유하는 DataStore는 단일의 변경 불가능한 DocumentType을 공유하는 관련 문서 집합과 이를 처리하는 데 사용되는 구성을 보유합니다. 가져온 문서는 세그먼트로 분할되고, 임베딩되고, DataStore의 지원 컬렉션에 저장됩니다(collectionName 참고).

JSON 표현
{
  "name": string,
  "displayName": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "documentType": enum (DocumentType),
  "processingConfig": {
    object (ProcessingConfig)
  },
  "state": enum (State),
  "collectionName": string,
  "documentMetadataSchema": {
    object (DocumentMetadataSchema)
  }
}
필드
name

string

식별자. DataStore의 정규화된 리소스 이름입니다.

형식: projects/{project}/locations/{location}/dataStores/{dataStoreId}

displayName

string

(선택사항) 사용자가 지정한 데이터 스토어의 표시 이름입니다.

description

string

(선택사항) 사용자가 지정한 DataStore 설명입니다.

createTime

string (Timestamp format)

출력 전용입니다. 생성 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 업데이트 타임스탬프입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

labels

map (key: string, value: string)

(선택사항) 키-값 쌍인 라벨입니다.

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

documentType

enum (DocumentType)

필수 항목입니다. 변경할 수 없습니다. 이 DataStore에 있는 모든 문서의 변경 불가능한 콘텐츠 유형입니다.

processingConfig

object (ProcessingConfig)

(선택사항) 이 DataStore의 문서가 수집 (파싱, 세분화, 임베딩)되는 방식을 제어하는 구성입니다.

dataStores.patch로 변경할 수 있습니다. 변경사항은 변경 이후에 처리된 문서에만 적용됩니다. 이미 데이터 스토어에 있는 문서는 기존 세그먼트를 유지하며, 변경되지 않은 파일을 다시 가져와도 다시 처리되지 않습니다.

state

enum (State)

출력 전용입니다. DataStore의 상태입니다.

collectionName

string

출력 전용입니다. 이 DataStore를 지원하는 컬렉션의 리소스 이름입니다(projects/{project}/locations/{location}/collections/{collectionId} 형식). collectionId는 google-{dataStoreId}이거나 google- 뒤에 데이터 스토어 ID의 해시가 오는 경우입니다(63자(영문 기준)를 초과하는 경우). 지원 컬렉션이 생성되면 채워집니다.

documentMetadataSchema

object (DocumentMetadataSchema)

(선택사항) 이 DataStore의 문서에 대한 사용자 정의 메타데이터의 스키마입니다. 스키마는 JSON 스키마 초안 7에 따라 검증됩니다.

나중에 dataStores.patch를 사용하여 속성을 추가하여 스키마를 확장할 수 있습니다. 기존 속성은 삭제하거나 변경할 수 없습니다.

DocumentType

DataStore에 있는 문서의 콘텐츠 유형입니다. DataStore의 모든 문서는 변경할 수 없는 단일 DocumentType을 공유합니다.

열거형
DOCUMENT_TYPE_UNSPECIFIED 기본값, 문서 유형이 지정되지 않았습니다.
UNSTRUCTURED 텍스트 문서: PDF, 일반 텍스트, Word, PowerPoint, Excel 파일(선택적으로 메타데이터 포함)
VIDEO 동영상 문서(메타데이터 포함 가능)

ProcessingConfig

ProcessingConfig는 데이터 스토어의 문서가 파싱, 세분화, 임베딩되는 방식을 제어합니다.

JSON 표현
{
  "videoProcessingConfig": {
    object (VideoProcessingConfig)
  },
  "unstructuredProcessingConfig": {
    object (UnstructuredProcessingConfig)
  }
}
필드
videoProcessingConfig

object (VideoProcessingConfig)

(선택사항) 동영상 수집 파이프라인의 구성입니다. 데이터 스토어의 documentType가 VIDEO인 경우에 적용됩니다.

VIDEO 데이터 스토어에 설정되지 않은 경우 파이프라인은 기본적으로 30초 윈도우 크기의 고정 윈도우 세분화로 설정되며 세그먼트별 임베딩 생성 중에 오디오가 사용 중지됩니다.

unstructuredProcessingConfig

object (UnstructuredProcessingConfig)

(선택사항) 비정형 문서 수집 파이프라인의 구성입니다. 데이터 스토어의 documentType가 UNSTRUCTURED인 경우에 적용됩니다.

UNSTRUCTURED 데이터 스토어에 설정되지 않은 경우 파이프라인은 기본적으로 chunkSize가 500인 청크 세분화, 디지털 파싱, 세그먼트별 텍스트 전용 임베딩 생성을 사용합니다.

VideoProcessingConfig

이 DataStore에 수집된 문서에 적용되는 동영상 수집 파이프라인을 구성합니다. 세분화 및 임베딩 설정은 이 메시지에서 그룹화된 상태로 독립적으로 발전할 수 있습니다.

모든 하위 구성은 선택사항입니다. 생략된 하위 구성은 해당 필드에 문서화된 플랫폼 기본값으로 대체됩니다.

JSON 표현
{
  "segmentationConfig": {
    object (VideoSegmentationConfig)
  },
  "embeddingConfig": {
    object (VideoEmbeddingGenerationConfig)
  }
}
필드
segmentationConfig

object (VideoSegmentationConfig)

(선택사항) 임베딩 전에 동영상이 세그먼트로 분할되는 방식을 제어합니다.

설정하지 않으면 기본적으로 30초 기간의 고정 기간 세분화가 사용됩니다. 설정된 경우 fixedWindowConfig과 같은 세분화 모드를 설정해야 합니다. 빈 구성은 거부됩니다.

embeddingConfig

object (VideoEmbeddingGenerationConfig)

(선택사항) 세그먼트별 멀티모달 임베딩이 생성되는 방식을 제어합니다.

VideoSegmentationConfig

임베딩 전에 동영상을 세그먼트로 분할하는 방법을 구성합니다.

JSON 표현
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "fixedWindowConfig": {
    object (FixedWindowConfig)
  }
  // End of mutually exclusive fields.
}
필드
필수 항목입니다. 분할 모드를 하나만 선택해야 합니다. 이렇게 하면 구성이 격리되므로 사용자가 선택한 모드에 적용되지 않는 필드를 설정할 수 없습니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
fixedWindowConfig

object (FixedWindowConfig)

고정 기간 (결정론적) 세분화

상호 배타적인 필드의 끝입니다.

FixedWindowConfig

고정 기간 세분화를 구성합니다. 세그먼트는 각각 segmentDuration의 결정론적이고 겹치지 않는 기간으로 생성됩니다.

JSON 표현
{
  "segmentDuration": string
}
필드
segmentDuration

string (Duration format)

(선택사항) 각 세그먼트의 고정 기간 크기를 지정합니다.

설정하지 않으면 기본값은 30초입니다. 명시적으로 설정하는 경우 5초보다 크고 80초 이하여야 합니다.

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

VideoEmbeddingGenerationConfig

동영상 양식에 대해 세그먼트별 멀티모달 임베딩이 생성되는 방식을 구성합니다.

JSON 표현
{
  "audioMode": enum (AudioMode)
}
필드
audioMode

enum (AudioMode)

(선택사항) 오디오 트랙이 임베딩에 기여하는지 여부를 제어합니다. 기본값은 DISABLED입니다.

AudioMode

세그먼트별 임베딩을 생성할 때 소스 동영상의 오디오 트랙을 처리하는 방법을 지정합니다.

이 enum은 고정되어 있으며 새 값이 예상되지 않습니다.

열거형
AUDIO_MODE_UNSPECIFIED 지정되지 않음. DISABLED로 처리됩니다.
ENABLED 오디오 트랙을 동영상 프레임과 함께 멀티모달 임베딩으로 멀티플렉싱합니다. 음성 콘텐츠 또는 주변 소리에 의존하는 검색어 (예: 대화 기반 뉴스, 스포츠 해설)의 재현율을 개선하지만, 임베딩 요청 토큰 크기가 커집니다.
DISABLED 오디오 트랙을 삭제하고 시각적 프레임에서만 임베딩을 생성합니다. 기본값입니다.

UnstructuredProcessingConfig

이 데이터 스토어로 수집된 문서에 적용되는 비정형 문서 수집 파이프라인의 구성입니다. 세분화 및 파싱 설정은 이 메시지에서 그룹화된 상태로 유지되면서 독립적으로 발전할 수 있습니다.

모든 하위 구성은 선택사항입니다. 생략된 하위 구성은 해당 필드에 문서화된 플랫폼 기본값으로 대체됩니다.

JSON 표현
{
  "segmentationConfig": {
    object (UnstructuredSegmentationConfig)
  },
  "parsingConfig": {
    object (UnstructuredParsingConfig)
  },
  "embeddingConfig": {
    object (UnstructuredEmbeddingConfig)
  }
}
필드
segmentationConfig

object (UnstructuredSegmentationConfig)

(선택사항) 임베딩 전에 비정형 문서를 세그먼트로 분할하는 방법을 제어합니다.

설정하지 않으면 기본적으로 chunkSize이 500인 청크 세분화가 사용됩니다. 설정된 경우 chunkSegmentationConfig 또는 pageSegmentationConfig 중 하나만 설정해야 합니다. 빈 구성은 거부됩니다.

parsingConfig

object (UnstructuredParsingConfig)

(선택사항) 비정형 문서 파싱의 모든 파일 형식에 적용되는 파싱 구성입니다. 일반 텍스트 (.txt) 파일은 항상 디지털 방식으로 파싱됩니다.

설정하지 않으면 기본적으로 디지털 (네이티브 텍스트 추출) 파싱으로 설정되거나 embeddingConfig.mode가 MULTIMODAL인 경우 레이아웃 인식 파싱으로 설정됩니다. 설정된 경우 digitalParsingConfig 또는 layoutParsingConfig 중 하나만 설정해야 합니다. 빈 구성은 거부됩니다.

embeddingConfig

object (UnstructuredEmbeddingConfig)

(선택사항) 세그먼트별 임베딩이 생성되는 방식을 제어합니다.

UnstructuredSegmentationConfig

임베딩 전에 비정형 문서를 세그먼트로 분할하는 방법을 구성합니다.

JSON 표현
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "chunkSegmentationConfig": {
    object (ChunkSegmentationConfig)
  },
  "pageSegmentationConfig": {
    object (PageSegmentationConfig)
  }
  // End of mutually exclusive fields.
}
필드
필수 항목입니다. 분할 모드를 하나만 선택해야 합니다. 이렇게 하면 구성이 격리되므로 사용자가 선택한 모드에 적용되지 않는 필드를 설정할 수 없습니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
chunkSegmentationConfig

object (ChunkSegmentationConfig)

청크 수준 세분화

pageSegmentationConfig

object (PageSegmentationConfig)

페이지 수준 세분화

상호 배타적인 필드의 끝입니다.

ChunkSegmentationConfig

비정형 문서의 청크 세분화 구성입니다. 세그먼트는 시맨틱 청크 (예: 단락)로 생성됩니다.

JSON 표현
{
  "chunkSize": integer,
  "includeAncestorHeadings": boolean
}
필드
chunkSize

integer

(선택사항) 각 청크의 토큰 크기 한도입니다.

지원되는 값: 100 이상 500 이하 설정하지 않으면 기본값은 500입니다.

includeAncestorHeadings

boolean

(선택사항) 각 청크에 속한 섹션의 제목도 포함되는지 여부입니다. 이렇게 하면 섹션 중간에서 가져온 청크가 컨텍스트를 유지합니다.

제목은 레이아웃 파싱 (layoutParsingConfig)으로만 감지됩니다. 디지털 파싱 및 일반 텍스트 파일의 경우 이 설정은 영향을 미치지 않습니다.

설정하지 않으면 기본값은 false입니다.

PageSegmentationConfig

이 유형에는 필드가 없습니다.

구조화되지 않은 문서의 페이지 세분화 구성입니다. 세그먼트는 페이지 수준에서 생성됩니다.

디지털 파싱과 함께 사용합니다. layoutParsingConfig를 사용하면 PDF 파일을 가져올 수 없으며 Word, PowerPoint, Excel 파일이 청크로 분할됩니다.

UnstructuredParsingConfig

특정 유형의 비정형 문서 파서에 적용되는 관련 구성입니다.

JSON 표현
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "digitalParsingConfig": {
    object (DigitalParsingConfig)
  },
  "layoutParsingConfig": {
    object (LayoutParsingConfig)
  }
  // End of mutually exclusive fields.
}
필드
필수 항목입니다. 파싱 모드를 하나만 선택해야 합니다. 이렇게 하면 구성이 격리되므로 사용자가 선택한 모드에 적용되지 않는 필드를 설정할 수 없습니다. 다음은 상호 배타적인 필드 목록입니다. 응답에서 최대 하나의 필드가 설정됩니다.
digitalParsingConfig

object (DigitalParsingConfig)

디지털 (네이티브 텍스트 추출) 파싱

layoutParsingConfig

object (LayoutParsingConfig)

레이아웃 인식 파싱.

상호 배타적인 필드의 끝입니다.

DigitalParsingConfig

이 유형에는 필드가 없습니다.

구조화되지 않은 문서의 디지털 파싱 구성입니다. OCR 또는 레이아웃 감지 없이 파일에 저장된 텍스트를 추출합니다. 이미지에만 표시되는 텍스트는 추출되지 않으며 제목과 표는 감지되지 않습니다.

LayoutParsingConfig

이 유형에는 필드가 없습니다.

비정형 문서의 레이아웃 파싱 구성입니다. 제목 및 표와 같은 문서 구조를 감지하고 PDF 파일에서 OCR을 실행합니다. includeAncestorHeadings가 적용되고 MULTIMODAL 임베딩에 필요합니다.

UnstructuredEmbeddingConfig

비정형 문서 모달리티에 대해 세그먼트별 임베딩이 생성되는 방식을 구성합니다.

JSON 표현
{
  "mode": enum (EmbeddingMode)
}
필드
mode

enum (EmbeddingMode)

(선택사항) 세그먼트의 임베딩이 계산되는 대상을 제어합니다. 기본값은 TEXT입니다.

EmbeddingMode

세그먼트의 임베딩이 계산되는 소스입니다.

열거형
EMBEDDING_MODE_UNSPECIFIED 지정되지 않음. TEXT로 처리됩니다.
TEXT 텍스트 전용. 문서에서 추출된 이미지는 임베딩에 기여하지 않습니다. 기본값입니다.

주

DataStore의 상태입니다.

열거형
STATE_UNSPECIFIED 기본값입니다. 이 값은 상태가 생략된 경우에 사용됩니다.
CREATING Datastore를 만드는 중입니다.
ACTIVE DataStore를 사용할 준비가 되었습니다.
DELETING 데이터 스토어가 삭제되는 중입니다.

DocumentMetadataSchema

DataStore의 문서에 대한 사용자 정의 메타데이터의 스키마입니다.

JSON 표현
{
  "schema": {
    object
  }
}
필드
schema

object (Struct format)

(선택사항) 문서 메타데이터의 JSON 스키마입니다. 스키마는 JSON 스키마 초안 7에 따라 검증됩니다.

속성 이름에는 문자, 숫자, _, -만 포함할 수 있으며 대소문자에 관계없이 google로 시작해서는 안 됩니다. 이 프리픽스는 예약되어 있습니다. additionalProperties 키워드는 properties 내에서 지원되지 않습니다.

메서드

create

특정 프로젝트와 위치에 새 DataStore를 만듭니다.

delete

단일 DataStore를 삭제합니다.

get

단일 데이터 스토어의 세부정보를 가져옵니다.

importDocuments

장기 실행 작업을 시작하여 문서를 DataStore로 가져옵니다.

list

특정 프로젝트 및 위치의 데이터 스토어를 나열합니다.

patch

단일 DataStore의 파라미터를 업데이트합니다.

purgeDocuments

데이터 스토어에서 문서를 영구 삭제하는 장기 실행 작업을 시작합니다.