Agenten mit dem GenAI-Client im Vertex AI SDK bewerten

Mit dem Gen AI Evaluation Service können Sie die Fähigkeit des Agent bewerten, Aufgaben und Ziele für einen bestimmten Anwendungsfall zu erfüllen.

Auf dieser Seite erfahren Sie, wie Sie einen einfachen Agenten erstellen und bereitstellen und den Gen AI Evaluation Service verwenden, um den Agenten zu bewerten:

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

    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

    Verify that billing is enabled for your Google Cloud project.

    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

    Verify that billing is enabled for your Google Cloud project.

  2. Installieren Sie das Vertex AI SDK für Python:

    %pip install google-cloud-aiplatform[adk,agent_engines]
    %pip install --upgrade --force-reinstall -q google-cloud-aiplatform[evaluation]
    
  3. Anmeldedaten einrichten Wenn Sie diese Anleitung in Colaboratory ausführen, führen Sie Folgendes aus:

    from google.colab import auth
    auth.authenticate_user()
    

    Informationen zur Authentifizierung in anderen Umgebungen finden Sie unter Bei Vertex AI authentifizieren.

  4. GenAI-Client im Vertex AI SDK initialisieren:

    import vertexai
    from vertexai import Client
    from google.genai import types as genai_types
    
    GCS_DEST = "gs://BUCKET_NAME/output-path"
    vertexai.init(
        project=PROJECT_ID,
        location=LOCATION,
    )
    
    client = Client(
        project=PROJECT_ID,
        location=LOCATION,
        http_options=genai_types.HttpOptions(api_version="v1beta1"),
      )
    

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: Name des Cloud Storage-Bucket. Weitere Informationen zum Erstellen von Buckets finden Sie unter Bucket erstellen.

    • PROJECT_ID: Ihre Projekt-ID.

    • LOCATION: Die ausgewählte Region.

Agent entwickeln

Entwickeln Sie einen ADK-Agenten (Agent Development Kit), indem Sie das Modell, die Anleitung und die Tools definieren. Weitere Informationen zum Entwickeln eines Agents finden Sie unter Agent Development Kit-Agent entwickeln.

from google.adk import Agent

# Define Agent Tools
def search_products(query: str):
    """Searches for products based on a query."""
    # Mock response for demonstration
    if "headphones" in query.lower():
        return {"products": [{"name": "Wireless Headphones", "id": "B08H8H8H8H"}]}
    else:
        return {"products": []}

def get_product_details(product_id: str):
    """Gets the details for a given product ID."""
    if product_id == "B08H8H8H8H":
        return {"details": "Noise-cancelling, 20-hour battery life."}
    else:
        return {"error": "Product not found."}

def add_to_cart(product_id: str, quantity: int):
    """Adds a specified quantity of a product to the cart."""
    return {"status": f"Added {quantity} of {product_id} to cart."}

# Define Agent
my_agent = Agent(
    model="gemini-2.5-flash",
    name='ecommerce_agent',
    instruction='You are an ecommerce expert',
    tools=[search_products, get_product_details, add_to_cart],
)

Agent bereitstellen

Stellen Sie Ihren Agent in der Vertex AI Agent Engine-Laufzeit bereit. Das kann bis zu 10 Minuten dauern. Rufen Sie den Ressourcennamen des bereitgestellten Agenten ab.

def deploy_adk_agent(root_agent):
  """Deploy agent to agent engine.
  Args:
    root_agent: The ADK agent to deploy.
  """
  app = vertexai.agent_engines.AdkApp(
      agent=root_agent,
  )
  remote_app = client.agent_engines.create(
      agent=app,
      config = {
          "staging_bucket": gs://BUCKET_NAME,
          "requirements": ['google-cloud-aiplatform[adk,agent_engines]'],
          "env_vars": {"GOOGLE_CLOUD_AGENT_ENGINE_ENABLE_TELEMETRY": "true"}
      }
  )
  return remote_app

agent_engine = deploy_adk_agent(my_agent)
agent_engine_resource_name = agent_engine.api_resource.name

Eine Liste der in Vertex AI Agent Engine bereitgestellten Agenten finden Sie unter Bereitgestellte Agenten verwalten.

Antworten generieren

  1. Modellantworten für Ihr Dataset mit run_inference() generieren:

    Bereiten Sie Ihr Dataset als Pandas DataFrame vor. Die Prompts sollten spezifisch für Ihren Agenten sein. Für Traces sind Sitzungseingaben erforderlich. Weitere Informationen finden Sie unter Sitzung: Einzelne Unterhaltungen verfolgen.

    import pandas as pd
    from vertexai import types
    
    session_inputs = types.evals.SessionInput(
        user_id="user_123",
        state={},
    )
    agent_prompts = [
        "Search for 'noise-cancelling headphones'.",
        "Show me the details for product 'B08H8H8H8H'.",
        "Add one pair of 'B08H8H8H8H' to my shopping cart.",
        "Find 'wireless earbuds' and then add the first result to my cart.",
        "I need a new laptop for work, can you find one with at least 16GB of RAM?",
    ]
    agent_dataset = pd.DataFrame({
        "prompt": agent_prompts,
        "session_inputs": [session_inputs] * len(agent_prompts),
    })
    
  2. Modellantworten mit run_inference() generieren:

    agent_dataset_with_inference = client.evals.run_inference(
        agent=agent_engine_resource_name,
        src=agent_dataset,
    )
    
  3. Visualisieren Sie Ihre Inferenz-Ergebnisse, indem Sie .show() für das EvaluationDataset-Objekt aufrufen, um die Ausgaben des Modells zusammen mit Ihren ursprünglichen Prompts und Referenzen zu prüfen:

    agent_dataset_with_inference.show()
    

    Die folgende Abbildung zeigt das Evaluierungs-Dataset mit Prompts und den entsprechenden generierten intermediate_events- und responses-Werten:

    Ergebnisse der Agentenbewertung

KI‑Agentenbewertung ausführen

Führen Sie create_evaluation_run() aus, um die Antworten des Agenten zu bewerten.

  1. Rufen Sie agent_info mit der integrierten Hilfsfunktion ab:

    agent_info = types.evals.AgentInfo.load_from_agent(
        my_agent,
        agent_engine_resource_name
    )
    
  2. Bewerten Sie die Antworten des Modells anhand von agentspezifischen adaptiven Messwerten auf Grundlage von Bewertungsschemas (FINAL_RESPONSE_QUALITY, TOOL_USE_QUALITY und HALLUCINATION):

    evaluation_run = client.evals.create_evaluation_run(
        dataset=agent_dataset_with_inference,
        agent_info=agent_info,
        metrics=[
            types.RubricMetric.FINAL_RESPONSE_QUALITY,
            types.RubricMetric.TOOL_USE_QUALITY,
            types.RubricMetric.HALLUCINATION,
            types.RubricMetric.SAFETY,
        ],
        dest=GCS_DEST,
    )
    

Agent-Bewertungsergebnisse ansehen

Sie können die Bewertungsergebnisse mit dem Vertex AI SDK ansehen.

Rufen Sie den Bewertungsdurchlauf ab und visualisieren Sie die Bewertungsergebnisse, indem Sie .show() aufrufen, um zusammenfassende Messwerte und detaillierte Ergebnisse anzuzeigen:

evaluation_run = client.evals.get_evaluation_run(
    name=evaluation_run.name,
    include_evaluation_items=True
)

evaluation_run.show()

Das folgende Bild zeigt einen Bewertungsbericht mit zusammenfassenden Messwerten, Informationen zum Agenten und detaillierten Ergebnissen für jedes Prompt-Antwort-Paar. Die detaillierten Ergebnisse enthalten auch Traces, die die Interaktionen mit dem KI-Agenten zeigen. Weitere Informationen zu Traces finden Sie unter Agent-Trace.

Ergebnisse der Agentenbewertung

Nächste Schritte

Probieren Sie die folgenden Notebooks aus: