É possível atualizar o esquema de qualquer dado que o suporte, como dados estruturados, dados de sites com dados estruturados ou outros dados não estruturados com metadados.
É possível atualizar o esquema no console Google Cloud ou usando o método da API
schemas.patch
.
A atualização do esquema de um site é compatível apenas com a API REST.
Para atualizar o esquema, adicione novos campos, mude as anotações indexáveis, pesquisáveis e
recuperáveis de um campo ou marque um campo como uma propriedade de chave, como
title
, uri
e description
.
Atualizar o esquema
É possível atualizar o esquema no console do Google Cloud ou usando a API.
Console
Para atualizar um esquema no console do Google Cloud , siga estas etapas:
Revise a seção Requisitos e limitações para verificar se a atualização do esquema é válida.
Se você estiver atualizando anotações de campo (definindo campos como indexáveis, recuperáveis, dinâmicos, pesquisáveis ou completáveis), consulte Configurar definições de campo para conhecer as limitações e os requisitos de cada tipo de anotação.
Verifique se você concluiu a ingestão de dados. Caso contrário, talvez o esquema ainda não esteja disponível para edição.
No console Google Cloud , acesse a página Aplicativos de IA.
No menu de navegação, clique em Repositórios de dados.
Na coluna Nome, clique no repositório de dados com o esquema que você quer atualizar.
Clique na guia Esquema para conferir o esquema dos seus dados.
Essa guia pode estar vazia se for a primeira vez que você edita os campos.
Clique no botão Editar.
Atualize o esquema:
Mapear propriedades principais:na coluna Propriedades principais do seu esquema, selecione uma propriedade principal para mapear um campo. Por exemplo, se um campo chamado
details
sempre contiver a descrição de um documento, mapeie esse campo para a propriedade de chave Description.Atualizar o número de dimensões (avançado): é possível atualizar essa configuração se você estiver usando embeddings de vetores personalizados com a Pesquisa da Vertex AI. Consulte Avançado: usar incorporações personalizadas.
Atualizar anotações de campo:para atualizar as anotações de um campo, selecione ou desmarque a configuração de anotação de um campo. As anotações disponíveis são Recuperável, Indexável, Tabela dinâmica, Pesquisável e Concluível. Algumas configurações de campo têm limitações. Consulte Configurar as definições de campo para descrições e requisitos de cada tipo de anotação.
Adicionar um novo campo:adicionar novos campos ao esquema antes de importar novos documentos com esses campos pode reduzir o tempo necessário para que os aplicativos de IA reindexem seus dados após a importação.
Clique em Adicionar novos campos para abrir essa seção.
Clique em add_box Adicionar nó e especifique as configurações do novo campo.
Para indicar uma matriz, defina Matriz como Sim. Por exemplo, para adicionar uma matriz de strings, defina type como
string
e Array comoYes
.Para um índice de repositório de dados de site, todos os campos adicionados são matrizes por padrão.
Clique em Salvar para aplicar as mudanças no esquema.
Mudar o esquema aciona a reindexação. Para repositórios de dados grandes, a reindexação pode levar horas.
REST
Para usar a API e atualizar seu esquema, siga estas etapas:
Revise as seções Requisitos e limitações e Exemplos de limitações (somente REST) para verificar se as mudanças no esquema são válidas.
Para atualizar o esquema de repositórios de dados com sites ou dados não estruturados com metadados, pule para a etapa 5 e chame o método
schema.patch
.Se você estiver atualizando anotações de campo (definindo campos como indexáveis, recuperáveis, dinâmicos com facetas ou pesquisáveis), consulte Configurar definições de campo para conhecer as limitações e os requisitos de cada tipo de anotação.
Se você estiver editando um esquema detectado automaticamente, verifique se concluiu a ingestão de dados. Caso contrário, talvez o esquema ainda não esteja disponível para edição.
Encontre o ID do repositório de dados. Se você já tiver o ID do repositório de dados, pule para a próxima etapa.
No console Google Cloud , acesse a página Aplicativos de IA e, no menu de navegação, clique em Repositórios de dados.
Clique no nome do seu repositório de dados.
Na página Dados do seu repositório de dados, encontre o ID do repositório.
Use o método de API schemas.patch para fornecer seu novo esquema JSON como um objeto JSON.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'
Substitua:
PROJECT_ID
: o ID do seu Google Cloud projeto.DATA_STORE_ID
: o ID do repositório de dados da Vertex AI para Pesquisa.JSON_SCHEMA_OBJECT
: seu novo esquema JSON como um objeto JSON. Exemplo:{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
Opcional: revise o esquema seguindo o procedimento Ver uma definição de esquema.
C#
Para mais informações, consulte a documentação de referência da API C# de aplicativos de IA.
Para autenticar no AI Applications, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Go de aplicativos de IA.
Para autenticar no AI Applications, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Java de aplicativos de IA.
Para autenticar no AI Applications, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Python de aplicativos de IA.
Para autenticar no AI Applications, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby de aplicativos de IA.
Para autenticar no AI Applications, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Requisitos e limitações
Ao atualizar um esquema, verifique se o novo esquema é compatível com versões anteriores do esquema que você está atualizando. Para atualizar um esquema com um novo esquema que não é compatível com versões anteriores, exclua todos os documentos no repositório de dados, exclua o esquema e crie um novo.
A atualização de um esquema aciona a reindexação de todos os documentos. Isso pode levar tempo e gerar custos adicionais:
Tempo. A reindexação de um repositório de dados grande pode levar horas ou dias.
Despesa. A reindexação pode gerar custos, dependendo do analisador. Por exemplo, a reindexação de repositórios de dados que usam o analisador de OCR ou o analisador de layout gera custos. Para mais informações, consulte os preços dos recursos da Document AI.
As atualizações de esquema não são compatíveis com o seguinte:
- Mudar um tipo de campo. Uma atualização de esquema não permite mudar o tipo do campo. Por exemplo, um campo associado a um número inteiro não pode ser alterado para uma string.
- Remover um campo Depois de definido, um campo não pode ser removido. Você pode continuar adicionando novos campos, mas não pode remover um atual.
Exemplos de limitações (somente REST)
Esta seção mostra exemplos de tipos válidos e inválidos de atualizações de esquema. Estes exemplos usam o seguinte esquema JSON:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string",
"keyPropertyMapping": "description"
},
"categories": {
"type": "array",
"items": {
"type": "string",
"keyPropertyMapping": "category"
}
}
}
}
Exemplos de atualizações compatíveis
As seguintes atualizações do esquema de exemplo são compatíveis.
Adicionar um campo. Neste exemplo, o campo
properties.uri
foi adicionado ao esquema.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string" }, "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { // Added field. This is supported. "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Adicionar ou remover anotações de propriedades principais para
title
,description
ouuri
. Neste exemplo,keyPropertyMapping
foi adicionado ao campotitle
.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" // Added "keyPropertyMapping". This is supported. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Exemplos de atualizações de esquema inválidas
As seguintes atualizações no esquema de exemplo não são compatíveis.
Mudar um tipo de campo. Neste exemplo, o tipo do campo
title
foi alterado de string para número. Isso não é permitido.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "number" // Changed from string. Not allowed. }, "description": { "type": "string", "keyPropertyMapping": "description" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
Remover um campo Neste exemplo, o campo
title
foi removido. Isso não é permitido.{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { // "title" is removed. Not allowed. "description": { "type": "string", "keyPropertyMapping": "description" }, "uri": { "type": "string", "keyPropertyMapping": "uri" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } } } }
A seguir
- Ver a definição de esquema para dados estruturados
- Excluir um esquema para dados estruturados
- Visualizar os resultados da pesquisa