Reference documentation and code samples for the Google Cloud Discovery Engine V1beta Client class RecommendationServiceClient.
Service Description: Service for making recommendations.
This class is currently experimental and may be subject to changes.
Namespace
Google \ Cloud \ DiscoveryEngine \ V1beta \ ClientMethods
__construct
Constructor.
Parameters | |
---|---|
Name | Description |
options |
array
Optional. Options for configuring the service API wrapper. |
↳ apiEndpoint |
string
The address of the API remote host. May optionally include the port, formatted as "
|
↳ credentials |
string|array|FetchAuthTokenInterface|CredentialsWrapper
The credentials to be used by the client to authorize API calls. This option accepts either a path to a credentials file, or a decoded credentials file as a PHP array. Advanced usage: In addition, this option can also accept a pre-constructed Google\Auth\FetchAuthTokenInterface object or Google\ApiCore\CredentialsWrapper object. Note that when one of these objects are provided, any settings in $credentialsConfig will be ignored. |
↳ credentialsConfig |
array
Options used to configure credentials, including auth token caching, for the client. For a full list of supporting configuration options, see Google\ApiCore\CredentialsWrapper::build() . |
↳ disableRetries |
bool
Determines whether or not retries defined by the client configuration should be disabled. Defaults to |
↳ clientConfig |
string|array
Client method configuration, including retry settings. This option can be either a path to a JSON file, or a PHP array containing the decoded JSON data. By default this settings points to the default client config file, which is provided in the resources folder. |
↳ transport |
string|TransportInterface
The transport used for executing network requests. May be either the string |
↳ transportConfig |
array
Configuration options that will be used to construct the transport. Options for each supported transport type should be passed in a key for that transport. For example: $transportConfig = [ 'grpc' => [...], 'rest' => [...], ]; See the Google\ApiCore\Transport\GrpcTransport::build() and Google\ApiCore\Transport\RestTransport::build() methods for the supported options. |
↳ clientCertSource |
callable
A callable which returns the client cert as a string. This can be used to provide a certificate and private key to the transport layer for mTLS. |
recommend
Makes a recommendation, which requires a contextual user event.
The async variant is Google\Cloud\DiscoveryEngine\V1beta\Client\BaseClient\self::recommendAsync() .
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1beta\RecommendRequest
A request to house fields associated with the call. |
callOptions |
array
Optional. |
↳ retrySettings |
RetrySettings|array
Retry settings to use for this call. Can be a Google\ApiCore\RetrySettings object, or an associative array of retry settings parameters. See the documentation on Google\ApiCore\RetrySettings for example usage. |
Returns | |
---|---|
Type | Description |
Google\Cloud\DiscoveryEngine\V1beta\RecommendResponse |
use Google\ApiCore\ApiException;
use Google\Cloud\DiscoveryEngine\V1beta\Client\RecommendationServiceClient;
use Google\Cloud\DiscoveryEngine\V1beta\RecommendRequest;
use Google\Cloud\DiscoveryEngine\V1beta\RecommendResponse;
use Google\Cloud\DiscoveryEngine\V1beta\UserEvent;
/**
* @param string $formattedServingConfig Full resource name of the format:
* `projects/*/locations/global/collections/*/dataStores/*/servingConfigs/*`
*
* Before you can request recommendations from your model, you must create at
* least one serving config for it. Please see
* {@see RecommendationServiceClient::servingConfigName()} for help formatting this field.
* @param string $userEventEventType User event type. Allowed values are:
*
* Generic values:
*
* * `search`: Search for Documents.
* * `view-item`: Detailed page view of a Document.
* * `view-item-list`: View of a panel or ordered list of Documents.
* * `view-home-page`: View of the home page.
* * `view-category-page`: View of a category page, e.g. Home > Men > Jeans
*
* Retail-related values:
*
* * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping
* * `purchase`: Purchase an item(s)
*
* Media-related values:
*
* * `media-play`: Start/resume watching a video, playing a song, etc.
* * `media-complete`: Finished or stopped midway through a video, song, etc.
* @param string $userEventUserPseudoId A unique identifier for tracking visitors.
*
* For example, this could be implemented with an HTTP cookie, which should be
* able to uniquely identify a visitor on a single device. This unique
* identifier should not change if the visitor log in/out of the website.
*
* Do not set the field to the same fixed ID for different users. This mixes
* the event history of those users together, which results in degraded model
* quality.
*
* The field must be a UTF-8 encoded string with a length limit of 128
* characters. Otherwise, an INVALID_ARGUMENT error is returned.
*
* The field should not contain PII or user-data. We recommend to use Google
* Analytics [Client
* ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
* for this field.
*/
function recommend_sample(
string $formattedServingConfig,
string $userEventEventType,
string $userEventUserPseudoId
): void {
// Create a client.
$recommendationServiceClient = new RecommendationServiceClient();
// Prepare the request message.
$userEvent = (new UserEvent())
->setEventType($userEventEventType)
->setUserPseudoId($userEventUserPseudoId);
$request = (new RecommendRequest())
->setServingConfig($formattedServingConfig)
->setUserEvent($userEvent);
// Call the API and handle any network failures.
try {
/** @var RecommendResponse $response */
$response = $recommendationServiceClient->recommend($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
{
$formattedServingConfig = RecommendationServiceClient::servingConfigName(
'[PROJECT]',
'[LOCATION]',
'[DATA_STORE]',
'[SERVING_CONFIG]'
);
$userEventEventType = '[EVENT_TYPE]';
$userEventUserPseudoId = '[USER_PSEUDO_ID]';
recommend_sample($formattedServingConfig, $userEventEventType, $userEventUserPseudoId);
}
recommendAsync
Parameters | |
---|---|
Name | Description |
request |
Google\Cloud\DiscoveryEngine\V1beta\RecommendRequest
|
optionalArgs = [] |
array
|
Returns | |
---|---|
Type | Description |
GuzzleHttp\Promise\PromiseInterface |
static::documentName
Formats a string containing the fully-qualified path to represent a document resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
branch |
string
|
document |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted document resource. |
static::projectLocationCollectionDataStoreBranchDocumentName
Formats a string containing the fully-qualified path to represent a project_location_collection_data_store_branch_document resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
collection |
string
|
dataStore |
string
|
branch |
string
|
document |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted project_location_collection_data_store_branch_document resource. |
static::projectLocationCollectionDataStoreServingConfigName
Formats a string containing the fully-qualified path to represent a project_location_collection_data_store_serving_config resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
collection |
string
|
dataStore |
string
|
servingConfig |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted project_location_collection_data_store_serving_config resource. |
static::projectLocationDataStoreBranchDocumentName
Formats a string containing the fully-qualified path to represent a project_location_data_store_branch_document resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
branch |
string
|
document |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted project_location_data_store_branch_document resource. |
static::projectLocationDataStoreServingConfigName
Formats a string containing the fully-qualified path to represent a project_location_data_store_serving_config resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
servingConfig |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted project_location_data_store_serving_config resource. |
static::servingConfigName
Formats a string containing the fully-qualified path to represent a serving_config resource.
Parameters | |
---|---|
Name | Description |
project |
string
|
location |
string
|
dataStore |
string
|
servingConfig |
string
|
Returns | |
---|---|
Type | Description |
string | The formatted serving_config resource. |
static::parseName
Parses a formatted name string and returns an associative array of the components in the name.
The following name formats are supported: Template: Pattern
- document: projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}
- projectLocationCollectionDataStoreBranchDocument: projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document}
- projectLocationCollectionDataStoreServingConfig: projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}
- projectLocationDataStoreBranchDocument: projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}/documents/{document}
- projectLocationDataStoreServingConfig: projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}
- servingConfig: projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}
The optional $template argument can be supplied to specify a particular pattern, and must match one of the templates listed above. If no $template argument is provided, or if the $template argument does not match one of the templates listed, then parseName will check each of the supported templates, and return the first match.
Parameters | |
---|---|
Name | Description |
formattedName |
string
The formatted name string |
template |
string
Optional name of template to match |
Returns | |
---|---|
Type | Description |
array | An associative array from name component IDs to component values. |