Avant de commencer
Ce tutoriel suppose que vous avez lu et suivi les instructions de :
- Développez un agent LlamaIndexQueryPipeline : pour développer
agent
en tant qu'instance deLlamaIndexQueryPipelineAgent
. - Authentification de l'utilisateur pour s'authentifier en tant qu'utilisateur afin d'interroger l'agent.
- Importez et initialisez le SDK pour initialiser le client afin d'obtenir une instance déployée (si nécessaire).
Obtenir une instance d'un agent
Pour interroger un LlamaIndexQueryPipelineAgent
, vous devez d'abord créer une instance ou obtenir une instance existante.
Pour obtenir le LlamaIndexQueryPipelineAgent
correspondant à un ID de ressource spécifique :
SDK Vertex AI pour Python
Exécutez le code suivant :
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)
Où :
PROJECT_ID
correspond à l'ID de projet Google Cloud sous lequel vous développerez et déploierez des agents.LOCATION
désigne l'une des régions compatibles.RESOURCE_ID
est l'ID de l'agent déployé en tant que ressourcereasoningEngine
.
Bibliothèque de requêtes Python
Exécutez le code suivant :
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()}",
},
)
API REST
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
Lorsque vous utilisez le SDK Vertex AI pour Python, l'objet agent
correspond à une classe AgentEngine
qui contient les éléments suivants :
- un
agent.api_resource
contenant des informations sur l'agent déployé. Vous pouvez également appeleragent.operation_schemas()
pour renvoyer la liste des opérations compatibles avec l'agent. Pour en savoir plus, consultez Opérations compatibles. - un
agent.api_client
qui permet des interactions de service synchrones. - un
agent.async_api_client
qui permet des interactions de service asynchrones.
Le reste de cette section suppose que vous disposez d'une instance AgentEngine
nommée agent
.
Opérations compatibles
Les opérations suivantes sont acceptées pour LlamaIndexQueryPipelineAgent
:
query
: pour obtenir une réponse à une requête de manière synchrone.
La méthode query
accepte le type d'argument suivant :
input
: messages à envoyer à l'agent.
Interroger l'agent
La commande
agent.query(input="What is Paul Graham's life in college?")
équivaut à ce qui suit (sous forme complète) :
agent.query(input={"input": "What is Paul Graham's life in college?"})
Pour personnaliser le dictionnaire d'entrée, consultez Personnaliser le modèle de requête.
Vous pouvez également personnaliser le comportement de l'agent au-delà de input
en transmettant des arguments de mots clés supplémentaires à query()
.
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)
Pour obtenir la liste complète des paramètres disponibles, consultez le code QueryPipeline.run
.