Implementar la aplicación

Ten en cuenta las siguientes limitaciones de la API de Reasoning Engine:

  • La API de Reasoning Engine solo admite la implementación de código de Python.
  • La API de Reasoning Engine solo se admite en la región us-central1.

Antes de comenzar

Antes de ejecutar este instructivo, asegúrate de seguir estos pasos:

  1. Configura el entorno.
  2. Desarrollar una aplicación.

Crear una instancia de ReasoningEngine

Para implementar la aplicación en Vertex AI, usa ReasoningEngine.create y pasa el objeto como parámetro. Para ingresar dependencias de paquetes para la aplicación, usa los siguientes parámetros:

  • requirements: Es una lista de dependencias de paquetes externos de PyPI. Cada línea debe ser una sola string. Para obtener más información, consulta el Formato de archivo de requisitos.
  • extra_packages: Es una lista de dependencias de paquetes internas. Estas dependencias de paquetes son archivos locales o directorios que corresponden a los paquetes locales de Python que requiere la aplicación.

En el siguiente código, se muestra cómo puedes implementar una aplicación:

remote_app = reasoning_engines.ReasoningEngine.create(
    reasoning_engines.LangchainAgent(
        model=model,
        tools=[get_exchange_rate],
        model_kwargs=model_kwargs,
    ),
    requirements=[
        "google-cloud-aiplatform[reasoningengine,langchain]",
    ],
    display_name="DISPLAY_NAME",  # Optional.
)
remote_app

La implementación de la aplicación tarda unos minutos en ejecutarse. Compila contenedores y activa servidores HTTP en el backend. La latencia de implementación depende del tiempo total que lleva instalar los paquetes obligatorios.

Una vez implementado, remote_app corresponde a una instancia de reasoning_engines.LangchainAgent que se ejecuta en Vertex AI y que se puede consultar o borrar. Es independiente de las instancias locales de reasoning_engines.LangchainAgent.

Cada aplicación implementada tiene un identificador único. Ejecuta el comando siguiente a fin de obtener el identificador resource_name para tu aplicación:

remote_app.resource_name

resource_name tiene el siguiente formato: “projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID”.

Prácticas recomendadas

  1. Fija las versiones de tus paquetes (para compilaciones reproducibles). Entre los paquetes comunes de los que debes hacer un seguimiento, se incluyen google-cloud-aiplatform, cloudpickle, langchain, langchain-core, langchain-google-vertexai y pydantic.
  2. Minimiza la cantidad de dependencias en tu aplicación. Esto reduce la cantidad de cambios drásticos cuando actualizas tus dependencias y facilita la actualización de tu aplicación con el tiempo para obtener funciones más nuevas.

¿Qué sigue?