A IA generativa na Vertex AI (também conhecida como genAI ou gen AI) oferece acesso aos modelos de IA generativa do Google para várias modalidades (texto, código, imagens, fala). É possível testar e ajustar esses modelos de linguagem grandes (LLMs) e implantá-los para uso em aplicativos com tecnologia de IA. Para mais informações, consulte a Visão geral da IA generativa na Vertex AI.
A Vertex AI tem vários modelos de fundação de IA generativa acessíveis por uma API, incluindo os modelos usados neste guia. Para mais informações sobre como escolher um modelo, consulte Modelos do Google.
Cada modelo é exposto por um endpoint de editor específico do seu projeto doGoogle Cloud . Por isso, não é necessário implantar o modelo de fundação, a menos que você precise ajustá-lo para um caso de uso específico. Você pode enviar um comando para o endpoint do editor. Um comando é uma solicitação de linguagem natural enviada a um LLM para receber uma resposta.
Este tutorial demonstra fluxos de trabalho que geram respostas de
modelos da Vertex AI enviando comandos de texto aos endpoints
do editor usando um conector do Workflows ou uma solicitação
HTTP POST
. Para mais informações, consulte a
visão geral do conector da API Vertex AI
e Fazer uma solicitação HTTP.
É possível implantar e executar cada fluxo de trabalho de forma independente.
Implantar um fluxo de trabalho que descreve uma imagem
Implante um fluxo de trabalho que usa um método de conector
(generateContent
) para fazer uma solicitação a um endpoint
de editor de modelo. O método oferece suporte à geração de conteúdo com entradas multimodais.
O fluxo de trabalho fornece um comando de texto e o URI de uma imagem disponível publicamente em um bucket do Cloud Storage. É possível ver a imagem e, no console Google Cloud , conferir os detalhes do objeto.
O fluxo de trabalho retorna uma descrição da imagem com base na resposta gerada pelo modelo.
Para mais informações sobre os parâmetros do corpo da solicitação HTTP usados ao solicitar o LLM e os elementos do corpo da resposta, consulte a referência da API Gemini.
Console
No console Google Cloud , acesse a página Fluxos de trabalho.
Clique em
Criar.Insira um nome para o novo fluxo de trabalho:
describe-image
.Na lista Região, selecione us-central1 (Iowa).
Em Conta de serviço, selecione a conta que você criou antes.
Clique em Próxima.
No editor de fluxo de trabalho, insira a seguinte definição:
Clique em Implantar.
gcloud
Crie um arquivo de código-fonte para seu fluxo de trabalho:
touch describe-image.yaml
Em um editor de texto, copie o seguinte fluxo de trabalho para o arquivo de código-fonte:
Implante o fluxo de trabalho digitando o seguinte comando:
gcloud workflows deploy describe-image \ --source=describe-image.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Executar o fluxo de trabalho
Quando um fluxo de trabalho é executado, a definição atual associada a ele também é.
Console
No console Google Cloud , acesse a página Fluxos de trabalho.
Na página Fluxos de trabalho, selecione o fluxo de trabalho describe-image para acessar a página de detalhes dele.
Na página Detalhes do fluxo de trabalho, clique em play_arrow Executar.
Em Entrada, digite o seguinte:
{"image_url":"gs://generativeai-downloads/images/scones.jpg"}
Clique em Executar novamente.
Veja os resultados do fluxo de trabalho no painel Saída.
A saída será semelhante a esta:
{ "image_description": "There are three pink peony flowers on the right side of the picture[]...]There is a white napkin on the table.", "image_url": "gs://generativeai-downloads/images/scones.jpg" }
gcloud
Abra um terminal.
Execute o fluxo de trabalho:
gcloud workflows run describe-image \ --data='{"image_url":"gs://generativeai-downloads/images/scones.jpg"}'
Os resultados da execução serão semelhantes a este:
Waiting for execution [258b530e-a093-46d7-a4ff-cbf5392273c0] to complete...done. argument: '{"image_url":"gs://generativeai-downloads/images/scones.jpg"}' createTime: '2024-02-09T13:59:32.166409938Z' duration: 4.174708484s endTime: '2024-02-09T13:59:36.341118422Z' name: projects/1051295516635/locations/us-central1/workflows/describe-image/executions/258b530e-a093-46d7-a4ff-cbf5392273c0 result: "{\"image_description\":\"The picture shows a rustic table with a white surface,\ \ on which there are several scones with blueberries, as well as two cups of coffee\ [...] \ on the table. The background of the table is a dark blue color.\",\"image_url\"\ :\"gs://generativeai-downloads/images/scones.jpg\"}" startTime: '2024-02-09T13:59:32.166409938Z' state: SUCCEEDED
Implantar um fluxo de trabalho que gere históricos de países
Implante um fluxo de trabalho que faça um loop em uma lista de entrada de países em
paralelo
e use um método de conector
(generateContent
) para fazer uma solicitação a um endpoint
de editor de modelo. O método oferece suporte à geração de conteúdo com entradas multimodais.
O fluxo de trabalho retorna os históricos de países gerados pelo modelo, combinando-os em um mapa.
Para mais informações sobre os parâmetros do corpo da solicitação HTTP usados ao solicitar o LLM e os elementos do corpo da resposta, consulte a referência da API Gemini.
Console
No console Google Cloud , acesse a página Fluxos de trabalho.
Clique em
Criar.Insira um nome para o novo fluxo de trabalho:
gemini-pro-country-histories
.Na lista Região, selecione us-central1 (Iowa).
Em Conta de serviço, selecione a conta que você criou antes.
Clique em Próxima.
No editor de fluxo de trabalho, insira a seguinte definição:
Clique em Implantar.
gcloud
Crie um arquivo de código-fonte para seu fluxo de trabalho:
touch gemini-pro-country-histories.yaml
Em um editor de texto, copie o seguinte fluxo de trabalho para o arquivo de código-fonte:
Implante o fluxo de trabalho digitando o seguinte comando:
gcloud workflows deploy gemini-pro-country-histories \ --source=gemini-pro-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Executar o fluxo de trabalho
Quando um fluxo de trabalho é executado, a definição atual associada a ele também é.
Console
No console Google Cloud , acesse a página Fluxos de trabalho.
Na página Fluxos de trabalho, selecione o fluxo de trabalho gemini-pro-country-histories para acessar a página de detalhes dele.
Na página Detalhes do fluxo de trabalho, clique em play_arrow Executar.
Em Entrada, digite o seguinte:
{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}
Clique em Executar novamente.
Veja os resultados do fluxo de trabalho no painel Saída.
A saída será semelhante a esta:
{ "Argentina": "The history of Argentina is a complex and fascinating one, marked by periods of prosperity and decline, political [...] "Bhutan": "The history of Bhutan is a rich and fascinating one, dating back to the 7th century AD. Here is a brief overview: [...] "Cyprus": "The history of Cyprus is a long and complex one, spanning over 10,000 years. The island has been ruled by a succession [...] "Denmark": "1. **Prehistory and Early History (c. 12,000 BC - 800 AD)**\\n - The earliest evidence of human habitation in Denmark [...] "Ethiopia": "The history of Ethiopia is a long and complex one, stretching back to the earliest human civilizations. The country is [...] }
gcloud
Abra um terminal.
Execute o fluxo de trabalho:
gcloud workflows run gemini-pro-country-histories \ --data='{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}' \ --location=us-central1
Os resultados da execução serão semelhantes a este:
Waiting for execution [7ae1ccf1-29b7-4c2c-99ec-7a12ae289391] to complete...done. argument: '{"countries":["Argentina","Bhutan","Cyprus","Denmark","Ethiopia"]}' createTime: '2024-02-09T16:25:16.742349156Z' duration: 12.075968673s endTime: '2024-02-09T16:25:28.818317829Z' name: projects/1051295516635/locations/us-central1/workflows/gemini-pro-country-histories/executions/7ae1ccf1-29b7-4c2c-99ec-7a12ae289391 result: "{\"Argentina\":\"The history of Argentina can be traced back to the arrival\ [...] n* 2015: Argentina elects Mauricio Macri as president.\",\"Bhutan\":\"The history\ [...] \ natural beauty, ancient monasteries, and friendly people.\",\"Cyprus\":\"The history\ [...] ,\"Denmark\":\"The history of Denmark can be traced back to the Stone Age, with\ [...] \ a high standard of living.\",\"Ethiopia\":\"The history of Ethiopia is long and\ [...] startTime: '2024-02-09T16:25:16.742349156Z' state: SUCCEEDED
Implantar um fluxo de trabalho que resume um documento grande
Implante um fluxo de trabalho que divide um documento grande em partes menores, fazendo solicitações http.post
a um endpoint de editor de modelo em paralelo para que o modelo possa resumir cada parte simultaneamente. Por fim, o fluxo de trabalho combina todos os resumos parciais em um
completo.
Para mais informações sobre os parâmetros do corpo da solicitação HTTP usados ao solicitar o LLM e os elementos do corpo da resposta, consulte a referência da API Gemini.
A definição do fluxo de trabalho pressupõe que você criou um bucket do Cloud Storage
para fazer upload de um arquivo de texto. Para mais informações sobre o conector do Workflows (googleapis.storage.v1.objects.get
) usado para recuperar objetos do bucket do Cloud Storage, consulte a referência de conectores.
Depois de implantar o fluxo de trabalho, é possível executá-lo criando um acionador do Eventarc
adequado e fazendo upload de um arquivo para o bucket. Para
mais informações, consulte
Rotear eventos do Cloud Storage para o Workflows.
Outras APIs precisam ser ativadas e outras funções precisam ser concedidas, incluindo a função de usuário do objeto do Storage (roles/storage.objectUser
) à sua conta de serviço, que permite usar objetos do Cloud Storage. Para mais informações, consulte a seção
Preparar para criar um gatilho.
Console
No console Google Cloud , acesse a página Fluxos de trabalho.
Clique em
Criar.Insira um nome para o novo fluxo de trabalho:
gemini-pro-summaries
.Na lista Região, selecione us-central1 (Iowa).
Em Conta de serviço, selecione a conta que você criou antes.
Clique em Próxima.
No editor de fluxo de trabalho, insira a seguinte definição:
Clique em Implantar.
gcloud
Crie um arquivo de código-fonte para seu fluxo de trabalho:
touch gemini-pro-summaries.yaml
Em um editor de texto, copie o seguinte fluxo de trabalho para o arquivo de código-fonte:
Implante o fluxo de trabalho digitando o seguinte comando:
gcloud workflows deploy gemini-pro-summaries \ --source=gemini-pro-summaries.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com