1. Antes de começar
Neste codelab autodirigido, você vai aprender a criar agentes de IA com o Vertex AI Agent Builder do Google Cloud. Cada etapa vai destacar um recurso específico do Agent Builder e explicar a finalidade dele.
Pré-requisitos
- Conhecimento básico sobre a IA generativa no Google Cloud
- Noções básicas sobre conceitos de agentes de IA
- Noções básicas do Gemini Code Assist (opcional)
O que você vai aprender
- Como criar um agente de IA simples usando o Vertex AI Agent Builder
- Como embasar o agente criado anexando um repositório de dados
- Como integrar o agente de IA ao seu site(opcional)
O que é necessário
- Uma mente curiosa
- Um computador em funcionamento com uma rede Wi-Fi confiável
- Ter um projeto na nuvem do Google Cloud com o faturamento anexado.
Observação: se você ainda não tiver um projeto do Google Cloud, crie um seguindo estas instruções. Você também pode conferir os Serviços do nível sem custo financeiro do Google Cloud.
2. Como criar seu primeiro agente de IA
Agora você está pronto para criar seu próprio agente de IA. Mas antes de começar o desenvolvimento, é essencial estabelecer uma visão clara para seu agente. Faça estas perguntas importantes:
- Que problema ele vai resolver? Ele vai automatizar tarefas, fornecer informações, oferecer entretenimento ou facilitar a exploração criativa?
- Quais são as principais funções dele? Ele vai executar ou delegar tarefas? Ele vai gerar texto ou uma combinação de mídias diferentes?
- Quais são as limitações? Ele vai conseguir fazer tudo de forma autônoma?
- Qual personalidade ou persona ele deve ter? Ele será formal, informal, engraçado, útil ou informativo?
- Quais são as métricas de sucesso? Como você vai medir a eficácia do agente?
Para acelerar o processo, confira as respostas a essas perguntas para o agente de viagens que você vai criar hoje:
- Que problema ele vai resolver?
- Planejar uma viagem pode ser demorado e cansativo. Esse agente de viagens vai ajudar os usuários a descobrir destinos, planejar itinerários e reservar voos e acomodações.
- Quais são as principais funções dele?
- O agente precisa ser capaz de
- responder a perguntas sobre destinos, como requisitos de visto;
- planejar itinerários que funcionem para os horários e objetivos dos usuários;
- reservar voos e acomodações
- Quais são as limitações?
- O agente pode não conseguir responder a consultas complicadas por padrão
- O agente não poderá gerar imagens visuais
- O conhecimento do agente é limitado pelo modelo subjacente.
- Qual personalidade ou persona ele deve ter?
- Ele precisa ser experiente, prestativo e entusiasta sobre viagens. Ele precisa ser capaz de comunicar informações de forma clara e concisa.
- Quais são as métricas de sucesso?
- O sucesso desse agente pode ser medido pela satisfação dos usuários com as recomendações dele (explorar, planejar, reservar).
3. Como criar um agente de IA com o Vertex AI Agent Builder
Com o Vertex AI Agent Builder, é possível criar agentes de IA em apenas algumas etapas.
Etapa 1:
- Acesse o Vertex AI Agent Builder.
- A página de boas-vindas vai aparecer.

- Clique no botão CONTINUAR E ATIVAR A API.
Etapa 2:
- Você será redirecionado para a página de criação de apps.

- Clique no botão CRIAR UM NOVO APP.
Etapa 3
- Escolha Agente de conversação e clique em CRIAR.

Observação:
- Depois de clicar em CRIAR, uma nova guia de Agentes de conversação do Dialogflow será aberta.
- Se for solicitado que você escolha um projeto do Google Cloud, selecione o projeto associado à sua conta correta do Gmail.
- Se você estiver fazendo este laboratório em uma nova conta, será necessário ativar a API Dialogflow. Clique em Ativar API para fazer isso.

- Se clicar no botão não funcionar, acesse diretamente a página da API para ativar manualmente.
- Na página do Dialogflow que acabou de abrir, clique em Criar agente.

- Agora, ele vai mostrar algumas opções para criar um agente. Escolha Crie seu.

Etapa 4:
- Escolha um Nome de exibição (por exemplo, Travel Buddy)
- Em "Local", selecione global (Disponibilidade global, dados em repouso nos EUA) como Região.
- Manter outra configuração, padrão
- Clique no botão CRIAR.

Etapa 5:
- Escolha um Nome do playbook (por exemplo, Agente de informações).
- Adicione um Objetivo (por exemplo, "Ajudar os clientes a responder a consultas relacionadas a viagens")
- Defina uma instrução (por exemplo, "Cumprimente o usuário e pergunte como você pode ajudar").
- Pressione Salvar quando tudo estiver finalizado.

Etapa 6:
- Clique no ícone Ativar simulador
. - Selecione o agente que você acabou de criar (por exemplo, Agente de informações).
- Escolha o modelo de IA generativa para seu agente (por exemplo, gemini-1.5-flash)
- Teste o agente conversando com ele.Por exemplo, digite algo na caixa de texto "Enter User Input" (Inserir entrada do usuário).

Parabéns! Você acabou de criar um agente de IA usando o Vertex AI Agent Builder.
4. Como anexar repositórios de dados ao agente
Tente perguntar ao seu agente sobre como chegar a Wakanda (por exemplo, "Qual é a melhor maneira de chegar a Wakanda?"). Você vai receber uma resposta como esta:

Embora isso esteja correto, em vez de simplesmente dizer "Não posso fornecer informações" e encerrar a conversa, seria mais útil para o usuário se o agente sugerisse lugares semelhantes. Essa abordagem pode levar os usuários a reservar uma viagem pelo agente.
Para que o agente recomende lugares semelhantes, você pode fornecer mais informações a ele usando os repositórios de dados. Ela funciona como uma base de conhecimento adicional para o agente consultar se não conseguir responder às perguntas do usuário com base no conhecimento integrado.
Observação:se quiser fechar o simulador, clique no ícone de alternância do simulador novamente.
Para criar um repositório de dados, clique no botão + Repositório de dados na parte de baixo da página "Noções básicas sobre agentes".

Preencha as seguintes informações:
- Nome da ferramenta:local alternativo
- Tipo:repositório de dados
- Descrição:use essa ferramenta se a solicitação do usuário contiver um local que não existe.
Clique em Salvar quando terminar.
Isso cria uma ferramenta para o agente se comunicar com o repositório de dados, mas ainda é necessário criar um repositório de dados real que contenha as informações. Para fazer isso, clique em Adicionar repositórios de dados e Criar um repositório de dados.


Depois de clicar em Criar novo repositório de dados, você será redirecionado para a página do Vertex AI Agent Builder, como abaixo:
Escolher uma opção do Cloud Storage

Depois de concluir a etapa,
- clique em ARQUIVO. Isso é muito importante. Caso contrário, a importação vai falhar.
- digite ai-workshops/agents/data/wakanda.txt
- clique em CONTINUAR

Se você tiver curiosidade, confira o conteúdo do arquivo de texto fornecido:
Places that are similar to Wakanda
- Oribi Gorge in South Africa: The rock formations here are reminiscent of the Warrior Falls in Wakanda.
- Iguazu Falls: Located on the border of Argentina and Brazil, these massive waterfalls were a major inspiration for the Warrior Falls.
- Immerse yourself in Wakandan culture: Read the Black Panther comics, watch the movies, and explore online resources to learn more about Wakandan culture, language, and technology.
- Visit a Disney theme park: While there isn't a dedicated Wakanda land yet, you might be able to meet Black Panther at Disneyland or on a Marvel Day at Sea Disney cruise.
Na próxima página, nomeie o repositório de dados (por exemplo, Wakanda Alternative) e clique em CRIAR.

Como etapa final, SELECIONE a fonte de dados que você acabou de criar e clique em CRIAR. Para conferir o progresso da importação do repositório de dados,clique nele.

Observação:a atividade de importação leva algum tempo para ser concluída. Enquanto isso, você pode conferir mais opções de repositório de dados disponíveis para seu agente de IA da Vertex AI aqui.

Se tudo correr bem, volte à guia do Dialogflow e clique em atualizar. O repositório de dados criado vai aparecer na página Repositórios de dados disponíveis.

Para evitar alucinações do agente, na configuração de embasamento do repositório de dados, defina a opção como Muito baixa, que aplica restrições mais rígidas para que o agente não invente coisas. Por enquanto, mantenha a configuração padrão, mas você pode testar com outras configurações quando quiser.

Agora, selecione o repositório de dados adicionado, clique em Confirmar e em Salvar.

Agora, volte para a página Noções básicas do agente. Na parte de baixo da configuração do playbook, você vai ver que o repositório de dados recém-criado(por exemplo, "Localização alternativa") está disponível para uso. Marque o repositório de dados (por exemplo, "Localização alternativa") e clique no botão "Salvar" na parte de cima da página.


Você está quase lá! A etapa final é incluir a ferramenta "Local alternativo" nas instruções do agente. Adicione uma linha, - Use ${TOOL: Alternative Location} se a solicitação do usuário contiver um local que não existe, às instruções do agente e clique em Salvar.

Tudo pronto. Vamos abrir o simulador de alternância novamente e fazer as mesmas perguntas (por exemplo, "Qual é a melhor maneira de chegar a Wakanda?").

Parabéns! Agora, seu agente recomenda lugares usando as informações fornecidas em um arquivo de texto.
Pronto! Terminamos de criar nosso próprio agente de IA do criador de agentes. Se quiser saber mais sobre como personalizar seu agente para uma experiência melhor, confira as atividades adicionais abaixo.
5. Atividades complementares: ativar seu agente de IA
Nas etapas anteriores, você desenvolveu um agente de IA e o fundamentou com dados de referência relevantes. Na seção a seguir, você vai abordar a questão crucial de como incorporar esse agente ao seu site, permitindo a interação em tempo real com os visitantes.
Há muitas maneiras de expor seu agente. Você pode exportar ou publicar diretamente. Confira a documentação para saber mais sobre as opções disponíveis.
No canto superior direito da guia do Dialogflow, clique no menu flutuante e em Publicar agente.

Mantenha toda a configuração como Padrão e clique em Ativar API não autenticada.
Observação:ativar a API não autenticada é apenas para fins de demonstração, e essa configuração não é recomendada para uso em cargas de trabalho de produção. Se você tiver interesse em publicar com segurança, confira esta documentação.

Ao clicar, você vai ver um pequeno snippet de código CSS:

Basta copiar o snippet de código. Você vai integrar esse snippet de código a um site mais tarde.
Para criar um site, você vai usar o ambiente do Cloud Editor. Confira as etapas para abrir o editor do Cloud:
- Abra o console do Google Cloud em outra guia.
- Clique no botão Ativar o Cloud Shell no canto superior direito.
- Clique no botão Abrir editor.
Se aparecer uma solicitação para autorizar o Cloud Shell, clique em Autorizar para continuar.

Na seção a seguir, você vai usar o Gemini Code Assist para criar um exemplo de aplicativo da Web Python Flask e integrar ao snippet do agente.
Depois que o editor do Cloud Shell for aberto, clique em Gemini Code Assist e faça login no seu projeto do Google Cloud. Se for necessário ativar a API, clique em Ativar.

Depois disso, vamos pedir ao Gemini Code Assist para criar um app Flask e integrar o snippet de código do agente de IA a ele.
Confira um exemplo de comando que você pode usar:
Here is my Travel buddy Vertex AI agent builder agent publish code snippet,
<REPLACE IT WITH YOUR AI AGENT PUBLISH CODE SNIPPET>
can you create a sample flask app to use it
Observação:aqui pedimos um app Python Flask. Se você preferir outra linguagem de programação ou framework, use o que quiser. O Gemini Code Assist pode gerar diferentes linguagens de programação. Confira Linguagens, IDEs e interfaces compatíveis para mais detalhes.
Você vai notar que o snippet de código fornecido já está integrado ao agente de IA. Para testar se o código fornecido é válido e está funcionando conforme o esperado, siga as instruções do Gemini Code Assist sobre como executar essa seção de código da resposta.
Exemplo de snippet de código de resposta:
from flask import Flask, render_template_string
app = Flask(__name__)
# HTML template string with the provided Dialogflow Messenger code
html_template = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Travel Buddy Chatbot</title>
<link rel="stylesheet" href="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/themes/df-messenger-default.css">
<script src="https://www.gstatic.com/dialogflow-console/fast/df-messenger/prod/v1/df-messenger.js"></script>
<style>
df-messenger {
z-index: 999;
position: fixed;
--df-messenger-font-color: #000;
--df-messenger-font-family: Google Sans;
--df-messenger-chat-background: #f3f6fc;
--df-messenger-message-user-background: #d3e3fd;
--df-messenger-message-bot-background: #fff;
bottom: 16px;
right: 16px;
}
body {
font-family: sans-serif;
margin: 20px;
}
</style>
</head>
<body>
<h1>Welcome to Travel Buddy!</h1>
<p>Start chatting with our AI Travel buddy, in the bottom right corner.</p>
<df-messenger
project-id="<SAMPLE>"
agent-id="<SAMPLE>"
language-code="en"
max-query-length="-1">
<df-messenger-chat-bubble
chat-title="Travel Buddy">
</df-messenger-chat-bubble>
</df-messenger>
</body>
</html>
"""
@app.route("/")
def index():
"""Renders the HTML template with the Dialogflow Messenger."""
return render_template_string(html_template)
if __name__ == "__main__":
app.run(debug=True)

De acordo com as instruções fornecidas
- Copie o snippet de código do app Flask de exemplo fornecido.
- Crie um arquivo chamado app.py e salve-o.

Na próxima etapa, é solicitado que você instale o Flask para executar esse snippet. Isso não é necessário por enquanto, já que o Cloud Shell tem todos os utilitários usados com frequência instalados por padrão.

Salve o arquivo (Ctrl + S ou CMD + S) e clique em Abrir terminal, onde você vai executar o código fornecido.
No terminal, execute o comando abaixo:
python app.py
Observação:verifique se você está na pasta certa, onde o arquivo app.py está presente.
O app Python Flask será executado na porta 5000. Para conferir a prévia desse aplicativo da Web, clique no ícone Visualização da Web no Cloud Shell. Em seguida, clique em Alterar porta,insira 5000 e clique em Alterar e visualizar para salvar.

Um site de exemplo vai aparecer, e um agente de IA já estará disponível. Basta clicar no agente de IA e começar a conversar.

Teste com diferentes comandos. Você também pode pedir ao Gemini Code Assist para deixar seu site mais bonito ou adicionar mais dados de embasamento ao agente de IA para que ele seja mais útil.
Quando estiver tudo pronto, a próxima etapa será hospedar esse agente de IA no Google Cloud para que ele possa ser acessado por qualquer pessoa, em qualquer lugar. No restante deste codelab, você vai implantar esse aplicativo Flask de amostra no Cloud Run como um contêiner.
Observação:não se limita apenas ao Cloud Run. Se você não sabe o que é o Cloud Run, pode perguntar ao Gemini Code Assist para ajudar a implantar no Google Cloud ou em qualquer lugar com as práticas recomendadas. Ele também pode ajudar nessa parte.
Volte para o terminal do Cloud Shell e pressione Ctrl + C para encerrar o processo. Clique em Abrir editor novamente e peça ao Gemini Code Assist para contêinerizar o aplicativo e implantá-lo no Cloud Run.
Can you help me deploy this sample flask app to cloud run service
Ele fornece algumas instruções e comandos para hospedar nosso app no serviço do Cloud Run. Siga as instruções.
Confira um exemplo de resposta:
Etapas para implantar no Cloud Run
- Pré-requisitos:
- Conta do Google Cloud:você precisa de uma conta do Google Cloud com o faturamento ativado.
- CLI gcloud:instale e inicialize o SDK Google Cloud (CLI gcloud) na sua máquina local. Você vai usar isso para interagir com o Google Cloud no terminal.
- Docker:instale o Docker na sua máquina local. O Cloud Run usa o Docker para conteinerizar seu aplicativo.
- Configuração do projeto:verifique se um projeto do Google Cloud está selecionado na CLI gcloud. Você pode verificar com
gcloud config list projecte definir comgcloud config set project YOUR_PROJECT_ID
Observação:como estamos realizando toda essa atividade no Cloud Shell, não é necessário configurar projetos.
- Criar **
requirements.txt****:**
- Esse arquivo lista todos os pacotes Python de que seu app precisa. No diretório do projeto (onde
main.pyestá), crie um arquivo chamadorequirements.txte adicione a seguinte linha:
- Criar **
Dockerfile****:**
- Um
Dockerfiledefine como criar uma imagem Docker para seu aplicativo. Crie um arquivo chamadoDockerfile(sem extensão) no diretório do projeto e adicione o seguinte conteúdo:
# Use an official Python runtime as a parent imageFROM python:3.9-slim-buster
# Set the working directory to /appWORKDIR /app
# Copy the current directory contents into the container at /app
COPY . /app
# Install any needed packages specified in requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Make port 5000 available to the world outside this container
EXPOSE 5000
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", ".py"]
- Crie a imagem do Docker:
- Abra o terminal, navegue até o diretório do projeto e execute:
gcloud builds submit –tag gcr.io/bgr-workshop-23rd/travel-buddy
- Implante no Cloud Run:
- Depois que a imagem for criada e enviada, implante-a no Cloud Run com o seguinte comando:
gcloud run deploy travel-buddy --image gcr.io/bgr-workshop-23rd/travel-buddy --region us-central1
Depois de concluir essas etapas, seu aplicativo com o agente de IA integrado estará disponível para os usuários finais.
Parabéns e bom aprendizado!
6. Limpeza
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste codelab, siga estas etapas:
- No console do Google Cloud, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.
- Ou acesse Cloud Run no console do Google Cloud, selecione o serviço que você acabou de implantar e exclua.