É possível implantar fluxos do Firebase Genkit como serviços da Web usando o Cloud Run. Nesta página, como exemplo, você verá o processo de implantação do fluxo de amostra padrão.
Instale as ferramentas necessárias:
Verifique se você está usando o Node.js versão 20 ou mais recente (execute
node --version
para verificar).Instale a Google Cloud CLI.
Crie um novo projeto do Google Cloud usando o console do Cloud ou escolha um projeto atual. O projeto precisa estar vinculado a uma conta de faturamento.
Depois de criar ou escolher um projeto, configure a CLI do Google Cloud para usá-lo:
gcloud init
Crie um diretório para o projeto de amostra do Genkit:
mkdir -p ~/tmp/genkit-cloud-project
cd ~/tmp/genkit-cloud-project
Se você for usar um ambiente de desenvolvimento integrado, abra-o nesse diretório.
Inicialize um projeto Node.js no diretório do projeto:
npm init -y
Inicialize o Genkit no seu projeto do Node.js:
genkit init
- Selecione o Google Cloud como a plataforma de implantação.
- Selecione o provedor de modelos que você quer usar.
Aceite os padrões para as outras solicitações. A ferramenta
genkit
criará alguns arquivos de origem de amostra para você começar a desenvolver seus próprios fluxos de IA. No entanto, no restante deste tutorial, você apenas implantará o fluxo de amostra.Disponibilize as credenciais de API para a função implantada. Siga um destes procedimentos, dependendo do provedor de modelos escolhido:
Gemini (IA do Google)
Verifique se a IA do Google está disponível na sua região.
Gere uma chave de API para a API Genmini usando o Google AI Studio.
Disponibilize a chave de API no ambiente do Cloud Run:
- No console do Cloud, ative a API Secret Manager.
- Na página do Secret Manager, crie um novo secret com sua chave de API.
- Depois de criar o secret, na mesma página, conceda à conta de serviço de computação padrão acesso ao secret com o papel Acessador de secrets do Secret Manager. É possível procurar o nome da conta de serviço padrão do Compute na página do IAM.
Em uma etapa posterior, quando você implantar o serviço, precisará fazer referência ao nome desse secret.
Opcional: se você quiser executar o fluxo localmente, como na próxima etapa, defina a variável de ambiente
GOOGLE_GENAI_API_KEY
como sua chave:export GOOGLE_GENAI_API_KEY=<your API key>
Gemini (Vertex AI)
No console do Cloud, ative a API Vertex AI para seu projeto.
Na página IAM, verifique se a conta de serviço padrão do Compute recebeu o papel Usuário da Vertex AI.
Opcional: se você quiser executar o fluxo localmente, como na próxima etapa, defina algumas variáveis de ambiente extras e use a ferramenta
gcloud
para configurar o Application Default Credentials:export GCLOUD_PROJECT=<your project ID>
export GCLOUD_LOCATION=us-central1
gcloud auth application-default login
A única chave secreta que você precisa configurar neste tutorial é para o provedor do modelo, mas, em geral, é necessário fazer algo semelhante para cada serviço usado pelo fluxo.
Opcional: teste seu fluxo na interface do desenvolvedor:
Inicie a interface:
genkit start
Na interface do desenvolvedor (http://localhost:4000/), execute o fluxo:
Clique em menuSuggestionFlow.
Na guia JSON de entrada, forneça um assunto para o modelo:
"banana"
Clique em Executar.
Se tudo estiver funcionando conforme esperado até agora, crie e implante o fluxo:
Gemini (IA do Google)
npm run build
gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
Gemini (Vertex AI)
npm run build
gcloud run deploy
Escolha
N
quando aparecer uma mensagem perguntando se você quer permitir invocações não autenticadas. ResponderN
vai configurar seu serviço para exigir credenciais do IAM. Consulte Autenticação nos documentos do Cloud Run para ver informações sobre como fornecer essas credenciais.
Quando a implantação terminar, a ferramenta vai mostrar o URL do serviço. É possível testá-lo
com curl
:
curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'