O Vertex AI RAG Engine é um componente da plataforma Vertex AI, que facilita a Geração de Recuperação Aumentada (RAG). O RAG Engine permite que os modelos de linguagem grandes (LLMs) acessem e incorporem dados de fontes de conhecimento externas, como documentos e bancos de dados. Ao usar o RAG, os LLMs podem gerar respostas mais precisas e informativas.
Lista de parâmetros
Esta seção lista o seguinte:
Parâmetros | Exemplos |
---|---|
Consulte Parâmetros de gerenciamento do corpus. | Consulte Exemplos de gerenciamento de corpus. |
Consulte Parâmetros de gerenciamento de arquivos. | Consulte Exemplos de gerenciamento de arquivos. |
Parâmetros de gerenciamento do corpus
Para informações sobre um corpus RAG, consulte Gerenciamento de corpus.
Criar um corpus RAG
Esta tabela lista os parâmetros usados para criar um corpus de RAG.
Solicitação do corpo
Parâmetros | |
---|---|
|
Obrigatório: O nome de exibição do corpus RAG. |
|
Opcional: A descrição do corpus RAG. |
|
Opcional: imutável ( A configuração dos bancos de dados vetoriais. |
|
Opcional: A configuração da Vertex AI para Pesquisa. Formato: |
RagVectorDbConfig
Parâmetros | |
---|---|
|
Se nenhum banco de dados de vetores for especificado, |
|
Especifica sua instância de Pinecone. |
|
Esse é o nome usado para criar o índice Pinecone usado com o corpus RAG. Não é possível alterar esse valor depois de definido. Você pode deixá-lo vazio na chamada de API |
|
Especifica sua instância da Vertex Vector Search. |
|
Este é o nome do recurso do índice de Pesquisa de vetor usado com o corpus RAG. Formato: Não é possível alterar esse valor depois de definido. Você pode deixá-lo vazio na chamada de API |
|
Este é o nome do recurso do endpoint do índice da Pesquisa de vetor usado com o corpus RAG. Formato: Não é possível alterar esse valor depois de definido. Você pode deixá-lo vazio na chamada de API |
|
Este é o nome completo do recurso do secret armazenado no Secret Manager, que contém sua chave de API Pinecone. Formato: Você pode deixá-lo vazio na chamada de API |
|
Opcional: imutável ( O modelo de embedding a ser usado para o corpus de RAG. Esse valor não pode ser alterado depois de definido. Se você deixá-lo vazio, usaremos text-embedding-005 como o modelo de embedding. |
Atualizar um corpus RAG
Esta tabela lista os parâmetros usados para atualizar um corpus RAG.
Solicitação do corpo
Parâmetros | |
---|---|
|
Opcional: O nome de exibição do corpus RAG. |
|
Opcional: A descrição do corpus RAG. |
|
Esse é o nome usado para criar o índice Pinecone usado com o corpus RAG. Se o |
|
Este é o nome do recurso do índice de Pesquisa de vetor usado com o corpus RAG. Formato: Se o |
|
Este é o nome do recurso do endpoint do índice da Pesquisa de vetor usado com o corpus RAG. Formato: Se o |
|
O nome completo do recurso do secret armazenado no Secret Manager, que contém a chave de API do Pinecone. Formato: |
Listar corpora RAG
Esta tabela lista os parâmetros usados para listar o corpora do RAG.
Parâmetros | |
---|---|
|
Opcional: O tamanho de página de lista padrão. |
|
Opcional: O token de página de lista padrão. Normalmente recebido de |
Acessar um corpus RAG
Esta tabela lista os parâmetros usados para receber um corpus de RAG.
Parâmetros | |
---|---|
|
|
Excluir um corpus RAG
Esta tabela lista os parâmetros usados para excluir um corpus de RAG.
Parâmetros | |
---|---|
|
|
Parâmetros de gerenciamento de arquivos
Para informações sobre um arquivo RAG, consulte Gerenciamento de arquivos.
Fazer upload de um arquivo RAG
Esta tabela lista os parâmetros usados para fazer upload de um arquivo RAG.
Solicitação do corpo
Parâmetros | |
---|---|
|
|
|
Obrigatório: O arquivo a ser enviado. |
|
Obrigatório: A configuração do |
RagFile |
|
---|---|
|
Obrigatório: O nome de exibição do arquivo RAG. |
|
Opcional: A descrição do arquivo RAG. |
UploadRagFileConfig |
|
---|---|
|
Número de tokens que cada bloco tem. |
|
A sobreposição entre blocos. |
Importar arquivos RAG
Esta tabela lista os parâmetros usados para importar um arquivo RAG.
Parâmetros | |
---|---|
|
Obrigatório:
Formato: |
|
Local do Cloud Storage. Oferece suporte à importação de arquivos individuais e de diretórios inteiros do Cloud Storage. |
|
URI do Cloud Storage que contém o arquivo de upload |
|
Local do Google Drive. Oferece suporte à importação de arquivos individuais e de pastas do Google Drive. |
|
O canal do Slack em que o arquivo é enviado. |
|
A consulta do Jira para onde o arquivo é enviado. |
|
As origens do SharePoint para onde o arquivo é enviado. |
|
Número de tokens que cada bloco tem. |
|
A sobreposição entre blocos. |
|
Opcional: Especifica a configuração de análise para Se esse campo não for definido, o RAG usará o analisador padrão. |
|
Opcional: O número máximo de consultas por minuto que esse job pode fazer no modelo de embedding especificado no corpus. Esse valor é específico para este job e não é compartilhado com outros jobs de importação. Consulte a página "Cotas" no projeto para definir um valor apropriado. Se não for especificado, será usado o valor padrão de 1.000 QPM. |
GoogleDriveSource |
|
---|---|
|
Obrigatório: O o ID do recurso do Google Drive. |
|
Obrigatório: O tipo do recurso do Google Drive. |
SlackSource |
|
---|---|
|
Repetido: Informações do canal do Slack, incluem ID e intervalo de tempo para importação. |
|
Obrigatório: O ID do canal do Slack. |
|
Opcional: Carimbo de data/hora inicial das mensagens a serem importadas. |
|
Opcional: O carimbo de data/hora final das mensagens a serem importadas. |
|
Obrigatório: O nome completo do recurso do secret armazenado no Secret Manager,
que contém um token de acesso ao canal do Slack com acesso aos IDs dos canais do Slack.
Formato: |
JiraSource |
|
---|---|
|
Repetido: Uma lista de projetos Jira para importar na íntegra. |
|
Repetido: Uma lista de consultas personalizadas do Jira para importar. Para mais informações sobre a linguagem de consulta JQL (Jira), consulte o
|
|
Obrigatório: O endereço de e-mail do Jira. |
|
Obrigatório: O URI do servidor do Jira. |
|
Obrigatório: O nome completo do recurso do secret armazenado no Secret Manager,
que contém a chave da API Jira com acesso aos IDs dos canais do Slack.
Formato: |
SharePointSources |
|
---|---|
|
O caminho da pasta do SharePoint de onde o download será feito. |
|
O ID da pasta do SharePoint de onde o download será feito. |
|
O nome do drive de origem do download. |
|
O ID do drive de origem do download. |
|
O ID do aplicativo registrado no Portal do Microsoft Azure.
|
|
Obrigatório: O nome completo do recurso do secret armazenado no Secret Manager, que contém o secret do aplicativo registrado no Azure. Formato: |
|
Identificador exclusivo da instância do Azure Active Directory. |
|
O nome do site do SharePoint de onde o download será feito. Pode ser o nome ou o ID do site. |
RagFileParsingConfig |
|
---|---|
|
O Analisador de layout a ser usado para |
|
O nome completo do recurso de uma versão do processador ou processador da Document AI. Formato:
|
|
O número máximo de solicitações que o job pode fazer para o processador da Document AI por minuto. Consulte https://cloud.google.com/document-ai/quotas e a página de cotas do seu projeto para definir um valor apropriado aqui. Se não for especificado, será usado o valor padrão de 120 QPM. |
Acessar um arquivo RAG
Esta tabela lista os parâmetros usados para conseguir um arquivo RAG.
Parâmetros | |
---|---|
|
|
Excluir um arquivo RAG
Esta tabela lista os parâmetros usados para excluir um arquivo RAG.
Parâmetros | |
---|---|
|
|
Recuperação e previsão
Nesta seção, listamos os parâmetros de previsão e recuperação.
Parâmetros de recuperação
Esta tabela lista os parâmetros da API retrieveContexts
.
Parâmetros | |
---|---|
|
Obrigatório: O nome do recurso do local para recuperar Formato: |
|
A fonte de dados para o Vertex RagStore. |
|
Obrigatório: Consulta de recuperação de RAG única. |
VertexRagStore
VertexRagStore |
|
---|---|
|
lista: A representação da origem RAG. Pode ser usado para especificar apenas o corpus
ou |
|
Opcional: Nome do recurso Formato: |
|
lista: Uma lista de recursos Formato: |
RagQuery |
|
---|---|
|
A consulta em formato de texto para obter contextos relevantes. |
|
Opcional: A configuração de recuperação para a consulta. |
RagRetrievalConfig |
|
---|---|
|
Opcional: O número de contextos a serem recuperados. |
|
Retorna apenas contextos com uma distância vetorial menor que o limite. |
|
Retorna apenas contextos com semelhança de vetor maior que o limite. |
|
Opcional: O nome do modelo do serviço de classificação. Exemplo: |
|
Opcional: O nome do modelo usado para classificação. Exemplo: |
Parâmetros de previsão
Esta tabela lista os parâmetros de previsão.
GenerateContentRequest |
|
---|---|
|
Definido para usar uma fonte de dados com tecnologia do repositório RAG da Vertex AI. |
Consulte VertexRagStore para mais detalhes.
Exemplos de gerenciamento do corpus
Esta seção fornece exemplos de como usar a API para gerenciar seu corpus RAG.
Criar um exemplo de corpus RAG
Estes exemplos de código demonstram como criar um corpus RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- CORPUS_DISPLAY_NAME: o nome de exibição do corpus RAG.
- CORPUS_DESCRIPTION: a descrição do corpus RAG.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora
Corpo JSON da solicitação:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado 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"
Powershell
Salve o corpo da solicitação em um arquivo chamado 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" | Select-Object -Expand Content
Você receberá um código de status de sucesso (2xx).
O exemplo a seguir demonstra como criar um corpus RAG usando a API REST.
// CreateRagCorpus
// Input: LOCATION, PROJECT_ID, CORPUS_DISPLAY_NAME
// Output: CreateRagCorpusOperationMetadata
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora \
-d '{
"display_name" : "CORPUS_DISPLAY_NAME"
}'
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Atualizar um exemplo de corpus RAG
É possível atualizar o corpus RAG com um novo nome de exibição, descrição e configuração do banco de dados de vetor. No entanto, não é possível alterar os seguintes parâmetros no corpus do RAG:
- O tipo de banco de dados de vetores. Por exemplo, não é possível mudar o banco de dados de vetores de Weaviate para Vertex AI Feature Store.
- Se você estiver usando a opção de banco de dados gerenciado, não poderá atualizar a configuração do banco de dados vetorial.
Estes exemplos demonstram como atualizar um corpus RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- CORPUS_ID: o ID do corpus RAG.
- CORPUS_DISPLAY_NAME: o nome de exibição do corpus RAG.
- CORPUS_DESCRIPTION: a descrição do corpus RAG.
- INDEX_NAME: o nome do recurso do
índice de pesquisa vetorial. Formato:
projects/{project}/locations/{location}/indexes/{index}
. - INDEX_ENDPOINT_NAME: o nome do recurso do
endpoint do índice da Pesquisa Vetorial. Formato:
projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}
.
Método HTTP e URL:
PATCH https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID
Corpo JSON da solicitação:
{
"display_name" : "CORPUS_DISPLAY_NAME",
"description": "CORPUS_DESCRIPTION",
"rag_vector_db_config": {
"vertex_vector_search": {
"index": "INDEX_NAME",
"index_endpoint": "INDEX_ENDPOINT_NAME",
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json e execute o seguinte comando:
curl -X PATCH \
-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/CORPUS_ID"
Powershell
Salve o corpo da solicitação em um arquivo chamado request.json e execute o seguinte comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/CORPUS_ID" | Select-Object -Expand Content
Você receberá um código de status de sucesso (2xx).
Listar exemplo de corpora RAG
Esses exemplos de código demonstram como listar todos os corpora RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- PAGE_SIZE: o tamanho padrão da página de lista. É possível ajustar o número de corpora RAG a ser retornado por página atualizando o parâmetro
page_size
. - PAGE_TOKEN: o token de página de lista padrão. Extraído
normalmente usando
ListRagCorporaResponse.next_page_token
da chamadaVertexRagDataService.ListRagCorpora
anterior.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Para enviar a solicitação, escolha uma destas opções:
curl
Execute este comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
Powershell
Execute este comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
Você receberá um código de status bem-sucedido (2xx
) e uma lista de corporações RAG no PROJECT_ID
especificado.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Receber um exemplo de corpus RAG
Estes exemplos de código demonstram como conseguir um corpus RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do recurso do corpus RAG.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute este comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
Powershell
Execute este comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
Uma resposta bem-sucedida retorna o recurso RagCorpus
.
Os comandos get
e list
são usados em um exemplo para demonstrar como
RagCorpus
usa o campo rag_embedding_model_config
no
vector_db_config
, que aponta para o modelo de embedding que você escolheu.
PROJECT_ID: Your project ID.
LOCATION: The region to process the request.
RAG_CORPUS_ID: The corpus ID of your RAG corpus.
```
```sh
// GetRagCorpus
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID
// Output: RagCorpus
curl -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
// ListRagCorpora
curl -sS -X GET \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/
```
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Excluir um exemplo de corpus RAG
Estes exemplos de código demonstram como excluir um corpus RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do recurso
RagCorpus
.
Método HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute este comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID"
Powershell
Execute este comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID" | Select-Object -Expand Content
Uma resposta bem-sucedida retornará DeleteOperationMetadata
.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Exemplos de gerenciamento de arquivos
Esta seção fornece exemplos de como usar a API para gerenciar arquivos RAG.
Fazer upload de um exemplo de arquivo RAG
Estes exemplos de código demonstram como fazer upload de um arquivo RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do corpus RAG.
- LOCAL_FILE_PATH: o caminho local do arquivo que será enviado.
- DISPLAY_NAME: o nome de exibição do arquivo RAG.
- DESCRIPTION: a descrição do arquivo RAG.
Para enviar a solicitação, use o seguinte comando:
curl -X POST \
-H "X-Goog-Upload-Protocol: multipart" \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-F metadata="{'rag_file': {'display_name':' DISPLAY_NAME', 'description':'DESCRIPTION'}}" \
-F file=@LOCAL_FILE_PATH \
"https://LOCATION-aiplatform.googleapis.com/upload/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:upload"
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Exemplo de importação de arquivos RAG
É possível importar arquivos e pastas do Drive ou do Cloud Storage. Use response.metadata
para visualizar falhas parciais, o tempo de solicitação e o tempo de resposta no objeto response
do SDK.
O response.skipped_rag_files_count
se refere ao número de arquivos que
foram ignorados durante a importação. Um arquivo é ignorado quando as condições a seguir são
atendidas:
- O arquivo já foi importado.
- O arquivo não foi alterado.
- A configuração de divisão em blocos do arquivo não foi alterada.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do corpus RAG.
- FOLDER_RESOURCE_ID: o ID do recurso da sua pasta do Drive.
- GCS_URIS: uma lista de locais do Cloud Storage.
Exemplo:
gs://my-bucket1
. - CHUNK_SIZE: número de tokens que cada bloco precisa ter.
- CHUNK_OVERLAP: número de tokens sobrepostos entre blocos.
- EMBEDDING_MODEL_QPM_RATE: a taxa de QPM para limitar o acesso do RAG ao seu modelo de incorporação. Exemplo: 1.000.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import
Corpo JSON da solicitação:
{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": "CHUNK_SIZE",
"chunk_overlap": "CHUNK_OVERLAP"
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado 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
Salve o corpo da solicitação em um arquivo chamado 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
Uma resposta bem-sucedida retorna o recurso ImportRagFilesOperationMetadata
.
O exemplo a seguir demonstra como importar um arquivo do Cloud Storage. Use o campo de controle max_embedding_requests_per_min
para limitar a taxa em que o RAG Engine chama o modelo de embedding durante o
processo de indexação ImportRagFiles
. O campo tem um valor padrão de 1000
chamadas por minuto.
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do corpus RAG.
- GCS_URIS: uma lista de locais do Cloud Storage.
Exemplo:
gs://my-bucket1
. - CHUNK_SIZE: número de tokens que cada bloco precisa ter.
- CHUNK_OVERLAP: número de tokens sobrepostos entre blocos.
- EMBEDDING_MODEL_QPM_RATE: a taxa de QPM para limitar o acesso de RAGs ao modelo de incorporação. Exemplo: 1.000.
// ImportRagFiles
// Import a single Cloud Storage file or all files in a Cloud Storage bucket.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, GCS_URIS
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"gcs_source": {
"uris": "GCS_URIS"
},
"rag_file_chunking_config": {
"chunk_size": CHUNK_SIZE,
"chunk_overlap": CHUNK_OVERLAP
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
O exemplo a seguir demonstra como importar um arquivo do Drive. Use o campo de controle max_embedding_requests_per_min
para
limitar a taxa em que o RAG Engine chama o modelo de embedding durante o
processo de indexação ImportRagFiles
. O campo tem um valor padrão de 1000
chamadas por minuto.
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do corpus RAG.
- FOLDER_RESOURCE_ID: o ID do recurso da sua pasta do Drive.
- CHUNK_SIZE: número de tokens que cada bloco precisa ter.
- CHUNK_OVERLAP: número de tokens sobrepostos entre blocos.
- EMBEDDING_MODEL_QPM_RATE: a taxa de QPM para limitar o acesso do RAG ao seu modelo de incorporação. Exemplo: 1.000.
// ImportRagFiles
// Import all files in a Google Drive folder.
// Input: LOCATION, PROJECT_ID, RAG_CORPUS_ID, FOLDER_RESOURCE_ID
// Output: ImportRagFilesOperationMetadataNumber
// Use ListRagFiles to find the server-generated rag_file_id.
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles:import \
-d '{
"import_rag_files_config": {
"google_drive_source": {
"resource_ids": {
"resource_id": "FOLDER_RESOURCE_ID",
"resource_type": "RESOURCE_TYPE_FOLDER"
}
},
"max_embedding_requests_per_min": EMBEDDING_MODEL_QPM_RATE
}
}'
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Exemplo de lista de arquivos RAG
Esses exemplos de código demonstram como listar arquivos RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do recurso
RagCorpus
. - PAGE_SIZE: o tamanho padrão da página de lista. É possível ajustar o número de
RagFiles
a serem retornados por página atualizando o parâmetro page_size. - PAGE_TOKEN: o token de página de lista padrão. Extraído usando
ListRagFilesResponse.next_page_token
da chamadaVertexRagDataService.ListRagFiles
anterior.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN
Para enviar a solicitação, escolha uma destas opções:
curl
Execute este comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN"
Powershell
Execute este comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles?page_size=PAGE_SIZE&page_token=PAGE_TOKEN" | Select-Object -Expand Content
Você vai receber um código de status bem-sucedido (2xx) com uma lista de
RagFiles
no RAG_CORPUS_ID
fornecido.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Acessar um exemplo de arquivo RAG
Esses exemplos de código demonstram como conseguir um arquivo RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do recurso
RagCorpus
. - RAG_FILE_ID: o ID do recurso
RagFile
.
Método HTTP e URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute este comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
Powershell
Execute este comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
Uma resposta bem-sucedida retorna o recurso RagFile
.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Excluir um exemplo de arquivo RAG
Esses exemplos de código demonstram como excluir um arquivo RAG.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID>: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_ID: o ID do recurso RagCorpus.
- RAG_FILE_ID: o ID do recurso RagFile. Formato:
projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file_id}
.
Método HTTP e URL:
DELETE https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID
Para enviar a solicitação, escolha uma destas opções:
curl
Execute este comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID"
Powershell
Execute este comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/ragCorpora/RAG_CORPUS_ID/ragFiles/RAG_FILE_ID" | Select-Object -Expand Content
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Consultar recuperação
Quando um usuário faz uma pergunta ou fornece uma solicitação, o componente de recuperação na RAG pesquisa na base de conhecimento para encontrar informações relevantes para a consulta.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- RAG_CORPUS_RESOURCE: o nome do recurso
RagCorpus
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - VECTOR_DISTANCE_THRESHOLD: somente os contextos com uma distância vetorial menor que o limite são retornados.
- TEXT: o texto da consulta para receber contextos relevantes.
- SIMILARITY_TOP_K: o número de contextos principais a serem recuperados.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION:retrieveContexts
Solicitar corpo JSON:
{
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
},
"vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD
},
"query": {
"text": TEXT
"similarity_top_k": SIMILARITY_TOP_K
}
}
curl
Salve o corpo da solicitação em um arquivo chamado 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:retrieveContexts"
Powershell
Salve o corpo da solicitação em um arquivo chamado 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:retrieveContexts" | Select-Object -Expand Content
Você vai receber um código de status bem-sucedido (2xx) e uma lista de RagFiles
relacionados.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Geração
O LLM gera uma resposta embasada usando os contextos recuperados.
REST
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto.
- LOCATION: a região para processar a solicitação.
- MODEL_ID: modelo LLM para geração de conteúdo. Exemplo:
gemini-2.0-flash-001
. - GENERATION_METHOD: método LLM para geração de conteúdo.
Opções:
generateContent
,streamGenerateContent
. - INPUT_PROMPT: o texto enviado ao LLM para geração de conteúdo. Tente usar um comando relevante para os arquivos de Rag enviados.
- RAG_CORPUS_RESOURCE: o nome do recurso
RagCorpus
. Formato:projects/{project}/locations/{location}/ragCorpora/{rag_corpus}
. - SIMILARITY_TOP_K (opcional): o número de contextos principais a serem recuperados.
- VECTOR_DISTANCE_THRESHOLD (opcional): os contextos com uma distância vetorial menor que o limite são retornados.
- USER: seu nome de usuário.
Método HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATION_METHOD
Corpo JSON da solicitação:
{
"contents": {
"role": "USER",
"parts": {
"text": "INPUT_PROMPT"
}
},
"tools": {
"retrieval": {
"disable_attribution": false,
"vertex_rag_store": {
"rag_resources": {
"rag_corpus": "RAG_CORPUS_RESOURCE"
},
"similarity_top_k": "SIMILARITY_TOP_K",
"vector_distance_threshold": VECTOR_DISTANCE_THRESHOLD
}
}
}
}
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo chamado request.json e execute o comando a seguir:
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/publishers/google/models/MODEL_ID:GENERATION_METHOD"
Powershell
Salve o corpo da solicitação em um arquivo chamado request.json e execute o comando a seguir:
$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/publishers/google/models/MODEL_ID:GENERATION_METHOD" | Select-Object -Expand Content
Uma resposta bem-sucedida retornará o conteúdo gerado com citações.
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
A seguir
- Para saber mais sobre modelos de geração compatíveis, consulte Modelos de IA generativa compatíveis com RAG.
- Para saber mais sobre os modelos de incorporação compatíveis, consulte Modelos de incorporação.
- Para saber mais sobre modelos abertos, consulte Modelos abertos.
- Para saber mais sobre o RAG Engine, consulte Visão geral do RAG Engine.