LlamaIndex-Abfrage-Pipeline-Agent verwenden

Hinweise

In dieser Anleitung wird davon ausgegangen, dass Sie die Anleitung unter folgenden Links gelesen und befolgt haben:

Instanz eines Agenten abrufen

Wenn Sie eine LlamaIndexQueryPipelineAgent abfragen möchten, müssen Sie zuerst eine neue Instanz erstellen oder eine vorhandene Instanz abrufen.

So rufen Sie die LlamaIndexQueryPipelineAgent für eine bestimmte Ressourcen-ID ab:

Vertex AI SDK für Python

Führen Sie den folgenden Code aus:

import vertexai

client = vertexai.Client(  # For service interactions via client.agent_engines
    project="PROJECT_ID",
    location="LOCATION",
)

agent = client.agent_engines.get(name="projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID")

print(agent)

Dabei gilt:

Python-Bibliothek „requests“

Führen Sie den folgenden Code aus:

from google import auth as google_auth
from google.auth.transport import requests as google_requests
import requests

def get_identity_token():
    credentials, _ = google_auth.default()
    auth_request = google_requests.Request()
    credentials.refresh(auth_request)
    return credentials.token

response = requests.get(
f"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID",
    headers={
        "Content-Type": "application/json; charset=utf-8",
        "Authorization": f"Bearer {get_identity_token()}",
    },
)

REST API

curl \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/reasoningEngines/RESOURCE_ID

Wenn Sie das Vertex AI SDK für Python verwenden, entspricht das agent-Objekt einer AgentEngine-Klasse, die Folgendes enthält:

  • eine agent.api_resource mit Informationen zum bereitgestellten Agent. Sie können auch agent.operation_schemas() aufrufen, um die Liste der Vorgänge zurückzugeben, die vom Agent unterstützt werden. Weitere Informationen finden Sie unter Unterstützte Vorgänge.
  • eine agent.api_client, die synchrone Dienstinteraktionen ermöglicht
  • ein agent.async_api_client, das asynchrone Dienstinteraktionen ermöglicht

Im weiteren Verlauf dieses Abschnitts wird davon ausgegangen, dass Sie eine AgentEngine-Instanz mit dem Namen agent haben.

Unterstützte Vorgänge

Die folgenden Vorgänge werden für LlamaIndexQueryPipelineAgent unterstützt:

  • query: um synchron eine Antwort auf eine Anfrage zu erhalten.

Die Methode query unterstützt den folgenden Argumenttyp:

  • input: die Nachrichten, die an den Agent gesendet werden sollen.

Agent abfragen

Der Befehl bewirkt Folgendes:

agent.query(input="What is Paul Graham's life in college?")

entspricht dem Folgenden (in Langform):

agent.query(input={"input": "What is Paul Graham's life in college?"})

Informationen zum Anpassen des Eingabewörterbuchs finden Sie unter Prompt-Vorlage anpassen.

Sie können das Verhalten des Agents auch über input hinaus anpassen, indem Sie zusätzliche Schlüsselwortargumente an query() übergeben.

response = agent.query(
    input={
      "input" = [
        "What is Paul Graham's life in college?",
        "How did Paul Graham's college experience shape his career?",
        "How did Paul Graham's college experience shape his entrepreneurial mindset?",
      ],
    },
    batch=True  # run the pipeline in batch mode and pass a list of inputs.
)
print(response)

Eine vollständige Liste der verfügbaren Parameter finden Sie im QueryPipeline.run-Code.

Nächste Schritte