As APIs da Vertex AI no Google Distributed Cloud (GDC) com isolamento físico permitem integrar de forma programática modelos de machine learning pré-treinados aos seus aplicativos e gerenciar recursos do Vertex AI Workbench. Dependendo do serviço, é possível interagir com essas APIs usando gRPC, REST, bibliotecas de cliente do Python ou o modelo de recursos do Kubernetes (KRM, na sigla em inglês).
Endpoint de serviço e documento de descoberta
Um endpoint de serviço é necessário para interagir de maneira programática com as APIs da Vertex AI.
Acessar o endpoint e o documento de descoberta do Vertex AI Workbench
O endpoint de API do Vertex AI Workbench KRM é:
https://ENDPOINT/apis/aiplatform.gdc.goog/v1
Substitua ENDPOINT pelo endpoint de API do servidor de API Management.
Para acessar o documento de descoberta do Vertex AI Workbench, execute uma das seguintes ações:
Insira o URL do endpoint em um navegador.
Execute o comando
kubectl proxyem uma ferramenta como curl para abrir um proxy para o servidor da API Management na máquina local. Depois que o comando estiver em execução, insira o seguinte URL no navegador:http://127.0.0.1:8001/apis/aiplatform.gdc.goog/v1.
Acessar os endpoints de APIs pré-treinadas
Para conferir os endpoints das APIs pré-treinadas, consulte o status e os endpoints do serviço.
REST, gRPC, KRM e bibliotecas de cliente
É possível acessar as APIs pré-treinadas usando gRPC ou uma das bibliotecas de cliente fornecidas. As bibliotecas de cliente são criadas no gRPC.
Como alternativa, é possível acessar algumas APIs pré-treinadas usando REST.
É possível gerenciar o Vertex AI Workbench usando a API Kubernetes Resource Model (KRM).
Bibliotecas de cliente
A Vertex AI fornece bibliotecas de cliente Python para APIs pré-treinadas. A tabela a seguir mostra uma comparação das vantagens e desvantagens de usar bibliotecas de cliente:
| Vantagens | Desvantagens |
|---|---|
|
Mantidos pelo Google.
Autenticação integrada. Novas tentativas integradas. Corpo da solicitação HTTP do buffer de protocolo eficiente. |
Não disponível para todas as linguagens de programação. |
REST
As APIs OCR e Translation são compatíveis com REST. Para mais informações, consulte as referências da API REST para estes serviços:
A tabela a seguir mostra uma comparação das vantagens e desvantagens de usar REST:
| Vantagens | Desvantagens |
|---|---|
|
Interface JSON simples.
É compatível com muitas ferramentas e bibliotecas do Google e de terceiros. |
Você precisa criar seu próprio cliente.
É preciso implementar a autenticação. Você precisa implementar novas tentativas. Corpo da solicitação HTTP JSON menos eficiente. O streaming REST não é compatível com essas APIs. |
gRPC
As APIs pré-treinadas são compatíveis com gRPC. Para mais informações sobre as descrições genéricas dos tipos, métodos e campos gerados para uma biblioteca gRPC, consulte a seguinte referência do gRPC:
A tabela a seguir mostra uma comparação das vantagens e desvantagens de usar o gRPC:
| Vantagens | Desvantagem |
|---|---|
|
Oferece suporte a muitas linguagens de programação.
Corpo da solicitação HTTP do buffer de protocolo eficiente. |
Você precisa gerar o próprio cliente com buffers de protocolo fornecidos pelo Google.
É preciso implementar a autenticação. Você precisa implementar novas tentativas. |
KRM
A API Vertex AI Workbench é compatível com o KRM. Para mais informações, consulte a referência da API KRM do Vertex AI Workbench.
Tipo, método e nomes de campos
Dependendo do uso de bibliotecas de cliente, REST, gRPC ou KRM, os nomes de tipo, método e campo da API variam das seguintes maneiras:
- A REST é organizada por hierarquias de recursos e os métodos delas.
- As bibliotecas de cliente e o gRPC são organizados por serviços e métodos.
- Os nomes de campo do KRM usam camelCase, mas o serviço da API aceita camelCase ou snake_case.
- Os nomes de campo REST e gRPC usam snake_case.
- Os nomes de campo da biblioteca de cliente usam Title Case, camelCase ou snake_case, dependendo de qual nome é idiomático para o idioma.
REST e buffers de protocolo
Ao chamar a API REST, o comportamento do valor padrão para buffers de protocolo pode resultar em campos ausentes em uma resposta JSON. Esses campos são definidos com o valor padrão, portanto, não são incluídos na resposta.