Guía de inicio rápido: Compila y, luego, implementa una app web de Python (LangChain) en Cloud Run

Aprende a compilar e implementar una aplicación de LangChain con Cloud Run y Gemini para responder consultas sobre capitales de ciudades.

Si sigues los pasos de esta guía de inicio rápido, Cloud Run compilará automáticamente un Dockerfile por ti cuando realices la implementación a partir del código fuente.

Antes de comenzar

  1. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. Instala Google Cloud CLI.

  3. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  4. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  5. Crea o selecciona un Google Cloud proyecto.

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el resourcemanager.projects.create permiso. Obtén más información para otorgar roles.
    • Crea un proyecto de: Google Cloud

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el Google Cloud proyecto de que estás creando.

    • Selecciona el Google Cloud proyecto de que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre de tu Google Cloud proyecto de.

  6. Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.

  7. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  8. Instala Google Cloud CLI.

  9. Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

  10. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  11. Crea o selecciona un Google Cloud proyecto.

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el resourcemanager.projects.create permiso. Obtén más información para otorgar roles.
    • Crea un proyecto de: Google Cloud

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el Google Cloud proyecto de que estás creando.

    • Selecciona el Google Cloud proyecto de que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre de tu Google Cloud proyecto de.

  12. Si usas un proyecto existente en esta guía, verifica que tengas los permisos necesarios para completarla. Si creaste un proyecto nuevo, ya tienes los permisos necesarios.

  13. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  14. Si estás bajo una política de la organización de restricción de dominios que restringe las invocaciones no autenticadas para tu proyecto, deberás acceder al servicio implementado como se describe en Prueba servicios privados.

  15. Habilita la API de Cloud Run Admin y las APIs de Cloud Build:

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén más información para otorgar roles.

    gcloud services enable run.googleapis.com cloudbuild.googleapis.com

    Después de habilitar la API de Cloud Run Admin, se crea de forma automática la cuenta de servicio predeterminada de Compute Engine.

  16. Revisa los precios de Cloud Run o estima los costos con la calculadora de precios.
  17. Necesitas una clave de API de Google AI Studio para implementar la app de LangChain con un modelo de Gemini. Para generar una clave de API con Google AI Studio, consulta Usa claves de API de Gemini en la documentación de la API de Gemini. Harás referencia a esta clave cuando implementes tu servicio.

Roles obligatorios

Si quieres obtener los permisos que necesitas para completar esta guía de inicio rápido, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.

Otorga acceso a la cuenta de servicio de Cloud Build a tu proyecto

Cloud Build usa automáticamente la cuenta de servicio predeterminada de Compute Engine como la cuenta de servicio predeterminada de Cloud Build para compilar tu código fuente y el recurso de Cloud Run, a menos que anules este comportamiento.

Para que Cloud Build compile tus fuentes, otorga el rol de compilador de Cloud Run (roles/run.builder) a la cuenta de servicio de Cloud Build en tu proyecto:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member=serviceAccount:SERVICE_ACCOUNT_EMAIL_ADDRESS \
    --role=roles/run.builder

Reemplaza PROJECT_ID por el Google Cloud ID del proyecto y SERVICE_ACCOUNT_EMAIL_ADDRESS por la dirección de correo electrónico de la cuenta de servicio de Cloud Build. Si usas la cuenta de servicio predeterminada de Compute Engine como la cuenta de servicio de Cloud Build, usa el siguiente formato para la dirección de correo electrónico de la cuenta de servicio:

PROJECT_NUMBER-compute@developer.gserviceaccount.com

Reemplaza PROJECT_NUMBER por el número del proyecto de Google Cloud.

Para obtener instrucciones detalladas sobre cómo encontrar el ID del proyecto y el número del proyecto, consulta Crea y administra proyectos.

El otorgamiento del rol de compilador de Cloud Run tarda un par de minutos en propagarse.

Escriba la aplicación de ejemplo

Para escribir una aplicación en Python, haz lo siguiente:

  1. Crea un directorio nuevo llamado langchain-gemini-fastapi-app y usa el comando de cambio de directorio en él:

    mkdir langchain-gemini-fastapi-app
    cd langchain-gemini-fastapi-app
    
  2. Crea un archivo llamado main.py y pega el código siguiente en él:

    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"}
    
  3. Crea un archivo llamado requirements.txt y pega el código siguiente en él:

    fastapi
    uvicorn
    langchain
    langchain-google-genai
    python-dotenv
    

Implementa en Cloud Run desde la fuente

La implementación desde la fuente compila automáticamente una imagen de contenedor a partir del código fuente y la implementa.

Para implementar desde la fuente, usa el siguiente comando:

  gcloud run deploy gemini-fastapi-service \
    --source . \
    --region us-central1 \
    --no-allow-unauthenticated \
    --set-env-vars GEMINI_API_KEY=API_KEY

Reemplaza API_KEY por tu clave de API de Google AI Studio. Para la producción, se recomienda usar Secret Manager para controlar la clave de API, en lugar de variables de entorno sin formato.

Cloud Run muestra la URL del servicio, como https://gemini-fastapi-service-xyz-uc.a.run.app, después de implementar la app correctamente.

Prueba tu servicio de Cloud Run

Para probar tu servicio, envía una consulta al agente con el siguiente 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?"}'

Reemplaza YOUR-SERVICE-URL por la URL de tu servicio.

El agente envía la siguiente respuesta:

  {
  "response": "Paris"
  }

Para verificar que tu servicio funcione correctamente, consulta la pestaña Registros del servicio de Cloud Run.

Limpia

Para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página, borra el Google Cloud proyecto de que tiene los recursos.

Para evitar cargos adicionales en tu Google Cloud cuenta de, borra todos los recursos que implementaste con esta guía de inicio rápido.

Borra tu repositorio

Cloud Run no te cobra cuando no se usa tu servicio implementado. Sin embargo, es posible que aún se te cobre por almacenar la imagen de contenedor en Artifact Registry. Para borrar repositorios de Artifact Registry, sigue los pasos que se indican en Borra repositorios en la documentación de Artifact Registry.

Borra tu servicio

Los servicios de Cloud Run no generan costos hasta que reciben solicitudes. Para borrar tu servicio de Cloud Run, sigue uno de estos pasos:

Console

Para borrar un servicio, debes hacer lo siguiente:

  1. En la Google Cloud consola de, ve a la página Servicios de Cloud Run:

    Ir a Cloud Run

  2. Buscar el servicio que deseas borrar en la lista de servicios y hacer clic en su casilla de verificación para seleccionarlo

  3. Haz clic en Borrar. Esta acción borra todas las revisiones del servicio

gcloud

Para borrar un servicio, ejecuta el siguiente comando:

gcloud run services delete SERVICE --region REGION

Reemplaza lo siguiente:

  • SERVICE: Nombre de tu servicio.
  • REGION: Google Cloud Región del servicio.

Borra tu proyecto de prueba

Si borras tu Google Cloud proyecto de, se dejan de facturar todos los recursos que usaste en ese proyecto. Para liberar todos los Google Cloud recursos de tu proyecto, sigue estos pasos:

    Borra un Google Cloud proyecto de:

    gcloud projects delete PROJECT_ID

¿Qué sigue?

Para obtener más información sobre cómo compilar un contenedor a partir de código fuente y enviarlo a un repositorio, consulta los siguientes vínculos: