Etapa 1: configurar o projeto e o repositório de origem

Nesta etapa, você vai configurar seu projeto do Google Cloud e o ambiente Python no Cloud Shell, ativar as APIs necessárias e atribuir os papéis (IAM) necessários para concluir o tutorial. Você também configura um repositório do GitHub que contém os arquivos de origem do app, bifurcando e clonando o repositório GoogleCloudPlatform/generative-ai. Depois de concluir essas etapas, verifique a configuração executando e testando o app localmente no Cloud Shell.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI, Compute Engine, Artifact Registry, Identity-Aware Proxy (IAP), Cloud Run Admin, Cloud Build, Identity and Access Management (IAM) API, and Gemini for Google Cloud APIs.

    Enable the APIs

  5. Make sure that you have the following role or roles on the project: Vertex AI User, Cloud Build Editor, Cloud Run Admin, Artifact Registry Admin, Compute Load Balancer Admin, Service Account User, IAP Policy Admin, OAuth Config Editor, and Service Usage Admin.

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Acessar o IAM
    2. Selecionar um projeto.
    3. Clique em CONCEDER ACESSO.
    4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

    5. Na lista Selecionar um papel, escolha um.
    6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
    7. Clique em Salvar.
    8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

      Go to project selector

    9. Make sure that billing is enabled for your Google Cloud project.

    10. Enable the Vertex AI, Compute Engine, Artifact Registry, Identity-Aware Proxy (IAP), Cloud Run Admin, Cloud Build, Identity and Access Management (IAM) API, and Gemini for Google Cloud APIs.

      Enable the APIs

    11. Make sure that you have the following role or roles on the project: Vertex AI User, Cloud Build Editor, Cloud Run Admin, Artifact Registry Admin, Compute Load Balancer Admin, Service Account User, IAP Policy Admin, OAuth Config Editor, and Service Usage Admin.

      Check for the roles

      1. In the Google Cloud console, go to the IAM page.

        Go to IAM
      2. Select the project.
      3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

      4. For all rows that specify or include you, check the Role colunn to see whether the list of roles includes the required roles.

      Grant the roles

      1. In the Google Cloud console, go to the IAM page.

        Acessar o IAM
      2. Selecionar um projeto.
      3. Clique em CONCEDER ACESSO.
      4. No campo Novos principais, insira seu identificador de usuário. Normalmente, é o endereço de e-mail de uma Conta do Google.

      5. Na lista Selecionar um papel, escolha um.
      6. Para conceder outros papéis, clique em Adicionar outro papel e adicione cada papel adicional.
      7. Clique em Salvar.

      Configurar o repositório de origem

      1. No GitHub, bifurque o repositório GoogleCloudPlatform/generative-ai. Saiba mais sobre como bifurcar repositórios no GitHub.

        Bifurque o repositório no GitHub

      1. In the Google Cloud console, activate Cloud Shell.

        Activate Cloud Shell

        At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

      2. No terminal do Cloud Shell, execute os comandos a seguir para clonar o repositório bifurcado e definir o gemini-streamlit-cloudrun como o Active Directory:
        cd
        git clone https://github.com/GIT_USER_NAME/FORK_NAME/
        cd FORK_NAME/gemini/sample-apps/gemini-streamlit-cloudrun

        Substitua:

        • GIT_USER_NAME: seu nome de usuário do GitHub
        • FORK_NAME: o nome do repositório bifurcado que você acabou de criar no GitHub.

      Configurar o ambiente e as dependências

      1. No terminal do Cloud Shell, execute os comandos a seguir para configurar um ambiente virtual:

        python3 -m venv gemini-streamlit
        source gemini-streamlit/bin/activate
        pip install -r requirements.txt
        
      2. Execute os comandos a seguir para definir as variáveis de ambiente necessárias para a inicialização da Vertex AI:

        export GCP_PROJECT=$GOOGLE_CLOUD_PROJECT
        export GCP_REGION='us-central1' 
        

      testar o aplicativo localmente

      1. No terminal do Cloud Shell, execute o app com o seguinte comando:

        streamlit run app.py \
          --browser.serverAddress=localhost \
          --server.enableCORS=false \
          --server.enableXsrfProtection=false \
          --server.port 8080
        
      2. Para visualizar o app, na barra de tarefas do Cloud Shell, clique em Botão de visualização da Web e depois em Visualizar na porta 8080.

        Para saber mais sobre como usar o recurso de visualização na Web, consulte Visualizar apps da Web.