T, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> Awaitable[AsyncIterable[prediction_service.StreamingPredictResponse]]: r"""Perform a streaming online prediction request for Vertex first-party products and frameworks. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_streaming_predict(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.StreamingPredictRequest( endpoint="endpoint_value", ) # This method expects an iterator which contains # 'aiplatform_v1.StreamingPredictRequest' objects # Here we create a generator that yields a single `request` for # demonstrative purposes. requests = [request] def request_generator(): for request in requests: yield request # Make the request stream = await client.streaming_predict(requests=request_generator()) # Handle the response async for response in stream: print(response) Args: requests (AsyncIterator[`googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.StreamingPredictRequest`]): The request object AsyncIterator. Request message for [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict]. The first message must contain [endpoint][google.cloud.aiplatform.v1.StreamingPredictRequest.endpoint] field and optionally [input][]. The subsequent messages must contain [input][]. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: AsyncIterable[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.StreamingPredictResponse]: Response message for [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict]. """ # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.streaming_predict] # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = rpc( requests, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response def server_streaming_predict(self, request: Optional[Union[prediction_service.StreamingPredictRequest, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> Awaitable[AsyncIterable[prediction_service.StreamingPredictResponse]]: r"""Perform a server-side streaming online prediction request for Vertex LLM streaming. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_server_streaming_predict(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.StreamingPredictRequest( endpoint="endpoint_value", ) # Make the request stream = await client.server_streaming_predict(request=request) # Handle the response async for response in stream: print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.StreamingPredictRequest, dict]]): The request object. Request message for [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict]. The first message must contain [endpoint][google.cloud.aiplatform.v1.StreamingPredictRequest.endpoint] field and optionally [input][]. The subsequent messages must contain [input][]. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: AsyncIterable[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.StreamingPredictResponse]: Response message for [PredictionService.StreamingPredict][google.cloud.aiplatform.v1.PredictionService.StreamingPredict]. """ # Create or coerce a protobuf request object. # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.StreamingPredictRequest): request = prediction_service.StreamingPredictRequest(request) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.server_streaming_predict] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("endpoint", request.endpoint), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response def streaming_raw_predict(self, requests: Optional[AsyncIterator[prediction_service.StreamingRawPredictRequest]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> Awaitable[AsyncIterable[prediction_service.StreamingRawPredictResponse]]: r"""Perform a streaming online prediction request through gRPC. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_streaming_raw_predict(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.StreamingRawPredictRequest( endpoint="endpoint_value", ) # This method expects an iterator which contains # 'aiplatform_v1.StreamingRawPredictRequest' objects # Here we create a generator that yields a single `request` for # demonstrative purposes. requests = [request] def request_generator(): for request in requests: yield request # Make the request stream = await client.streaming_raw_predict(requests=request_generator()) # Handle the response async for response in stream: print(response) Args: requests (AsyncIterator[`googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.StreamingRawPredictRequest`]): The request object AsyncIterator. Request message for [PredictionService.StreamingRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict]. The first message must contain [endpoint][google.cloud.aiplatform.v1.StreamingRawPredictRequest.endpoint] and [method_name][google.cloud.aiplatform.v1.StreamingRawPredictRequest.method_name] fields and optionally [input][google.cloud.aiplatform.v1.StreamingRawPredictRequest.input]. The subsequent messages must contain [input][google.cloud.aiplatform.v1.StreamingRawPredictRequest.input]. [method_name][google.cloud.aiplatform.v1.StreamingRawPredictRequest.method_name] in the subsequent messages have no effect. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: AsyncIterable[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.StreamingRawPredictResponse]: Response message for [PredictionService.StreamingRawPredict][google.cloud.aiplatform.v1.PredictionService.StreamingRawPredict]. """ # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.streaming_raw_predict] # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = rpc( requests, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response async def predict_long_running(self, request: Optional[Union[prediction_service.PredictLongRunningRequest, dict]] = None, *, endpoint: Optional[str] = None, instances: Optional[MutableSequence[struct_pb2.Value]] = None, parameters: Optional[struct_pb2.Value] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> operations_pb2.Operation: r""" .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_predict_long_running(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) instances = aiplatform_v1.Value() instances.null_value = "NULL_VALUE" request = aiplatform_v1.PredictLongRunningRequest( endpoint="endpoint_value", instances=instances, ) # Make the request response = await client.predict_long_running(request=request) # Handle the response print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.PredictLongRunningRequest, dict]]): The request object. Request message for [PredictionService.PredictLongRunning][google.cloud.aiplatform.v1.PredictionService.PredictLongRunning]. endpoint (:class:`str`): Required. The name of the Endpoint requested to serve the prediction. Format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` or ``projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`` This corresponds to the ``endpoint`` field on the ``request`` instance; if ``request`` is provided, this should not be set. instances (:class:`MutableSequence[google.protobuf.struct_pb2.Value]`): Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model] [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. This corresponds to the ``instances`` field on the ``request`` instance; if ``request`` is provided, this should not be set. parameters (:class:`google.protobuf.struct_pb2.Value`): Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model] [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. This corresponds to the ``parameters`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: google.longrunning.operations_pb2.Operation: This resource represents a long-running operation that is the result of a network API call. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [endpoint, instances, parameters] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.PredictLongRunningRequest): request = prediction_service.PredictLongRunningRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if endpoint is not None: request.endpoint = endpoint if parameters is not None: request.parameters = parameters if instances: request.instances.extend(instances) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.predict_long_running] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("endpoint", request.endpoint), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = await rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response async def fetch_predict_operation(self, request: Optional[Union[prediction_service.FetchPredictOperationRequest, dict]] = None, *, endpoint: Optional[str] = None, operation_name: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> operations_pb2.Operation: r"""Fetch an asynchronous online prediction operation. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_fetch_predict_operation(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.FetchPredictOperationRequest( endpoint="endpoint_value", operation_name="operation_name_value", ) # Make the request response = await client.fetch_predict_operation(request=request) # Handle the response print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.FetchPredictOperationRequest, dict]]): The request object. Request message for [PredictionService.FetchPredictOperation][google.cloud.aiplatform.v1.PredictionService.FetchPredictOperation]. endpoint (:class:`str`): Required. The name of the Endpoint requested to serve the prediction. Format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` or ``projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`` This corresponds to the ``endpoint`` field on the ``request`` instance; if ``request`` is provided, this should not be set. operation_name (:class:`str`): Required. The server-assigned name for the operation. This corresponds to the ``operation_name`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: google.longrunning.operations_pb2.Operation: This resource represents a long-running operation that is the result of a network API call. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [endpoint, operation_name] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.FetchPredictOperationRequest): request = prediction_service.FetchPredictOperationRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if endpoint is not None: request.endpoint = endpoint if operation_name is not None: request.operation_name = operation_name # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.fetch_predict_operation] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("endpoint", request.endpoint), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = await rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response def invoke(self, request: Optional[Union[prediction_service.InvokeRequest, dict]] = None, *, endpoint: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> Awaitable[AsyncIterable[httpbody_pb2.HttpBody]]: r"""Forwards arbitrary HTTP requests for both streaming and non-streaming cases. To use this method, [invoke_route_prefix][Model.container_spec.invoke_route_prefix] must be set to allow the paths that will be specified in the request. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_invoke(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.InvokeRequest( endpoint="endpoint_value", ) # Make the request stream = await client.invoke(request=request) # Handle the response async for response in stream: print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.InvokeRequest, dict]]): The request object. Request message for [PredictionService.Invoke][google.cloud.aiplatform.v1.PredictionService.Invoke]. endpoint (:class:`str`): Required. The name of the Endpoint requested to serve the prediction. Format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` This corresponds to the ``endpoint`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: AsyncIterable[google.api.httpbody_pb2.HttpBody]: Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [endpoint] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.InvokeRequest): request = prediction_service.InvokeRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if endpoint is not None: request.endpoint = endpoint # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.invoke] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("endpoint", request.endpoint), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response async def explain(self, request: Optional[Union[prediction_service.ExplainRequest, dict]] = None, *, endpoint: Optional[str] = None, instances: Optional[MutableSequence[struct_pb2.Value]] = None, parameters: Optional[struct_pb2.Value] = None, deployed_model_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> prediction_service.ExplainResponse: r"""Perform an online explanation. If [deployed_model_id][google.cloud.aiplatform.v1.ExplainRequest.deployed_model_id] is specified, the corresponding DeployModel must have [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] populated. If [deployed_model_id][google.cloud.aiplatform.v1.ExplainRequest.deployed_model_id] is not specified, all DeployedModels must have [explanation_spec][google.cloud.aiplatform.v1.DeployedModel.explanation_spec] populated. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_explain(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) instances = aiplatform_v1.Value() instances.null_value = "NULL_VALUE" request = aiplatform_v1.ExplainRequest( endpoint="endpoint_value", instances=instances, ) # Make the request response = await client.explain(request=request) # Handle the response print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.ExplainRequest, dict]]): The request object. Request message for [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. endpoint (:class:`str`): Required. The name of the Endpoint requested to serve the explanation. Format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` This corresponds to the ``endpoint`` field on the ``request`` instance; if ``request`` is provided, this should not be set. instances (:class:`MutableSequence[google.protobuf.struct_pb2.Value]`): Required. The instances that are the input to the explanation call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the explanation call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' [Model's][google.cloud.aiplatform.v1.DeployedModel.model] [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] [instance_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.instance_schema_uri]. This corresponds to the ``instances`` field on the ``request`` instance; if ``request`` is provided, this should not be set. parameters (:class:`google.protobuf.struct_pb2.Value`): The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' [Model's ][google.cloud.aiplatform.v1.DeployedModel.model] [PredictSchemata's][google.cloud.aiplatform.v1.Model.predict_schemata] [parameters_schema_uri][google.cloud.aiplatform.v1.PredictSchemata.parameters_schema_uri]. This corresponds to the ``parameters`` field on the ``request`` instance; if ``request`` is provided, this should not be set. deployed_model_id (:class:`str`): If specified, this ExplainRequest will be served by the chosen DeployedModel, overriding [Endpoint.traffic_split][google.cloud.aiplatform.v1.Endpoint.traffic_split]. This corresponds to the ``deployed_model_id`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.ExplainResponse: Response message for [PredictionService.Explain][google.cloud.aiplatform.v1.PredictionService.Explain]. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [endpoint, instances, parameters, deployed_model_id] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.ExplainRequest): request = prediction_service.ExplainRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if endpoint is not None: request.endpoint = endpoint if parameters is not None: request.parameters = parameters if deployed_model_id is not None: request.deployed_model_id = deployed_model_id if instances: request.instances.extend(instances) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.explain] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("endpoint", request.endpoint), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = await rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response async def generate_content(self, request: Optional[Union[prediction_service.GenerateContentRequest, dict]] = None, *, model: Optional[str] = None, contents: Optional[MutableSequence[content.Content]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> prediction_service.GenerateContentResponse: r"""Generate content with multimodal inputs. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_generate_content(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) contents = aiplatform_v1.Content() contents.parts.text = "text_value" request = aiplatform_v1.GenerateContentRequest( model="model_value", contents=contents, ) # Make the request response = await client.generate_content(request=request) # Handle the response print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.GenerateContentRequest, dict]]): The request object. Request message for [PredictionService.GenerateContent]. model (:class:`str`): Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: ``projects/{project}/locations/{location}/publishers/*/models/*`` Tuned model endpoint format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` This corresponds to the ``model`` field on the ``request`` instance; if ``request`` is provided, this should not be set. contents (:class:`MutableSequence[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.Content]`): Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. This corresponds to the ``contents`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.GenerateContentResponse: Response message for [PredictionService.GenerateContent]. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [model, contents] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.GenerateContentRequest): request = prediction_service.GenerateContentRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if model is not None: request.model = model if contents: request.contents.extend(contents) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.generate_content] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("model", request.model), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = await rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response def stream_generate_content(self, request: Optional[Union[prediction_service.GenerateContentRequest, dict]] = None, *, model: Optional[str] = None, contents: Optional[MutableSequence[content.Content]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> Awaitable[AsyncIterable[prediction_service.GenerateContentResponse]]: r"""Generate content with multimodal inputs with streaming support. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_stream_generate_content(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) contents = aiplatform_v1.Content() contents.parts.text = "text_value" request = aiplatform_v1.GenerateContentRequest( model="model_value", contents=contents, ) # Make the request stream = await client.stream_generate_content(request=request) # Handle the response async for response in stream: print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.GenerateContentRequest, dict]]): The request object. Request message for [PredictionService.GenerateContent]. model (:class:`str`): Required. The fully qualified name of the publisher model or tuned model endpoint to use. Publisher model format: ``projects/{project}/locations/{location}/publishers/*/models/*`` Tuned model endpoint format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` This corresponds to the ``model`` field on the ``request`` instance; if ``request`` is provided, this should not be set. contents (:class:`MutableSequence[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.Content]`): Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. This corresponds to the ``contents`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: AsyncIterable[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.GenerateContentResponse]: Response message for [PredictionService.GenerateContent]. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [model, contents] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.GenerateContentRequest): request = prediction_service.GenerateContentRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if model is not None: request.model = model if contents: request.contents.extend(contents) # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.stream_generate_content] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("model", request.model), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response def chat_completions(self, request: Optional[Union[prediction_service.ChatCompletionsRequest, dict]] = None, *, endpoint: Optional[str] = None, http_body: Optional[httpbody_pb2.HttpBody] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> Awaitable[AsyncIterable[httpbody_pb2.HttpBody]]: r"""Exposes an OpenAI-compatible endpoint for chat completions. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_chat_completions(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.ChatCompletionsRequest( endpoint="endpoint_value", ) # Make the request stream = await client.chat_completions(request=request) # Handle the response async for response in stream: print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.ChatCompletionsRequest, dict]]): The request object. Request message for [PredictionService.ChatCompletions] endpoint (:class:`str`): Required. The name of the endpoint requested to serve the prediction. Format: ``projects/{project}/locations/{location}/endpoints/{endpoint}`` This corresponds to the ``endpoint`` field on the ``request`` instance; if ``request`` is provided, this should not be set. http_body (:class:`google.api.httpbody_pb2.HttpBody`): Optional. The prediction input. Supports HTTP headers and arbitrary data payload. This corresponds to the ``http_body`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: AsyncIterable[google.api.httpbody_pb2.HttpBody]: Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [endpoint, http_body] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.ChatCompletionsRequest): request = prediction_service.ChatCompletionsRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if endpoint is not None: request.endpoint = endpoint if http_body is not None: request.http_body = http_body # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.chat_completions] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("endpoint", request.endpoint), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response async def embed_content(self, request: Optional[Union[prediction_service.EmbedContentRequest, dict]] = None, *, model: Optional[str] = None, content: Optional[gca_content.Content] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, timeout: Union[float, object] = gapic_v1.method.DEFAULT, metadata: Sequence[Tuple[str, Union[str, bytes]]] = (), ) -> prediction_service.EmbedContentResponse: r"""Embed content with multimodal inputs. .. code-block:: python # This snippet 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 as shown in: # https://googleapis.dev/python/google-api-core/latest/client_options.html from googlecloudsdk.generated_clients.gapic_clients import aiplatform_v1 async def sample_embed_content(): # Create a client client = aiplatform_v1.PredictionServiceAsyncClient() # Initialize request argument(s) request = aiplatform_v1.EmbedContentRequest( ) # Make the request response = await client.embed_content(request=request) # Handle the response print(response) Args: request (Optional[Union[googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.EmbedContentRequest, dict]]): The request object. Request message for [PredictionService.EmbedContent][google.cloud.aiplatform.v1.PredictionService.EmbedContent]. model (:class:`str`): Required. The name of the publisher model requested to serve the prediction. Format: ``projects/{project}/locations/{location}/publishers/*/models/*`` This corresponds to the ``model`` field on the ``request`` instance; if ``request`` is provided, this should not be set. content (:class:`googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.Content`): Required. Input content to be embedded. Required. This corresponds to the ``content`` field on the ``request`` instance; if ``request`` is provided, this should not be set. retry (google.api_core.retry_async.AsyncRetry): Designation of what errors, if any, should be retried. timeout (float): The timeout for this request. metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be sent along with the request as metadata. Normally, each value must be of type `str`, but for metadata keys ending with the suffix `-bin`, the corresponding values must be of type `bytes`. Returns: googlecloudsdk.generated_clients.gapic_clients.aiplatform_v1.types.EmbedContentResponse: Response message for [PredictionService.EmbedContent][google.cloud.aiplatform.v1.PredictionService.EmbedContent]. """ # Create or coerce a protobuf request object. # - Quick check: If we got a request object, we should *not* have # gotten any keyword arguments that map to the request. flattened_params = [model, content] has_flattened_params = len([param for param in flattened_params if param is not None]) > 0 if request is not None and has_flattened_params: raise ValueError("If the `request` argument is set, then none of " "the individual field arguments should be set.") # - Use the request object if provided (there's no risk of modifying the input as # there are no flattened fields), or create one. if not isinstance(request, prediction_service.EmbedContentRequest): request = prediction_service.EmbedContentRequest(request) # If we have keyword arguments corresponding to fields on the # request, apply these. if model is not None: request.model = model if content is not None: request.content = content # Wrap the RPC method; this adds retry and timeout information, # and friendly error handling. rpc = self._client._transport._wrapped_methods[self._client._transport.embed_content] # Certain fields should be provided within the metadata header; # add these here. metadata = tuple(metadata) + ( gapic_v1.routing_header.to_grpc_metadata(( ("model", request.model), )), ) # Validate the universe domain. self._client._validate_universe_domain() # Send the request. response = await rpc( request, retry=retry, timeout=timeout, metadata=metadata, ) # Done; return the response. return response async def __aenter__(self) -> "PredictionServiceAsyncClient": return self async def __aexit__(self, exc_type, exc, tb): await self.transport.close() DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(gapic_version=package_version.__version__) if hasattr(DEFAULT_CLIENT_INFO, "protobuf_runtime_version"): # pragma: NO COVER DEFAULT_CLIENT_INFO.protobuf_runtime_version = cloudsdk.google.protobuf.__version__ __all__ = ( "PredictionServiceAsyncClient", )