Implementa l'applicazione

Tieni presenti le seguenti limitazioni per l'API Reasoning Engine:

  • L'API Reasoning Engine supporta il deployment solo di codice Python.
  • L'API Reasoning Engine è supportata solo nella regione us-central1.

Prima di iniziare

Prima di eseguire questo tutorial, assicurati di seguire:

  1. Configura l'ambiente.
  2. Sviluppare un'applicazione.

Crea un'istanza ReasoningEngine

Per eseguire il deployment dell'applicazione su Vertex AI, utilizza ReasoningEngine.create e passa l'oggetto come parametro. Per introdurre le dipendenze dei pacchetti per l'applicazione, utilizza i seguenti parametri:

  • requirements: un elenco di dipendenze dei pacchetti PyPI esterni. Ogni riga deve essere una singola stringa. Per scoprire di più, consulta Formato file dei requisiti.
  • extra_packages: un elenco di dipendenze dei pacchetti interni. Queste dipendenze dei pacchetti sono file o directory locali che corrispondono ai pacchetti Python locali richiesti dall'applicazione.

Il seguente codice mostra come eseguire il deployment di un'applicazione:

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

L'esecuzione del deployment dell'applicazione richiede alcuni minuti. Consente di creare container e attivare i server HTTP sul backend. La latenza di deployment dipende dal tempo totale necessario per installare i pacchetti richiesti.

Una volta eseguito il deployment, remote_app corrisponde a un'istanza di reasoning_engines.LangchainAgent in esecuzione su Vertex AI e può essere sottoposto a query o eliminato. È distinta dalle istanze locali di reasoning_engines.LangchainAgent.

Ogni applicazione di cui è stato eseguito il deployment ha un identificatore univoco. Esegui il seguente comando per recuperare l'identificatore resource_name della tua applicazione:

remote_app.resource_name

resource_name ha il seguente formato: "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID".

Best practice

  1. Blocca le versioni dei pacchetti (per build riproducibili). I pacchetti comuni da monitorare includono: google-cloud-aiplatform, cloudpickle, langchain, langchain-core, langchain-google-vertexai e pydantic.
  2. Riduci al minimo il numero di dipendenze nell'applicazione. In questo modo si riduce il numero di modifiche che comportano interruzioni durante l'aggiornamento delle dipendenze e diventa più facile aggiornare l'applicazione nel tempo per le funzionalità più recenti.

Passaggi successivi