googleapis / googleapis/python-aiplatform

find_neighbors with REST transport fails unless project and location are set in aiplatform.init

Abierto
#5,467 2 comentarios 0 reacciones 0 asignados Ver en GitHub
api: vertex-ai
Lenguaje dominante
Python
Estrellas
905
Forks
465
Merge medio
1 d 13 h
PR fusionados (30 d)
44

Descripción

`MatchingEngineIndexEndpoint.find_neighbors` fails when using `api_transport="rest"` if `project` and `location` are not explicitly passed to `aiplatform.init()`. The gRPC transport works correctly without these explicit parameters.

The REST call results in a `400 BadRequest` error: `Could not find field "%24alt" in the type "google.cloud.aiplatform.v1beta1.FindNeighborsRequest"`.

Is it intended that the REST transport requires explicit `project` and `location` in `init`, while gRPC can infer them from the endpoint's resource name? The behavior seems inconsistent.

**Code Example:**

```python
from google.cloud import aiplatform

# Fails with the below configuration
aiplatform.init(api_transport="rest")

# This configuration works
# aiplatform.init(api_transport="grpc")

# This configuration also works
# from google.cloud.aiplatform.initializer import initializer
# aiplatform.init(
# project=GCP.project,
# location=GCP.location,
# api_transport="rest"
# )

def get_docs_search_endpoint():
return aiplatform.MatchingEngineIndexEndpoint(Artifacts.docs_search_endpoint_id)

docs_search_endpoint = get_docs_search_endpoint()

try:
match_resp = docs_search_endpoint.find_neighbors(
deployed_index_id=Artifacts.docs_search_deployment_id,
queries=[[1] * 768],
num_neighbors=500,
)
print(match_resp)
except Exception as e:
print(e)

```

**Stack Trace:**

```
google.api_core.exceptions.BadRequest: 400 POST https://209XXXX46.us-central1-901XXXX18323.vdb.vertexai.goog/v1beta1/projects/901XXXX8323/locations/us-central1/indexEndpoints/793471XXXX752470528:findNeighbors?%24alt=json%3Benum-encoding%3Dint: Could not find field "%24alt" in the type "google.cloud.aiplatform.v1beta1.FindNeighborsRequest".
```

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.