es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Solicitud de predicción de muestra de la inteligencia artificial recomendada de Google en Python desde las Funciones de Google Cloud.

Me gustaría ayuda para crear una solicitud de muestra de la API de predicción, mi código se ejecuta en Google Cloud Functions.

No sé cómo hacer la autenticación y la solicitud para llamar a la recomendación de predicción como en este ejemplo: https://cloud.google.com/retail/docs/predict#recommend

Ya he creado la cuenta de servicio y tengo mi identificación de cliente para realizar pruebas, pero necesito ayuda para crear un código que haga la autenticación y llame a la API.

Mi ejemplo de código se ejecuta en Google Cloud Functions con Python, pero no funciona.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para hacer una petición autenticada a una API de Google Cloud desde una Función de Google Cloud en Python, se pueden utilizar las librerías google-auth y google-cloud-storage. A continuación se muestra un fragmento de código de ejemplo que demuestra los pasos para hacer una petición de predicción autenticada a la API de Google Retail desde una Función de Google Cloud:

    import os
    from google.oauth2 import service_account
    from google.cloud import retail
    
    # Definir el ID del proyecto de Google Cloud y el archivo de credenciales de cuenta de servicio
    project_id = "tu-id-de-proyecto"
    creds_file = "ruta/a/service_account.json"
    
    # Crear un cliente autenticado de la API de Google Retail
    credentials = service_account.Credentials.from_service_account_file(creds_file)
    client = retail.PredictionServiceClient(credentials=credentials)
    
    # Definir el mensaje de solicitud
    user_event = {
      "event_type": "detail-page-view",
      "visitor_id": "12345",
      "product_details": {
        "product_id": "123",
        "quantity": 1
      }
    }
    placement = {
      "placement": "detail-page-view"
    }
    params = {}
    predict_request = {
      "placement": placement,
      "user_event": user_event,
      "params": params
    }
    
    # Realizar la solicitud de predicción
    response = client.predict(endpoint="projects/{}/locations/global/catalogs/default_catalog/placements".format(project_id), predict_request=predict_request)
    
    # Imprimir los resultados predichos
    for result in response.results:
        print(result.id, result.metadata, result.value)
    

    En el fragmento de código anterior, reemplaza tu-id-de-proyecto y ruta/a/service_account.json con tu propio ID de proyecto y archivo de credenciales de cuenta de servicio. Además, asegúrate de que la cuenta de servicio tenga los permisos necesarios para acceder a la API de Google Retail.

    Este código debería funcionar en una Función de Google Cloud que esté implementada con las dependencias google-auth y google-cloud-storage necesarias instaladas.

Comments are closed.