在 Agent Engine 上开发和部署代理
本页介绍了如何创建和部署代理,以返回指定日期两种货币之间的汇率。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Cloud Storage APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Cloud Storage APIs.
如需获取使用 Agent Engine 所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:
-
Vertex AI User (
roles/aiplatform.user
) -
Storage Admin (
roles/storage.admin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
安装并初始化 Python 版 Vertex AI SDK
运行以下命令以安装 Vertex AI SDK for Python 和其他所需的软件包:
LangGraph
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,langchain]
LangChain
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,langchain]
AG2
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,ag2]
以用户身份进行身份验证
Colab
运行以下代码:
from google.colab import auth auth.authenticate_user(project_id="PROJECT_ID")
Cloud Shell
您无需执行任何操作。
本地 Shell
运行以下命令:
gcloud auth application-default login
运行以下代码以导入 Agent Engine 并初始化 SDK:
import vertexai from vertexai import agent_engines vertexai.init( project="PROJECT_ID", # Your project ID. location="LOCATION", # Your cloud region. staging_bucket="gs://BUCKET_NAME", # Your staging bucket. )
开发代理
首先,开发一个工具:
def get_exchange_rate(
currency_from: str = "USD",
currency_to: str = "EUR",
currency_date: str = "latest",
):
"""Retrieves the exchange rate between two currencies on a specified date."""
import requests
response = requests.get(
f"https://api.frankfurter.app/{currency_date}",
params={"from": currency_from, "to": currency_to},
)
return response.json()
接下来,实例化代理:
LangGraph
from vertexai.preview.reasoning_engines import LanggraphAgent
agent = LanggraphAgent(
model="gemini-1.5-flash-001",
tools=[get_exchange_rate],
model_kwargs={
"temperature": 0.28,
"max_output_tokens": 1000,
"top_p": 0.95,
},
)
LangChain
from vertexai.preview.reasoning_engines import LangchainAgent
agent = LangchainAgent(
model="gemini-1.5-flash-001",
tools=[get_exchange_rate],
model_kwargs={
"temperature": 0.28,
"max_output_tokens": 1000,
"top_p": 0.95,
},
)
AG2
from vertexai.preview.reasoning_engines import AG2Agent
agent = AG2Agent(
model="gemini-1.5-flash-001",
runnable_name="Get Exchange Rate Agent",
tools=[get_exchange_rate],
)
最后,在本地测试代理:
LangGraph
agent.query(input={"messages": [
("user", "What's the exchange rate from US dollars to Swedish currency?"),
]})
LangChain
agent.query(
input="What's the exchange rate from US dollars to Swedish currency?"
)
AG2
agent.query(
input="What's the exchange rate from US dollars to Swedish currency?"
)
部署代理
如需部署代理,请执行以下操作:
LangGraph
remote_agent = agent_engines.create(
agent,
requirements=["google-cloud-aiplatform[agent_engines,langchain]"],
)
LangChain
remote_agent = agent_engines.create(
agent,
requirements=["google-cloud-aiplatform[agent_engines,langchain]"],
)
AG2
remote_agent = agent_engines.create(
agent,
requirements=["google-cloud-aiplatform[agent_engines,ag2]"],
)
这会在 Vertex AI 中创建一个 reasoningEngine
资源。
使用代理
通过发送查询来测试已部署的代理:
LangGraph
remote_agent.query(input={"messages": [
("user", "What's the exchange rate from US dollars to Swedish currency?"),
]})
LangChain
remote_agent.query(
input="What's the exchange rate from US dollars to Swedish currency?"
)
AG2
remote_agent.query(
input="What's the exchange rate from US dollars to Swedish currency?"
)
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
remote_agent.delete()