REST Resource: projects.locations.dataStores

Recurso: DataStore

Mensagem que descreve um objeto DataStore. Um DataStore, que pertence diretamente a um Projeto, contém um conjunto de Documentos relacionados que compartilham um único DocumentType imutável, além da configuração usada para processá-los. Os documentos importados são divididos em segmentos, incorporados e armazenados na coleção de backup do repositório de dados (consulte collectionName).

Representação 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)
  }
}
Campos
name

string

Identificador. O nome totalmente qualificado do recurso do DataStore.

Formato: projects/{project}/locations/{location}/dataStores/{dataStoreId}

displayName

string

Opcional. Nome de exibição do DataStore especificado pelo usuário.

description

string

Opcional. Descrição do DataStore especificada pelo usuário.

createTime

string (Timestamp format)

Apenas saída. Criar carimbo de data/hora

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. Atualizar o carimbo de data/hora

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Opcional. Rótulos como pares de chave-valor.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

documentType

enum (DocumentType)

Obrigatório. Imutável. O tipo de conteúdo imutável de todos os documentos neste DataStore.

processingConfig

object (ProcessingConfig)

Opcional. Configuração que controla como os documentos neste DataStore são ingeridos (analisados, segmentados e incorporados).

Pode ser alterado com dataStores.patch. Uma mudança se aplica apenas aos documentos processados depois dela: os documentos que já estão no DataStore mantêm os segmentos atuais, e a reimportação de um arquivo que não mudou não o reprocessa.

state

enum (State)

Apenas saída. O estado do DataStore.

collectionName

string

Apenas saída. O nome do recurso da coleção que apoia esse DataStore, no formato projects/{project}/locations/{location}/collections/{collectionId}. collectionId é google-{dataStoreId} ou google- seguido por um hash do ID do DataStore quando ele tem mais de 63 caracteres. Preenchido após a criação da coleção de apoio.

documentMetadataSchema

object (DocumentMetadataSchema)

Opcional. Esquema para metadados definidos pelo usuário em documentos neste DataStore. O esquema será validado em relação ao JSON Schema Draft 7.

O esquema pode ser estendido posteriormente com dataStores.patch adicionando propriedades. As propriedades atuais não podem ser removidas ou alteradas.

DocumentType

O tipo de conteúdo dos documentos em um DataStore. Todos os documentos em um DataStore compartilham um único DocumentType imutável.

Tipos enumerados
DOCUMENT_TYPE_UNSPECIFIED Valor padrão, o tipo de documento não é especificado.
UNSTRUCTURED Documentos de texto: arquivos PDF, texto simples, Word, PowerPoint e Excel, opcionalmente com metadados.
VIDEO Documentos de vídeo, opcionalmente com metadados.

ProcessingConfig

ProcessingConfig controla como os documentos em um DataStore são analisados, segmentados e incorporados.

Representação JSON
{
  "videoProcessingConfig": {
    object (VideoProcessingConfig)
  },
  "unstructuredProcessingConfig": {
    object (UnstructuredProcessingConfig)
  }
}
Campos
videoProcessingConfig

object (VideoProcessingConfig)

Opcional. Configuração do pipeline de ingestão de vídeo. Aplicável quando o documentType do DataStore é VIDEO.

Se não for definido para um DataStore VIDEO, o pipeline vai usar como padrão a segmentação de janela fixa com um tamanho de janela de 30 segundos e o áudio desativado durante a geração de embeddings por segmento.

unstructuredProcessingConfig

object (UnstructuredProcessingConfig)

Opcional. Configuração do pipeline de ingestão de documentos não estruturados. Aplicável quando o documentType do DataStore é UNSTRUCTURED.

Se não for definido para um DataStore UNSTRUCTURED, o pipeline vai usar como padrão a segmentação de blocos com um chunkSize de 500, análise digital e geração de embeddings somente de texto por segmento.

VideoProcessingConfig

Configura o pipeline de ingestão de vídeo aplicado aos documentos ingeridos neste DataStore. As configurações de segmentação e incorporação podem evoluir de forma independente, mas permanecem agrupadas nesta mensagem.

Todas as subconfigurações são opcionais. Qualquer subconfiguração omitida volta para o padrão da plataforma documentado nesse campo.

Representação JSON
{
  "segmentationConfig": {
    object (VideoSegmentationConfig)
  },
  "embeddingConfig": {
    object (VideoEmbeddingGenerationConfig)
  }
}
Campos
segmentationConfig

object (VideoSegmentationConfig)

Opcional. Controla como os vídeos são divididos em segmentos antes do embedding.

Se não for definida, o padrão será a segmentação de janela fixa com uma janela de 30 segundos. Se definido, um modo de segmentação como fixedWindowConfig precisa ser definido. Uma configuração vazia é rejeitada.

embeddingConfig

object (VideoEmbeddingGenerationConfig)

Opcional. Controla como o embedding multimodal por segmento é gerado.

VideoSegmentationConfig

Configura como os vídeos são divididos em segmentos antes da incorporação.

Representação 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.
}
Campos
Obrigatório. É necessário escolher exatamente um modo de segmentação. Isso isola a configuração para que os usuários não possam definir campos que não se aplicam ao modo selecionado. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
fixedWindowConfig

object (FixedWindowConfig)

Segmentação de janela fixa (determinística).

Fim dos campos mutuamente exclusivos.

FixedWindowConfig

Configura a segmentação de janela fixa. Os segmentos são produzidos como janelas determinísticas e não sobrepostas de segmentDuration cada.

Representação JSON
{
  "segmentDuration": string
}
Campos
segmentDuration

string (Duration format)

Opcional. Especifica o tamanho fixo da janela para cada segmento emitido.

Se não for definido, o padrão será 30s. Quando definido explicitamente, precisa ser maior que 5s e menor ou igual a 80s.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

VideoEmbeddingGenerationConfig

Configura como os embeddings multimodais por segmento são gerados para a modalidade de vídeo.

Representação JSON
{
  "audioMode": enum (AudioMode)
}
Campos
audioMode

enum (AudioMode)

Opcional. Controla se a faixa de áudio contribui para o embedding. O padrão é DISABLED.

AudioMode

Especifica como a faixa de áudio do vídeo de origem deve ser tratada ao gerar embeddings por segmento.

Esse tipo enumerado está congelado, e não são esperados novos valores.

Tipos enumerados
AUDIO_MODE_UNSPECIFIED Não especificado. Tratado como DISABLED.
ENABLED Multiplexa a faixa de áudio no embedding multimodal com os frames de vídeo. Melhora o recall de consultas que dependem de conteúdo falado ou som ambiente (por exemplo, notícias com diálogos, comentários esportivos), ao custo de um tamanho maior de token de solicitação de embedding.
DISABLED Descarta a faixa de áudio e gera embeddings apenas de frames visuais. Padrão.

UnstructuredProcessingConfig

Configuração do pipeline de ingestão de documentos não estruturados aplicada aos documentos ingeridos neste DataStore. As configurações de segmentação e análise podem evoluir de forma independente, mas permanecem agrupadas nesta mensagem.

Todas as subconfigurações são opcionais. Qualquer subconfiguração omitida volta para o padrão da plataforma documentado nesse campo.

Representação JSON
{
  "segmentationConfig": {
    object (UnstructuredSegmentationConfig)
  },
  "parsingConfig": {
    object (UnstructuredParsingConfig)
  },
  "embeddingConfig": {
    object (UnstructuredEmbeddingConfig)
  }
}
Campos
segmentationConfig

object (UnstructuredSegmentationConfig)

Opcional. Controla como documentos não estruturados são divididos em segmentos antes da incorporação.

Se não for definido, o padrão será a segmentação de blocos com um chunkSize de 500. Se definido, exatamente um de chunkSegmentationConfig ou pageSegmentationConfig precisa ser definido. Uma configuração vazia é rejeitada.

parsingConfig

object (UnstructuredParsingConfig)

Opcional. A configuração de análise, aplicada a todos os tipos de arquivo para análise de documentos não estruturados. Os arquivos de texto simples (.txt) são sempre analisados digitalmente.

Se não for definido, o padrão será a análise digital (extração de texto nativa) ou a análise com reconhecimento de layout quando embeddingConfig.mode for MULTIMODAL. Se definido, exatamente um de digitalParsingConfig ou layoutParsingConfig precisa ser definido. Uma configuração vazia é rejeitada.

embeddingConfig

object (UnstructuredEmbeddingConfig)

Opcional. Controla como o embedding por segmento é gerado.

UnstructuredSegmentationConfig

Configura como os documentos não estruturados são divididos em segmentos antes da incorporação.

Representação 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.
}
Campos
Obrigatório. É necessário escolher exatamente um modo de segmentação. Isso isola a configuração para que os usuários não possam definir campos que não se aplicam ao modo selecionado. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
chunkSegmentationConfig

object (ChunkSegmentationConfig)

Segmentação no nível do bloco.

pageSegmentationConfig

object (PageSegmentationConfig)

Segmentação no nível da página.

Fim dos campos mutuamente exclusivos.

ChunkSegmentationConfig

As configurações de segmentação de fragmentos para documentos não estruturados. Os segmentos são produzidos como blocos semânticos (por exemplo, por parágrafo).

Representação JSON
{
  "chunkSize": integer,
  "includeAncestorHeadings": boolean
}
Campos
chunkSize

integer

Opcional. O limite de tamanho de token para cada bloco.

Valores compatíveis: 100 a 500 (inclusive). Se não for definido, o padrão será 500.

includeAncestorHeadings

boolean

Opcional. Se cada bloco também inclui os títulos das seções a que pertence, para que um bloco retirado do meio de uma seção mantenha o contexto.

Os cabeçalhos só são detectados pela análise de layout (layoutParsingConfig). Com a análise digital e para arquivos de texto simples, essa configuração não tem efeito.

Se não for definido, o padrão será "false".

PageSegmentationConfig

Esse tipo não tem campos.

As configurações de segmentação de página para documentos não estruturados. Os segmentos são produzidos no nível da página.

Use com análise digital. Com o layoutParsingConfig, os arquivos PDF não são importados, e os arquivos do Word, PowerPoint e Excel são divididos em partes.

UnstructuredParsingConfig

Configurações relacionadas aplicadas a um tipo específico de analisador de documentos não estruturados.

Representação 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.
}
Campos
Obrigatório. É preciso escolher exatamente um modo de análise. Isso isola a configuração para que os usuários não possam definir campos que não se aplicam ao modo selecionado. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
digitalParsingConfig

object (DigitalParsingConfig)

Análise digital (extração de texto nativo).

layoutParsingConfig

object (LayoutParsingConfig)

Análise com reconhecimento de layout.

Fim dos campos mutuamente exclusivos.

DigitalParsingConfig

Esse tipo não tem campos.

As configurações de análise digital para documentos não estruturados. Extrai o texto armazenado no arquivo, sem OCR ou detecção de layout: o texto que aparece apenas em imagens não é extraído, e os títulos e as tabelas não são detectados.

LayoutParsingConfig

Esse tipo não tem campos.

As configurações de análise de layout para documentos não estruturados. Detecta a estrutura do documento, como cabeçalhos e tabelas, e executa o OCR em arquivos PDF. Obrigatório para que includeAncestorHeadings tenha efeito e para a incorporação de MULTIMODAL.

UnstructuredEmbeddingConfig

Configura como os embeddings por segmento são gerados para a modalidade de documento não estruturado.

Representação JSON
{
  "mode": enum (EmbeddingMode)
}
Campos
mode

enum (EmbeddingMode)

Opcional. Controla de onde o embedding de um segmento é calculado. O valor padrão é TEXT.

EmbeddingMode

O que é usado para calcular o embedding de um segmento.

Tipos enumerados
EMBEDDING_MODE_UNSPECIFIED Não especificado. Tratado como TEXT.
TEXT Somente texto. As imagens extraídas do documento não contribuem para o embedding. Padrão.

Estado

O estado do DataStore.

Tipos enumerados
STATE_UNSPECIFIED O valor padrão. Esse valor será usado se o estado for omitido.
CREATING O repositório de dados está sendo criado.
ACTIVE O DataStore está pronto para uso.
DELETING O DataStore está sendo excluído.

DocumentMetadataSchema

Esquema para metadados definidos pelo usuário em documentos em um DataStore.

Representação JSON
{
  "schema": {
    object
  }
}
Campos
schema

object (Struct format)

Opcional. O esquema JSON para metadados de documentos. O esquema será validado em relação ao JSON Schema Draft 7.

Os nomes de propriedade podem conter apenas letras, dígitos, _ e -, e não podem começar com google em qualquer letra maiúscula ou minúscula. Esse prefixo é reservado. A palavra-chave additionalProperties não é compatível com properties.

Métodos

create

Cria um novo DataStore em determinado projeto e local.

delete

Exclui um único DataStore.

get

Recebe detalhes de um único DataStore.

importDocuments

Inicia uma operação de longa duração para importar documentos para um repositório de dados.

list

Lista os DataStores em determinado projeto e local.

patch

Atualiza os parâmetros de um único DataStore.

purgeDocuments

Inicia uma operação de longa duração para limpar documentos de um DataStore.