Antes de empezar
En este tutorial se da por hecho que has leído y seguido las instrucciones de los siguientes artículos:
- Desarrollar un agente LlamaIndexQueryPipeline: para desarrollar
agentcomo instancia deLlamaIndexQueryPipelineAgent. - Autenticación de usuario: para autenticarte como usuario y consultar al agente.
- Importa e inicializa el SDK para inicializar el cliente y obtener una instancia implementada (si es necesario).
Obtener una instancia de un agente
Para consultar un LlamaIndexQueryPipelineAgent, primero debes crear una instancia o obtener una instancia que ya tengas.
Para obtener el LlamaIndexQueryPipelineAgent correspondiente a un ID de recurso específico, sigue estos pasos:
SDK de Vertex AI para Python
Ejecuta el siguiente código:
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)
donde
PROJECT_IDes el Google Cloud ID de proyecto en el que desarrollas y despliegas agentes.LOCATIONes una de las regiones admitidas.RESOURCE_IDes el ID del agente implementado como recursoreasoningEngine.
Biblioteca de solicitudes de Python
Ejecuta el siguiente código:
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_IDCuando se usa el SDK de Vertex AI para Python, el objeto agent corresponde a una clase AgentEngine que contiene lo siguiente:
- Un
agent.api_resourcecon información sobre el agente implementado. También puedes llamar aagent.operation_schemas()para que se devuelva la lista de operaciones que admite el agente. Consulta Operaciones admitidas para obtener más información. - un
agent.api_clientque permite interacciones de servicio síncronas - un
agent.async_api_clientque permite interacciones de servicio asíncronas
En el resto de esta sección se presupone que tienes una instancia de AgentEngine llamada agent.
Operaciones admitidas
Se admiten las siguientes operaciones para LlamaIndexQueryPipelineAgent:
query: para obtener una respuesta a una consulta de forma síncrona.
El método query admite el siguiente tipo de argumento:
input: los mensajes que se enviarán al agente.
Consultar el agente
El comando:
agent.query(input="What is Paul Graham's life in college?")
es equivalente a lo siguiente (en formato completo):
agent.query(input={"input": "What is Paul Graham's life in college?"})
Para personalizar el diccionario de entrada, consulta Personalizar la plantilla de petición.
También puedes personalizar el comportamiento del agente más allá de input pasando argumentos de palabras clave adicionales a 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)
Consulta el código de QueryPipeline.run para ver la lista completa de parámetros disponibles.