Agents in Vertex AI Agent Engine entwickeln und bereitstellen

Auf dieser Seite wird gezeigt, wie Sie einen Agent erstellen und in der Vertex AI Agent Engine-Laufzeit bereitstellen. Dabei werden die folgenden Agent-Frameworks verwendet:

In dieser Kurzanleitung werden die folgenden Schritte beschrieben:

  • Ihr Google Cloud -Projekt einrichten

  • Installieren Sie das Vertex AI SDK für Python und das von Ihnen ausgewählte Framework.

  • Entwickeln Sie einen Agent für den Währungsumtausch.

  • Stellen Sie den Agent in der Vertex AI Agent Engine-Laufzeit bereit.

  • Testen Sie den bereitgestellten Agenten.

Eine Kurzanleitung zur Verwendung des Agent Development Kit finden Sie unter Agenten mit dem Agent Development Kit in Vertex AI Agent Engine entwickeln und bereitstellen.

Hinweise

  1. 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.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zur Verwendung von Vertex AI Agent Engine benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Vertex AI SDK für Python installieren und initialisieren

    1. Führen Sie den folgenden Befehl aus, um das Vertex AI SDK für Python und andere erforderliche Pakete zu installieren:

      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
    2. Als Nutzer authentifizieren

      Colab

      Führen Sie den folgenden Code aus:

      from google.colab import auth
      
      auth.authenticate_user(project_id="PROJECT_ID")
      

      Cloud Shell

      Es sind keine weiteren Schritte erforderlich.

      Lokale Shell

      Führen Sie dazu diesen Befehl aus:

      gcloud auth application-default login

      Expressmodus

      Wenn Sie Vertex AI im Express-Modus verwenden, sind keine Maßnahmen erforderlich.

    3. Führen Sie den folgenden Code aus, um Vertex AI Agent Engine zu importieren und das SDK zu initialisieren:

      1. Optional: Bevor Sie einen von Ihnen entwickelten Agenten testen, müssen Sie Vertex AI Agent Engine importieren und das SDK so initialisieren:

        Google Cloud-Projekt

        import vertexai
        
        vertexai.init(
            project="PROJECT_ID",               # Your project ID.
            location="LOCATION",                # Your cloud region.
        )
        

        Wobei:

        Expressmodus

        Wenn Sie Vertex AI im Express-Modus verwenden, führen Sie den folgenden Code aus:

        import vertexai
        
        vertexai.init(
            api_key="API_KEY"
        )
        

        Dabei ist API_KEY der API-Schlüssel, den Sie zur Authentifizierung des Agents verwenden.

      2. Bevor Sie einen Agent bereitstellen, müssen Sie Vertex AI Agent Engine importieren und das SDK so initialisieren:

        Google Cloud-Projekt

        import vertexai
        
        client = vertexai.Client(
            project="PROJECT_ID",               # Your project ID.
            location="LOCATION",                # Your cloud region.
        )
        

        Wobei:

        Expressmodus

        Wenn Sie Vertex AI im Express-Modus verwenden, führen Sie den folgenden Code aus:

        import vertexai
        
        client = vertexai.Client(
            api_key="API_KEY"
        )
        

        Dabei ist API_KEY der API-Schlüssel, den Sie zur Authentifizierung des Agents verwenden.

    Agent entwickeln

    1. Entwickeln Sie ein Tool für den Währungsumtausch für Ihren Agenten:

      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()
      
    2. Agent instanziieren:

      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,
      )
      
    3. Agent lokal testen:

      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?"
      )
      

    Agent bereitstellen

    Stellen Sie den Agent bereit, indem Sie in Vertex AI eine reasoningEngine-Ressource erstellen:

    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

    remote_agent = client.agent_engines.create(
        agent,
        config={
            "requirements": ["google-cloud-aiplatform[agent_engines,ag2]"],
        },
    )
    

    LlamaIndex

    remote_agent = client.agent_engines.create(
        agent,
        config={
            "requirements": ["google-cloud-aiplatform[agent_engines,llama_index]"],
        },
    )
    

    KI-Agent verwenden

    Testen Sie den bereitgestellten Agent, indem Sie eine Anfrage senden:

    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?"
    )
    

    Bereinigen

    Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

    remote_agent.delete(force=True)
    

    Nächste Schritte