Выполнение асинхронных запросов к конечной точке Vertex AI (облачная платформа Google)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Выполнение асинхронных запросов к конечной точке Vertex AI (облачная платформа Google)

Сообщение Anonymous »

Я развернул модель в реестре моделей Vertex AI. Я также добавил конечную точку и могу делать выводы. Ниже приведен код, который я написал (с использованием Python 3.9.12):

Код: Выделить всё

from google.cloud import aiplatform
from google.oauth2 import service_account

# settings is a Pydantic BaseSettings subclass object
credentials_json = json.loads(settings.GCP_VERTEX_SERVICE_ACC)
credentials = service_account.Credentials.from_service_account_info(
info=credentials_json
)
aiplatform.init(project=settings.GCLOUD_PROJECT_NUMBER,
location=settings.GCLOUD_LOCATION,
credentials=credentials)
endpoint = aiplatform.Endpoint(settings.GCLOUD_SBERT_ENDPOINT_ID)

...

async def do_inference(list_strs: List[str]):

result = endpoint.predict(instances=list_strs)
return result.predictions
Сейчас я не могу выполнять асинхронные запросы. Есть ли способ обойти это? Например, будет ли решением использование библиотеки aiplatform_v1beta1.PredictionServiceAsyncClient? Заранее спасибо!
---- РЕДАКТИРОВАТЬ -----
Ниже приведен фрагмент кода, который сделал это за меня, на случай, если кто-то другой борется с тем же.

Код: Выделить всё

import asyncio
from google.cloud import aiplatform_v1beta1
from google.oauth2 import service_account
from google.protobuf import json_format
from google.protobuf.struct_pb2 import Value

# settings is a Pydantic BaseSettings subclass object
credentials_json = json.loads(settings.GCP_VERTEX_SERVICE_ACC)
credentials = service_account.Credentials.from_service_account_info(
info=credentials_json
)

client_options = {"api_endpoint": f"{settings.GCLOUD_LOCATION}-aiplatform.googleapis.com"}
client = aiplatform_v1beta1.PredictionServiceAsyncClient(credentials=credentials, client_options=client_options)

...

async def do_inference(list_strs: List[str]):

request = aiplatform_v1beta1.PredictRequest(endpoint=endpoint)
request.instances.extend(list_strs)
response = await client.predict(request)
predictions = response.predictions
return predictions

asyncio.get_event_loop().run_until_complete(do_inference())
Этот код во многом обязан ответу @milad_raesi!

Подробнее здесь: https://stackoverflow.com/questions/754 ... d-platform
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»