Skip to content

Commit

Permalink
feat: add grpc_ports to UploadModel ModelContainerSpec (googleapis#6798)
Browse files Browse the repository at this point in the history
feat: add DirectPredict to PredictionService
feat: add DirectRawPredict to PredictionService
feat: add StreamingPredict to PredictionService.
feat: add StreamingRawPredict to PredictionService.
PiperOrigin-RevId: 583502805
Source-Link: googleapis/googleapis@31c70c9
Source-Link: https://github.com/googleapis/googleapis-gen/commit/a041c3d8068cb99a1dcf83124d0cd63eba91a4c7
Copy-Tag: eyJwIjoiQWlQbGF0Zm9ybS8uT3dsQm90LnlhbWwiLCJoIjoiYTA0MWMzZDgwNjhjYjk5YTFkY2Y4MzEyNGQwY2Q2M2ViYTkxYTRjNyJ9
  • Loading branch information
gcf-owl-bot[bot] authored Nov 21, 2023
1 parent bfce7c5 commit e7fb6fc
Show file tree
Hide file tree
Showing 21 changed files with 2,229 additions and 14 deletions.
Binary file modified AiPlatform/metadata/V1/Model.php
Binary file not shown.
Binary file modified AiPlatform/metadata/V1/PredictionService.php
Binary file not shown.
74 changes: 74 additions & 0 deletions AiPlatform/samples/V1/PredictionServiceClient/direct_predict.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START aiplatform_v1_generated_PredictionService_DirectPredict_sync]
use Google\ApiCore\ApiException;
use Google\Cloud\AIPlatform\V1\Client\PredictionServiceClient;
use Google\Cloud\AIPlatform\V1\DirectPredictRequest;
use Google\Cloud\AIPlatform\V1\DirectPredictResponse;

/**
* Perform an unary online prediction request for Vertex first-party products
* and frameworks.
*
* @param string $formattedEndpoint The name of the Endpoint requested to serve the prediction.
* Format:
* `projects/{project}/locations/{location}/endpoints/{endpoint}`
* Please see {@see PredictionServiceClient::endpointName()} for help formatting this field.
*/
function direct_predict_sample(string $formattedEndpoint): void
{
// Create a client.
$predictionServiceClient = new PredictionServiceClient();

// Prepare the request message.
$request = (new DirectPredictRequest())
->setEndpoint($formattedEndpoint);

// Call the API and handle any network failures.
try {
/** @var DirectPredictResponse $response */
$response = $predictionServiceClient->directPredict($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedEndpoint = PredictionServiceClient::endpointName('[PROJECT]', '[LOCATION]', '[ENDPOINT]');

direct_predict_sample($formattedEndpoint);
}
// [END aiplatform_v1_generated_PredictionService_DirectPredict_sync]
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START aiplatform_v1_generated_PredictionService_DirectRawPredict_sync]
use Google\ApiCore\ApiException;
use Google\Cloud\AIPlatform\V1\Client\PredictionServiceClient;
use Google\Cloud\AIPlatform\V1\DirectRawPredictRequest;
use Google\Cloud\AIPlatform\V1\DirectRawPredictResponse;

/**
* Perform an online prediction request through gRPC.
*
* @param string $formattedEndpoint The name of the Endpoint requested to serve the prediction.
* Format:
* `projects/{project}/locations/{location}/endpoints/{endpoint}`
* Please see {@see PredictionServiceClient::endpointName()} for help formatting this field.
*/
function direct_raw_predict_sample(string $formattedEndpoint): void
{
// Create a client.
$predictionServiceClient = new PredictionServiceClient();

// Prepare the request message.
$request = (new DirectRawPredictRequest())
->setEndpoint($formattedEndpoint);

// Call the API and handle any network failures.
try {
/** @var DirectRawPredictResponse $response */
$response = $predictionServiceClient->directRawPredict($request);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedEndpoint = PredictionServiceClient::endpointName('[PROJECT]', '[LOCATION]', '[ENDPOINT]');

direct_raw_predict_sample($formattedEndpoint);
}
// [END aiplatform_v1_generated_PredictionService_DirectRawPredict_sync]
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START aiplatform_v1_generated_PredictionService_StreamingPredict_sync]
use Google\ApiCore\ApiException;
use Google\ApiCore\BidiStream;
use Google\Cloud\AIPlatform\V1\Client\PredictionServiceClient;
use Google\Cloud\AIPlatform\V1\StreamingPredictRequest;
use Google\Cloud\AIPlatform\V1\StreamingPredictResponse;

/**
* Perform a streaming online prediction request for Vertex first-party
* products and frameworks.
*
* @param string $formattedEndpoint The name of the Endpoint requested to serve the prediction.
* Format:
* `projects/{project}/locations/{location}/endpoints/{endpoint}`
* Please see {@see PredictionServiceClient::endpointName()} for help formatting this field.
*/
function streaming_predict_sample(string $formattedEndpoint): void
{
// Create a client.
$predictionServiceClient = new PredictionServiceClient();

// Prepare the request message.
$request = (new StreamingPredictRequest())
->setEndpoint($formattedEndpoint);

// Call the API and handle any network failures.
try {
/** @var BidiStream $stream */
$stream = $predictionServiceClient->streamingPredict();
$stream->writeAll([$request,]);

/** @var StreamingPredictResponse $element */
foreach ($stream->closeWriteAndReadAll() as $element) {
printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedEndpoint = PredictionServiceClient::endpointName('[PROJECT]', '[LOCATION]', '[ENDPOINT]');

streaming_predict_sample($formattedEndpoint);
}
// [END aiplatform_v1_generated_PredictionService_StreamingPredict_sync]
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START aiplatform_v1_generated_PredictionService_StreamingRawPredict_sync]
use Google\ApiCore\ApiException;
use Google\ApiCore\BidiStream;
use Google\Cloud\AIPlatform\V1\Client\PredictionServiceClient;
use Google\Cloud\AIPlatform\V1\StreamingRawPredictRequest;
use Google\Cloud\AIPlatform\V1\StreamingRawPredictResponse;

/**
* Perform a streaming online prediction request through gRPC.
*
* @param string $formattedEndpoint The name of the Endpoint requested to serve the prediction.
* Format:
* `projects/{project}/locations/{location}/endpoints/{endpoint}`
* Please see {@see PredictionServiceClient::endpointName()} for help formatting this field.
*/
function streaming_raw_predict_sample(string $formattedEndpoint): void
{
// Create a client.
$predictionServiceClient = new PredictionServiceClient();

// Prepare the request message.
$request = (new StreamingRawPredictRequest())
->setEndpoint($formattedEndpoint);

// Call the API and handle any network failures.
try {
/** @var BidiStream $stream */
$stream = $predictionServiceClient->streamingRawPredict();
$stream->writeAll([$request,]);

/** @var StreamingRawPredictResponse $element */
foreach ($stream->closeWriteAndReadAll() as $element) {
printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString());
}
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$formattedEndpoint = PredictionServiceClient::endpointName('[PROJECT]', '[LOCATION]', '[ENDPOINT]');

streaming_raw_predict_sample($formattedEndpoint);
}
// [END aiplatform_v1_generated_PredictionService_StreamingRawPredict_sync]
Loading

0 comments on commit e7fb6fc

Please sign in to comment.