Beachten Sie die folgenden Einschränkungen für die Reasoning Engine API:
- Die Reasoning Engine API unterstützt nur das Bereitstellen von Python-Code.
- Die Reasoning Engine API wird nur in der Region
us-central1
unterstützt.
Vorbereitung
Bevor Sie mit dieser Anleitung beginnen, müssen Sie Folgendes tun:
- Richten Sie die Umgebung ein.
- Entwickeln Sie eine LangChain-Anwendung oder entwickeln Sie eine LangGraph-Anwendung.
ReasoningEngine
-Instanz erstellen
Verwenden Sie ReasoningEngine.create
, um die Anwendung in Vertex AI bereitzustellen, und übergeben Sie das Objekt als Parameter. Wenn Sie Paketabhängigkeiten für die Anwendung einführen möchten, verwenden Sie die folgenden Parameter:
requirements
: Eine Liste externer PyPI. Jede Zeile muss ein einzelner String sein. Weitere Informationen finden Sie unter Dateiformat für Anforderungen.extra_packages
: Eine Liste der internen Paketabhängigkeiten. Diese Paketabhängigkeiten sind lokale Dateien oder Verzeichnisse, die den für die Anwendung erforderlichen lokalen Python-Paketen entsprechen.
Der folgende Code zeigt, wie Sie eine Anwendung bereitstellen können:
LangChain
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
LangGraph
remote_app = reasoning_engines.ReasoningEngine.create(
reasoning_engines.LanggraphAgent(
model=model,
tools=[get_exchange_rate],
model_kwargs=model_kwargs,
),
requirements=[
"google-cloud-aiplatform[reasoningengine,langchain]",
],
display_name="DISPLAY_NAME", # Optional.
)
remote_app
Die Bereitstellung der Anwendung dauert mehrere Minuten. Es erstellt Container und aktiviert HTTP-Server im Back-End. Die Bereitstellungslatenz hängt von der Gesamtzeit ab, die für die Installation der erforderlichen Pakete benötigt wird.
LangChain
Nach der Bereitstellung entspricht remote_app
einer Instanz von reasoning_engines.LangchainAgent
, die auf Vertex AI ausgeführt wird und abgefragt oder gelöscht werden kann. Es ist getrennt von lokalen Instanzen von reasoning_engines.LangchainAgent
.
LangGraph
Nach der Bereitstellung entspricht remote_app
einer Instanz von reasoning_engines.LanggraphAgent
, die auf Vertex AI ausgeführt wird und abgefragt oder gelöscht werden kann. Es ist getrennt von lokalen Instanzen von reasoning_engines.LanggraphAgent
.
Jede bereitgestellte Anwendung hat eine eindeutige Kennung. Führen Sie den folgenden Befehl aus, um die resource_name
-ID für Ihre Anwendung abzurufen:
remote_app.resource_name
resource_name
hat das folgende Format: "projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID".
Best Practices
- Paketversionen anpinnen (für reproduzierbare Builds) Zu den gängigen Paketen, die Sie im Blick behalten sollten, gehören:
google-cloud-aiplatform
,cloudpickle
,langchain
,langchain-core
,langchain-google-vertexai
,langgraph
undpydantic
. - Minimieren Sie die Anzahl der Abhängigkeiten in Ihrer Anwendung. Dadurch wird die Anzahl der funktionsgefährdenden Änderungen beim Aktualisieren Ihrer Abhängigkeiten reduziert und es wird einfacher, Ihre Anwendung im Laufe der Zeit auf neuere Funktionen zu aktualisieren.
Nächste Schritte
- Verwenden Sie die LangChain-Anwendung oder verwenden Sie die LangGraph-Anwendung.
- Fehlerbehebung bei der Bereitstellung einer Anwendung