Esta página apresenta o analisador de esquemas da Document AI e como é usado com o motor RAG.
Document AI
A Document AI é uma plataforma de processamento e compreensão de documentos que recebe dados não estruturados de documentos e transforma-os em campos adequados para armazenamento numa base de dados. Os dados estruturados geram dados que pode compreender, analisar e consumir.
A Document AI é criada com base em produtos na Vertex AI com IA generativa para ajudar a criar aplicações de processamento de documentos baseadas na nuvem, escaláveis e abrangentes. Não são necessários conhecimentos especializados de aprendizagem automática para usar estes produtos.
Analisador de esquemas do Document AI
O analisador de esquemas extrai elementos de conteúdo do documento, como texto, tabelas e listas. Em seguida, o analisador de esquemas cria blocos sensíveis ao contexto que facilitam a obtenção de informações em aplicações de IA generativa e de descoberta.
Quando é usado para obtenção e geração de GML, o esquema do documento é considerado durante o processo de divisão em blocos, o que melhora a coerência semântica e reduz o ruído no conteúdo. Todo o texto num fragmento provém da mesma entidade de esquema, como o cabeçalho, o subtítulo ou a lista.
Para ver os tipos de ficheiros usados pela deteção de esquemas, consulte o artigo Deteção de esquemas por tipo de ficheiro.
Use o analisador de esquemas no Vertex AI RAG Engine
Para usar o analisador de esquemas no motor RAG da Vertex AI, tem de criar um corpus. Para criar um corpus, faça o seguinte:
Na Google Cloud consola, aceda à página RAG Engine.
Selecione Criar corpus.
No campo Região, selecione a sua região.
No campo Nome do corpus, introduza o nome do corpus.
No campo Descrição, introduza uma descrição.
Na secção Dados, selecione onde quer carregar os dados.
Expanda a secção Opções avançadas.
Na secção Estratégia de divisão em partes, são recomendados os seguintes tamanhos predefinidos:
- Tamanho da divisão: 1024
- Sobreposição de fragmentos: 256
Na secção Analizador de esquemas, selecione a opção Analizador de esquemas da IA Documentos, que tem a precisão mais elevada para documentos com imagens ou gráficos.
No campo Modelo, selecione o seu modelo.
Opcional: no campo Pedidos de análise máximos por minuto, introduza o número máximo de pedidos de análise.
Opcional: no campo Comando de análise personalizado, introduza o comando de análise.
Clique em Continuar.
Na página Configurar arquivo vetorial, faça o seguinte:
No campo Modelo de incorporação, selecione o seu modelo de incorporação.
Na secção Base de dados vetorial, selecione a sua base de dados.
Clique em Criar corpus.
Limitações
A API ImportRagFiles
suporta o analisador de esquemas, no entanto, aplicam-se as seguintes limitações:
- Introduza o tamanho máximo do ficheiro de 20 MB para todos os tipos de ficheiros.
- Existe um máximo de 500 páginas por ficheiro PDF.
Aplicam-se as quotas e os preços da Document AI.
Ative a API Document AI
Tem de ativar a API Document AI para o seu projeto. Para mais informações sobre a ativação de APIs, consulte a documentação de utilização de serviços.
Enable the Document AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin
), which
contains the serviceusage.services.enable
permission. Learn how to grant
roles.
Ative o analisador de esquemas
Para ativar o analisador de esquemas, siga estes passos:
Crie um analisador de esquemas seguindo as instruções em Criar e gerir processadores.
O nome do tipo de processador é
LAYOUT_PARSER_PROCESSOR
.Ative o analisador de esquemas seguindo as instruções em Ative um processador.
A sua base de conhecimentos (corpus) de RAG
Se não tiver um corpus RAG, crie um. Por exemplo, consulte o artigo Crie um exemplo de corpus de RAG.
Se já tiver um corpus RAG, os ficheiros existentes que foram importados sem um analisador de esquemas não são reimportados quando importa ficheiros através do analisador de esquemas. Se quiser usar um analisador de esquemas com os seus ficheiros, elimine-os primeiro. Por exemplo, veja o exemplo de eliminação de um ficheiro RAG.
Importar ficheiros através da análise sintática de esquemas
Pode importar ficheiros e pastas de várias origens através da análise sintática de esquemas.
Python
Para saber como instalar ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
Substitua as seguintes variáveis usadas no exemplo de código:
- PROJECT_ID: o ID do seu projeto.
- LOCATION: a região para processar o pedido.
- RAG_CORPUS_ID: o ID do recurso do corpus RAG.
- GCS_URIS: uma lista de localizações do Cloud Storage. Por
exemplo:
"gs://my-bucket1"
,"gs://my-bucket2"
. - LAYOUT_PARSER_PROCESSOR_NAME: O caminho do recurso para o processador do analisador de esquemas que foi criado. Por exemplo:
"projects/{project}/locations/{location}/processors/{processor_id}"
. - CHUNK_SIZE: opcional: o número de tokens que cada bloco deve ter.
from vertexai import rag
import vertexai
PROJECT_ID = YOUR_PROJECT_ID
corpus_name = "projects/{PROJECT_ID}/locations/us-central1/ragCorpora/{rag_corpus_id}"
paths = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"] # Supports Cloud Storage and Google Drive.
# Initialize Vertex AI API once per session
vertexai.init(project=PROJECT_ID, location="LOCATION")
response = rag.import_files(
corpus_name=corpus_name,
paths=paths,
transformation_config=rag.TransformationConfig(
rag.ChunkingConfig(chunk_size=1024, chunk_overlap=256)
),
import_result_sink="gs://sample-existing-folder/sample_import_result_unique.ndjson", # Optional: This must be an existing storage bucket folder, and the filename must be unique (non-existent).
layout_parser=rag.LayoutParserConfig(
processor_name="projects/{PROJECT_ID}/locations/us/processors/{processor_id}/processorVersions/{processor_version_id}",
max_parsing_requests_per_min=120,
),
max_embedding_requests_per_min=900, # Optional
)
print(f"Import response: {response}")
REST
O exemplo de código mostra como importar ficheiros do Cloud Storage através do analisador
de esquemas. Para mais opções de configuração, incluindo a importação de ficheiros de outra fonte, consulte a ImportRagFilesConfig
referência.
Antes de usar qualquer um dos dados do pedido, substitua as seguintes variáveis usadas no exemplo de código:
- PROJECT_ID: o ID do seu projeto.
- LOCATION: a região para processar o pedido.
- RAG_CORPUS_ID: o ID do recurso do corpus RAG.
- GCS_URIS: uma lista de localizações do Cloud Storage. Por
exemplo:
"gs://my-bucket1"
,"gs://my-bucket2"
. - LAYOUT_PARSER_PROCESSOR_NAME: O caminho do recurso para o processador do analisador de esquemas que foi criado. Por exemplo:
"projects/{project}/locations/{location}/processors/{processor_id}"
. - CHUNK_SIZE: opcional: o número de tokens que cada bloco deve ter.
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Corpo JSON do pedido:
{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_parsing_config": {
"layout_parser": {
"processor_name": "LAYOUT_PARSER_PROCESSOR_NAME"
}
},
"rag_file_transformation_config": {
"rag_file_chunking_config": {
"fixed_length_chunking": {
"chunk_size": CHUNK_SIZE
}
}
},
}
}
Para enviar o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro denominado request.json e execute o seguinte comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import"
Powershell
Guarde o corpo do pedido num ficheiro denominado request.json e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import" | Select-Object -Expand Content
Consulta de obtenção
Quando um utilizador faz uma pergunta ou fornece um comando, o componente de obtenção na RAG pesquisa na respetiva base de conhecimentos para encontrar informações relevantes para a consulta.
Para ver um exemplo de obtenção de ficheiros RAG de um corpus com base num texto de consulta, consulte Consulta de obtenção.
Previsão
A previsão gera uma resposta fundamentada com base nos contextos obtidos. Para ver um exemplo, consulte Geração.
O que se segue?
- Opções de base de dados vetorial no Vertex AI RAG Engine
- Para saber como importar ficheiros RAG, consulte o Exemplo de importação de ficheiros RAG.