Mengembangkan dan men-deploy agen di Vertex AI Agent Engine
Halaman ini menunjukkan cara membuat dan men-deploy agen yang menampilkan nilai tukar antara dua mata uang pada tanggal tertentu, menggunakan framework agen berikut:
Sebelum memulai
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Cloud Storage APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Pengguna Vertex AI (
roles/aiplatform.user
) -
Storage Admin (
roles/storage.admin
) Jalankan perintah berikut untuk menginstal Vertex AI SDK untuk Python dan paket lain yang diperlukan:
ADK
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,adk]>=1.112
LangGraph
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,langchain]>=1.112
LangChain
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,langchain]>=1.112
AG2
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,ag2]>=1.112
LlamaIndex
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,llama_index]>=1.112
Mengautentikasi sebagai pengguna
Colab
Jalankan kode berikut:
from google.colab import auth auth.authenticate_user(project_id="PROJECT_ID")
Cloud Shell
Tindakan tidak diperlukan.
Shell Lokal
Jalankan perintah berikut:
gcloud auth application-default login
Jalankan kode berikut untuk mengimpor Vertex AI Agent Engine dan melakukan inisialisasi SDK:
import vertexai client = vertexai.Client( project="PROJECT_ID", # Your project ID. location="LOCATION", # Your cloud region. )
Dengan:
PROJECT_ID
adalah Google Cloud project ID yang digunakan untuk mengembangkan dan men-deploy agenLOCATION
adalah salah satu wilayah yang didukung.
Untuk mendapatkan izin yang Anda perlukan untuk menggunakan Vertex AI Agent Engine, minta administrator Anda untuk memberi Anda peran IAM berikut di project Anda:
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran kustom atau peran yang telah ditentukan lainnya.
Menginstal dan melakukan inisialisasi Vertex AI SDK untuk Python
Mengembangkan agen
Pertama, kembangkan alat:
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()
Selanjutnya, buat instance agen:
ADK
from google.adk.agents import Agent
from vertexai import agent_engines
agent = Agent(
model="gemini-2.0-flash",
name='currency_exchange_agent',
tools=[get_exchange_rate],
)
app = agent_engines.AdkApp(agent=agent)
LangGraph
from vertexai import agent_engines
agent = agent_engines.LanggraphAgent(
model="gemini-2.0-flash",
tools=[get_exchange_rate],
model_kwargs={
"temperature": 0.28,
"max_output_tokens": 1000,
"top_p": 0.95,
},
)
LangChain
from vertexai import agent_engines
agent = agent_engines.LangchainAgent(
model="gemini-2.0-flash",
tools=[get_exchange_rate],
model_kwargs={
"temperature": 0.28,
"max_output_tokens": 1000,
"top_p": 0.95,
},
)
AG2
from vertexai import agent_engines
agent = agent_engines.AG2Agent(
model="gemini-2.0-flash",
runnable_name="Get Exchange Rate Agent",
tools=[get_exchange_rate],
)
LlamaIndex
from vertexai.preview import reasoning_engines
def runnable_with_tools_builder(model, runnable_kwargs=None, **kwargs):
from llama_index.core.query_pipeline import QueryPipeline
from llama_index.core.tools import FunctionTool
from llama_index.core.agent import ReActAgent
llama_index_tools = []
for tool in runnable_kwargs.get("tools"):
llama_index_tools.append(FunctionTool.from_defaults(tool))
agent = ReActAgent.from_tools(llama_index_tools, llm=model, verbose=True)
return QueryPipeline(modules = {"agent": agent})
agent = reasoning_engines.LlamaIndexQueryPipelineAgent(
model="gemini-2.0-flash",
runnable_kwargs={"tools": [get_exchange_rate]},
runnable_builder=runnable_with_tools_builder,
)
Terakhir, uji agen secara lokal:
ADK
async for event in app.async_stream_query(
user_id="USER_ID",
message="What is the exchange rate from US dollars to SEK today?",
):
print(event)
dengan USER_ID adalah ID yang ditentukan pengguna dengan batas karakter 128.
LangGraph
agent.query(input={"messages": [
("user", "What is the exchange rate from US dollars to SEK today?"),
]})
LangChain
agent.query(
input="What is the exchange rate from US dollars to SEK today?"
)
AG2
agent.query(
input="What is the exchange rate from US dollars to SEK today?"
)
LlamaIndex
agent.query(
input="What is the exchange rate from US dollars to SEK today?"
)
Men-deploy agen
Untuk men-deploy agen:
ADK
remote_agent = client.agent_engines.create(
agent=app,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,adk]"],
}
)
LangGraph
remote_agent = client.agent_engines.create(
agent,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
},
)
LangChain
remote_agent = client.agent_engines.create(
agent,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
},
)
AG2
from vertexai import agent_engines
remote_agent = agent_engines.create(
agent,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,ag2]"],
},
)
LlamaIndex
from vertexai import agent_engines
remote_agent = agent_engines.create(
agent,
config={
"requirements": ["google-cloud-aiplatform[agent_engines,llama_index]"],
},
)
Tindakan ini akan membuat resource reasoningEngine
di Vertex AI.
Menggunakan agen
Uji agen yang di-deploy dengan mengirimkan kueri:
ADK
async for event in remote_agent.async_stream_query(
user_id="USER_ID",
message="What is the exchange rate from US dollars to SEK today?",
):
print(event)
LangGraph
remote_agent.query(input={"messages": [
("user", "What is the exchange rate from US dollars to SEK today?"),
]})
LangChain
remote_agent.query(
input="What is the exchange rate from US dollars to SEK today?"
)
AG2
remote_agent.query(
input="What is the exchange rate from US dollars to SEK today?"
)
LlamaIndex
remote_agent.query(
input="What is the exchange rate from US dollars to SEK today?"
)
Pembersihan
Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.
remote_agent.delete(force=True)