Esta página explica como usar o analisador de ECR do MDG do Vertex AI.
Introdução
O Vertex AI RAG Engine usa MDIs para a análise de documentos. Os MDIs têm a capacidade de processar documentos de forma eficaz das seguintes formas:
- Compreender e interpretar conteúdo semântico em vários formatos.
- Obter fragmentos de documentos relevantes.
- Extrair informações significativas de documentos.
- Identificar secções relevantes em documentos.
- Resumir documentos complexos com precisão.
- Compreender e interagir com imagens.
- Extraia dados de gráficos e diagramas.
- Descrever imagens.
- Compreender as relações entre gráficos e texto.
- Fornecer respostas mais precisas e com mais contexto.
As capacidades do motor RAG da Vertex AI melhoram significativamente a qualidade das respostas geradas.
Modelos suportados
Os seguintes modelos são compatíveis com o analisador de MDIs do motor RAG da Vertex AI:
Tipos de ficheiros suportados
Os seguintes tipos de ficheiros são suportados pelo analisador de LLM:
application/pdf
image/png
image/jpeg
image/webp
image/heic
image/heif
Preços e quotas
Para ver detalhes dos preços, consulte a secção Preços do Vertex AI.
Para ver as quotas aplicáveis, consulte Quotas de tarifas.
O analisador LLM chama os modelos Gemini para analisar os seus documentos. Isto gera custos adicionais, que são cobrados ao seu projeto. Pode estimar o custo aproximadamente através desta fórmula:
cost = number_of_document_files * average_pages_per_document * (average_input_tokens * input_token_pricing_of_selected_model + average_output_tokens * output_token_pricing_of_selected_model)
Por exemplo, tem 1000 ficheiros PDF e cada ficheiro PDF tem 50 páginas. A página PDF média tem 500 tokens e precisamos de mais 100 tokens para os comandos. A saída média é de 100 tokens.
O Gemini 2.0 Flash-Lite é usado na sua configuração para análise e custa 0,075 USD por 1 milhão de tokens de entrada e 0,3 USD por tokens de texto de saída.
cost = 1,000 * 50 * (600 * 0.075 / 1M + 100 * 0.3 / 1M) = 3.75
O custo é de 3,75 $.
Importe ficheiros com a opção LlmParser
ativada
Substitua os valores nas seguintes variáveis usadas nos exemplos de código:
- PROJECT_ID: o ID do seu projeto do Google Cloud .
- LOCATION: a região onde o seu pedido é processado.
- RAG_CORPUS_RESOURCE: o ID do seu corpus.
- GCS_URI: o URI do Cloud Storage dos ficheiros que quer importar.
- GOOGLE_DRIVE_URI: o URI do Google Drive dos ficheiros que quer importar.
- MODEL_NAME: o nome do recurso do modelo usado para a análise.
Formato:
projects/{project_id}/locations/{location}/publishers/google/models/{model_id}
- CUSTOM_PARSING_PROMPT: opcional: comando personalizado que é configurado pelo cliente para o analisador de LLM usar na análise de documentos.
MAX_PARSING_REQUESTS_PER_MIN: Opcional: O número máximo de pedidos que a tarefa pode fazer ao modelo da Vertex AI por minuto. Para mais informações, consulte o artigo Limites de taxa da IA generativa na Vertex AI e a página Quotas e limites do sistema do seu projeto para definir um valor adequado.
REST
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_RESOURCE/ragFiles:import" -d '{
"import_rag_files_config": {
"gcs_source": {
"uris": ["GCS_URI", "GOOGLE_DRIVE_URI"]
},
"rag_file_chunking_config": {
"chunk_size": 512,
"chunk_overlap": 102
},
"rag_file_parsing_config": {
"llm_parser": {
"model_name": "MODEL_NAME",
"custom_parsing_prompt": "CUSTOM_PARSING_PROMPT"
"max_parsing_requests_per_min": "MAX_PARSING_REQUESTS_PER_MIN"
}
}
}
}'
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.
from vertexai import rag
import vertexai
PROJECT_ID = "PROJECT_ID"
CORPUS_NAME = "RAG_CORPUS_RESOURCE"
LOCATION = "LOCATION"
MODEL_ID = "MODEL_ID"
MODEL_NAME = "projects/{PROJECT_ID}/locations/{LOCATION}/publishers/google/models/{MODEL_ID}"
MAX_PARSING_REQUESTS_PER_MIN = MAX_PARSING_REQUESTS_PER_MIN # Optional
CUSTOM_PARSING_PROMPT = "Your custom prompt" # Optional
PATHS = ["https://drive.google.com/file/123", "gs://my_bucket/my_files_dir"]
# Initialize Vertex AI API once per session
vertexai.init(project={PROJECT_ID}, location={LOCATION})
transformation_config = rag.TransformationConfig(
chunking_config=rag.ChunkingConfig(
chunk_size=1024, # Optional
chunk_overlap=200, # Optional
),
)
llm_parser_config = rag.LlmParserConfig(
model_name = MODEL_NAME,
max_parsing_requests_per_min=MAX_PARSING_REQUESTS_PER_MIN, # Optional
custom_parsing_prompt=CUSTOM_PARSING_PROMPT, # Optional
)
rag.import_files(
CORPUS_NAME,
PATHS,
llm_parser=llm_parser_config,
transformation_config=transformation_config,
)
Interagir
O analisador de MDL/CE do motor RAG da Vertex AI usa um comando predefinido e otimizado para analisar documentos. No entanto, se tiver documentos especializados que possam não ser adequados para um comando geral, tem a opção de especificar o seu comando de análise personalizado quando usar a API. Quando pede ao Gemini para analisar os seus documentos, a app Vertex AI RAG Engine acrescenta um comando ao seu comando de sistema predefinido.
Tabela de modelos de comandos
Para ajudar na análise de documentos, a tabela seguinte fornece um exemplo de modelo de comando para lhe dar orientações na criação de comandos que o motor RAG do Vertex AI pode usar para analisar os seus documentos:
Instrução | Declaração do modelo | Exemplo |
---|---|---|
Especifique a função. | É [especifique a função, como um extrator de dados factuais ou um recuperador de informações]. | É um recuperador de informações. |
Especifique a tarefa. | Extrai [Specify the type of information, such as factual statements, key data, or specific details] do [Specify the document source, such as a document, text, article, image, table]. | Extrair dados importantes do ficheiro sample.txt. |
Explique como quer que o GML gere o resultado de acordo com os seus documentos. | Apresentar cada facto num [Specify the output format, such as a structured list or text format] e incluir um link para a respetiva [Specify the source location, such as a page, paragraph, table, or row]. | Apresente cada facto numa lista estruturada e inclua um link para a respetiva página de exemplo. |
Realce o que deve ser o foco do MDG. | Extraia [Specify the key data types, such as the names, dates, numbers, attributes, or relationships] exatamente como indicado. | Extrair nomes e datas. |
Realce o que quer que o MDG evite. | [Indique as ações a evitar, como análise, interpretação, resumo, inferência ou dar opiniões]. Extraia apenas o que o documento diz explicitamente. | Não dar opiniões. Extraia apenas o que o documento diz explicitamente. |
Orientações gerais
Siga estas diretrizes para escrever o comando a enviar ao analisador de MDIs.
- Específico: defina claramente a tarefa e o tipo de informações a extrair.
- Detalhado: fornecer instruções detalhadas sobre o formato de saída, a atribuição de fontes e o processamento de diferentes estruturas de dados.
- Restringir: indique explicitamente o que a IA não deve fazer, como análise ou interpretação.
- Claro: use uma linguagem clara e diretiva.
- Estruturado: organize as instruções de forma lógica com listas numeradas ou tópicos para facilitar a leitura.
Análise da qualidade da análise sintática
Esta tabela apresenta os resultados de cenários que os clientes executaram com o motor RAG da Vertex AI. O feedback mostra que o analisador do MDG melhora a qualidade da análise de documentos.
Cenário | Resultado | |
---|---|---|
Analisar informações nos slides e associar secções | O analisador do GML associou com êxito os títulos das secções num diapositivo às informações detalhadas apresentadas nos diapositivos seguintes. | |
Compreender e extrair informações de tabelas | O analisador do MDG relacionou corretamente as colunas e os cabeçalhos numa tabela grande para responder a perguntas específicas. | |
Interpretar fluxogramas | O analisador do MDI/CE conseguiu seguir a lógica de um fluxograma e extrair a sequência correta de ações e as informações correspondentes. | |
Extrair dados de gráficos | O analisador do MDG pode interpretar diferentes tipos de gráficos, como gráficos de linhas, e extrair pontos de dados específicos com base na consulta. | |
Capturar relações entre cabeçalhos e texto | O analisador do GML, orientado pelo comando, prestou atenção às estruturas dos cabeçalhos e conseguiu obter todas as informações relevantes associadas a um tópico ou uma secção específicos. | |
Potencial para superar as limitações de incorporação com a engenharia de comandos | Embora inicialmente dificultado pelas limitações do modelo de incorporação em alguns exemplos de utilização, as experiências adicionais demonstraram que um comando do analisador GML bem elaborado pode potencialmente mitigar estes problemas e obter as informações corretas, mesmo quando a compreensão semântica é desafiante apenas para o modelo de incorporação. |
O analisador do GML melhora a capacidade do GML de compreender e raciocinar sobre o contexto num documento, o que leva a respostas mais precisas e abrangentes.
Consulta de obtenção
Depois de introduzir um comando enviado para um modelo de IA generativa, 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.
O que se segue?
- Para saber mais sobre o Vertex AI RAG Engine, consulte a vista geral do Vertex AI RAG Engine.
- Para saber mais sobre o Vertex AI RAG Engine, consulte a API Vertex AI RAG Engine.