Guia de início rápido: criar e implantar um app da Web em Python (LangChain) no Cloud Run
Aprenda a criar e implantar um aplicativo LangChain usando o Cloud Run e o Gemini para responder a consultas sobre capitais de cidades.
Ao seguir as etapas deste guia de início rápido, o Cloud Run automaticamente cria um Dockerfile quando você implanta do código-fonte.
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
Instale a Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel Criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto do:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto que você está criando. -
Selecione o Google Cloud projeto que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do Google Cloud projeto do.
-
Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
-
Instale a Google Cloud CLI.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud init -
Crie ou selecione um Google Cloud projeto.
Funções necessárias para selecionar ou criar um projeto
- Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
-
Criar um projeto: para criar um projeto, você precisa do papel Criador de projetos
(
roles/resourcemanager.projectCreator), que contém aresourcemanager.projects.createpermissão. Saiba como conceder papéis.
-
Crie um Google Cloud projeto do:
gcloud projects create PROJECT_ID
Substitua
PROJECT_IDpor um nome para o Google Cloud projeto que você está criando. -
Selecione o Google Cloud projeto que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_IDpelo nome do Google Cloud projeto do.
-
Se este guia estiver usando um projeto atual, verifique se você tem as permissões necessárias para concluir o guia. Se você criou um projeto, já tem as permissões necessárias.
-
Verifique se o faturamento está ativado para o Google Cloud projeto.
Se você precisa seguir uma política da organização de restrição de domínio que restringe invocações não autenticadas para seu projeto, será necessário acessar o serviço implantado, conforme descrito em Como testar serviços particulares.
-
Ative a API Cloud Run Admin e as APIs Cloud Build:
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de Service Usage role (
roles/serviceusage.serviceUsageAdmin), que contém aserviceusage.services.enablepermissão. Saiba como conceder papéis.gcloud services enable run.googleapis.com
cloudbuild.googleapis.com Depois que a API Cloud Run Admin for ativada, a conta de serviço padrão do Compute Engine será criadas automaticamente.
- Analise os preços do Cloud Run ou estime os custos com a calculadora de preços.
- Você precisa de uma chave de API do Google AI Studio para implantar o app LangChain com um modelo do Gemini. Para gerar uma chave de API usando o Google AI Studio, consulte Como usar chaves de API do Gemini na documentação da API Gemini. Você vai referenciar essa chave ao implantar o serviço.
Funções exigidas
Para conseguir as permissões necessárias a fim de concluir o guia de início rápido, peça ao administrador para conceder a você os seguintes papéis do IAM:
-
Administrador do Cloud Run (
roles/run.admin) no projeto -
Desenvolvedor de origem do Cloud Run (
roles/run.sourceDeveloper) no projeto -
Usuário da conta de serviço (
roles/iam.serviceAccountUser) na identidade do serviço -
Leitor de registros (
roles/logging.viewer) no projeto
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando personalizados papéis ou outros predefinidos papéis.
Conceder acesso à conta de serviço do Cloud Build ao seu projeto
O Cloud Build usa automaticamente a conta de serviço padrão do Compute Engine como a conta de serviço padrão do Cloud Build para criar o código-fonte e o recurso do Cloud Run, a menos que você substitua esse comportamento.
Para que o Cloud Build crie suas origens, conceda à conta de serviço do Cloud Build o Criador do Cloud Run(roles/run.builder) papel no seu projeto:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \ --role=roles/run.builder
Substitua PROJECT_ID pelo ID do seu Google Cloud
projeto e SERVICE_ACCOUNT_EMAIL_ADDRESS pelo endereço de e-mail da conta de serviço do Cloud Build. Se você estiver usando a conta de serviço padrão do Compute Engine como a conta de serviço do Cloud Build, use o seguinte formato para o endereço de e-mail da conta de serviço:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Substitua PROJECT_NUMBER pelo número do projeto do Google Cloud.
Para instruções detalhadas sobre como encontrar o ID do projeto e o número do projeto, consulte Criar e gerenciar projetos.
A concessão do papel de criador do Cloud Run leva alguns minutos para se propagar.
Crie o aplicativo de exemplo
Para escrever um aplicativo em Python:
Crie um novo diretório com o nome
langchain-gemini-fastapi-appe altere o diretório nele:mkdir langchain-gemini-fastapi-app cd langchain-gemini-fastapi-appCrie um arquivo chamado
main.pye cole o seguinte código nele:import os import uvicorn from fastapi import FastAPI, HTTPException from pydantic import BaseModel from langchain_google_genai import ChatGoogleGenerativeAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser # Initialize FastAPI app = FastAPI(title="LangChain Gemini Cloud Run App") # 1. Setup Gemini Model # We expect GOOGLE_API_KEY to be set in the environment variables llm = ChatGoogleGenerativeAI( model="gemini-2.5-flash", temperature=0.7 ) # 2. Define the Chain prompt = ChatPromptTemplate.from_template("You are a helpful assistant. Answer the following question concisely: {topic}") output_parser = StrOutputParser() # Chain: Prompt -> Model -> String Parser chain = prompt | llm | output_parser # 3. Define Request Model class QueryRequest(BaseModel): topic: str # 4. Define Endpoint @app.post("/chat") async def chat(request: QueryRequest): try: response = await chain.ainvoke({"topic": request.topic}) return {"response": response} except Exception as e: raise HTTPException(status_code=500, detail=str(e)) @app.get("/") def health_check(): return {"status": "ok", "service": "Gemini-FastAPI"}Crie um arquivo chamado
requirements.txte cole o seguinte código nele:fastapi uvicorn langchain langchain-google-genai python-dotenv
Implantar no Cloud Run da origem
A implantação a partir da origem cria automaticamente uma imagem de contêiner com base no código-fonte e a implanta.
Para implantar da origem usando o comando a seguir:
gcloud run deploy gemini-fastapi-service \
--source . \
--region us-central1 \
--no-allow-unauthenticated \
--set-env-vars GEMINI_API_KEY=API_KEY
Substitua API_KEY pela sua chave de API do Google AI Studio. Para produção, recomendamos usar o Secret Manager para processar a chave de API, em vez de variáveis de ambiente simples.
O Cloud Run mostra o URL do serviço, como https://gemini-fastapi-service-xyz-uc.a.run.app, depois que você implanta o app.
Testar o serviço do Cloud Run
Teste o serviço enviando uma consulta ao agente usando o seguinte comando curl:
curl -X POST YOUR-SERVICE-URL/chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-d '{"topic": "What is the capital of France?"}'
Substitua YOUR-SERVICE-URL pelo URL do serviço.
O agente envia a seguinte resposta:
{
"response": "Paris"
}
Para verificar se o serviço está funcionando corretamente, confira a guia Registros do serviço do Cloud Run.
Liberar espaço
Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, exclua o Google Cloud projeto do e os recursos.
Para evitar cobranças adicionais na sua Google Cloud conta do, exclua todos os recursos implantados com este guia de início rápido.
Excluir o repositório
O Cloud Run não cobra quando o serviço implantado não está em uso. No entanto, ainda é possível que você receba cobranças pelo armazenamento da imagem de contêiner no Artifact Registry. Para excluir repositórios do Artifact Registry, siga as etapas em Excluir repositórios na documentação do Artifact Registry.
Excluir o serviço
Os serviços do Cloud Run não geram custos até receberem solicitações. Para excluir o serviço do Cloud Run, siga uma destas etapas:
Console
Para excluir um serviço, realize as etapas a seguir:
Noconsole, acesse a página Serviços do Cloud Run: Google Cloud
Localize o serviço que você quer excluir na lista de serviços e clique na caixa de seleção para marcá-lo.
Clique em Excluir. Isso excluirá todas as revisões do serviço. Isso excluirá todas as revisões do serviço.
gcloud
Para excluir um serviço, execute o seguinte comando:
gcloud run services delete SERVICE --region REGION
Substitua:
- SERVICE: nome do serviço.
- REGION: Google Cloud região do serviço.
Excluir o projeto de teste
A exclusão do seu Google Cloud projeto interrompe o faturamento de todos os recursos nesse projeto. Para liberar todos os Google Cloud recursos no projeto, siga estas etapas:
Excluir um Google Cloud projeto do:
gcloud projects delete PROJECT_ID
A seguir
Para mais informações sobre como criar um contêiner a partir do código-fonte e enviá-lo para um repositório, consulte: