Antes de comenzar
En este instructivo, se supone que leíste y seguiste las instrucciones que se indican a continuación:
- Crea un agente de LlamaIndexQueryPipeline: para crear
agentcomo una instancia deLlamaIndexQueryPipelineAgent. - Autenticación de usuarios para autenticarte como usuario para consultar el agente.
- Importa e inicializa el SDK para inicializar el cliente para obtener una instancia implementada (si es necesario).
Obtén una instancia de un agente
Para consultar un LlamaIndexQueryPipelineAgent, primero debes
crear una instancia nueva o
obtener una existente.
Para obtener el LlamaIndexQueryPipelineAgent que corresponde a un ID de recurso específico, haz lo siguiente:
SDK de Agent Platform
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 del proyecto en el que creas y implementas agentes.LOCATIONes una de las regiones admitidas.RESOURCE_IDes el ID del agente implementado como unreasoningEnginerecurso.
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 de 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 Agent Platform, el objeto agent corresponde a una clase
AgentEngine que contiene lo siguiente:
agent.api_resourcecon información sobre el agente implementado. También puedes llamar aagent.operation_schemas()para mostrar la lista de operaciones que admite elagent. Consulta Operaciones admitidas para obtener más detalles.agent.api_clientque permite interacciones de servicio síncronasagent.async_api_clientque permite interacciones de servicio asíncronas
En el resto de esta sección, se supone que tienes una instancia de AgentEngine, denominada agent.
Operaciones admitidas
Se admiten las siguientes operaciones para LlamaIndexQueryPipelineAgent:
query: para obtener una respuesta a una consulta de forma síncrona.
Consulta el agente
Para consultar el agente, usa el .query método:
agent.query(input="What is Paul Graham's life in college?")
es equivalente a lo siguiente (en forma completa):
agent.query(input={"input": "What is Paul Graham's life in college?"})
Para personalizar el diccionario de entrada, consulta Personaliza la plantilla de instrucciones.
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 QueryPipeline.run código para obtener una lista completa de los parámetros disponibles.