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:
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
- Blocca le versioni dei pacchetti (per build riproducibili). I pacchetti comuni da monitorare includono:
google-cloud-aiplatform
,cloudpickle
,langchain
,langchain-core
,langchain-google-vertexai
epydantic
. - 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.