פיתוח ופריסה של סוכנים ב-Agent Runtime
ב-Agent Runtime אתם יכולים לארח סוכנים שפותחו באמצעות מגוון מסגרות. במאמר הזה מוסבר איך ליצור, לפרוס ולבדוק נציג באמצעות LangGraph, LangChain, AG2 או LlamaIndex.
במדריך למתחילים הזה נסביר איך:
- הגדרת הפרויקט ב- Google Cloud .
- מתקינים את Agent Platform SDK ל-Python ואת הפריימוורק שבחרתם.
- לפתח נציג להמרת מטבעות.
- פורסים את הסוכן ב-Agent Runtime.
- בודקים את הסוכן הפעיל.
במדריך למתחילים בנושא הערכה לפיתוח סוכנים (ADK) מוסבר איך מפתחים ופורסים סוכנים ב-Agent Platform באמצעות ADK.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform and Cloud Storage APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Agent Platform and Cloud Storage APIs, if any are not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
כדי לקבל את ההרשאות שדרושות לשימוש ב-Agent Runtime, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM בפרויקט:
- Agent Platform User (
roles/aiplatform.user) - אדמין באחסון (
roles/storage.admin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
התקנה והפעלה של Agent Platform SDK ל-Python
מריצים את הפקודה הבאה כדי להתקין את Agent Platform SDK for Python וחבילות נדרשות אחרות:
LangGraph
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,langchain]>=1.112LangChain
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,langchain]>=1.112AG2
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,ag2]>=1.112LlamaIndex
pip install --upgrade --quiet google-cloud-aiplatform[agent_engines,llama_index]>=1.112אימות כמשתמש
Colab
מריצים את הקוד הבא:
from google.colab import auth auth.authenticate_user(project_id="PROJECT_ID")Cloud Shell
לא נדרשת כל פעולה.
מעטפת מקומית
מריצים את הפקודה הבאה:
gcloud auth application-default loginמריצים את הקוד הבא כדי לייבא את Agent Platform ולהפעיל את ה-SDK:
(אופציונלי) לפני שבודקים נציג שמפתחים, צריך לייבא את Agent Platform ולהפעיל את ה-SDK באופן הבא:
פרויקט Google Cloud
import vertexai vertexai.init( project="PROJECT_ID", # Your project ID. location="LOCATION", # Your cloud region. )כאשר:
PROJECT_IDהוא Google Cloud מזהה הפרויקט שבו מפתחים ופורסים נציגים.LOCATIONהוא אחד מהאזורים הנתמכים.
לפני שפורסים נציג, צריך לייבא את Agent Platform ולהפעיל את ה-SDK באופן הבא:
פרויקט Google Cloud
import vertexai client = vertexai.Client( project="PROJECT_ID", # Your project ID. location="LOCATION", # Your cloud region. )כאשר:
PROJECT_IDהוא Google Cloud מזהה הפרויקט שבו מפתחים ופורסים נציגים.LOCATIONהוא אחד מהאזורים הנתמכים.
פיתוח סוכן
מפתחים כלי להמרת מטבעות בשביל הסוכן:
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 import agent_engines agent = agent_engines.LanggraphAgent( model="gemini-3.5-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-3.5-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-3.5-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-3.5-flash", runnable_kwargs={"tools": [get_exchange_rate]}, runnable_builder=runnable_with_tools_builder, )בודקים את הנציג באופן מקומי:
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?" )
פריסת סוכן
פורסים את הנציג על ידי יצירת משאב reasoningEngine ב-Agent Platform:
LangGraph
remote_agent = client.agent_engines.create(
agent,
config={
"display_name": "LangGraph currency exchange agent",
"requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
"identity_type": types.IdentityType.AGENT_IDENTITY,
},
)
LangChain
remote_agent = client.agent_engines.create(
agent,
config={
"display_name": "LangChain currency exchange agent",
"requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
"identity_type": types.IdentityType.AGENT_IDENTITY,
},
)
AG2
remote_agent = client.agent_engines.create(
agent,
config={
"display_name": "AG2 currency exchange agent",
"requirements": ["google-cloud-aiplatform[agent_engines,ag2]"],
"identity_type": types.IdentityType.AGENT_IDENTITY,
},
)
LlamaIndex
remote_agent = client.agent_engines.create(
agent,
config={
"display_name": "LlamaIndex currency exchange agent",
"requirements": ["google-cloud-aiplatform[agent_engines,llama_index]"],
"identity_type": types.IdentityType.AGENT_IDENTITY,
},
)
שימוש בסוכן
כדי לבדוק את הנציג שפרסתם, שלחו שאילתה:
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?"
)
הסרת המשאבים
כדי לא לצבור חיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, מבצעים את הפעולות הבאות.
remote_agent.delete(force=True)