<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/aiplatform/v1/evaluation_service.proto

namespace Google\Cloud\AIPlatform\V1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Request message for EvaluationService.EvaluateInstances.
 *
 * Generated from protobuf message <code>google.cloud.aiplatform.v1.EvaluateInstancesRequest</code>
 */
class EvaluateInstancesRequest extends \Google\Protobuf\Internal\Message
{
    /**
     * Required. The resource name of the Location to evaluate the instances.
     * Format: `projects/{project}/locations/{location}`
     *
     * Generated from protobuf field <code>string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {</code>
     */
    protected $location = '';
    protected $metric_inputs;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type \Google\Cloud\AIPlatform\V1\ExactMatchInput $exact_match_input
     *           Auto metric instances.
     *           Instances and metric spec for exact match metric.
     *     @type \Google\Cloud\AIPlatform\V1\BleuInput $bleu_input
     *           Instances and metric spec for bleu metric.
     *     @type \Google\Cloud\AIPlatform\V1\RougeInput $rouge_input
     *           Instances and metric spec for rouge metric.
     *     @type \Google\Cloud\AIPlatform\V1\FluencyInput $fluency_input
     *           LLM-based metric instance.
     *           General text generation metrics, applicable to other categories.
     *           Input for fluency metric.
     *     @type \Google\Cloud\AIPlatform\V1\CoherenceInput $coherence_input
     *           Input for coherence metric.
     *     @type \Google\Cloud\AIPlatform\V1\SafetyInput $safety_input
     *           Input for safety metric.
     *     @type \Google\Cloud\AIPlatform\V1\GroundednessInput $groundedness_input
     *           Input for groundedness metric.
     *     @type \Google\Cloud\AIPlatform\V1\FulfillmentInput $fulfillment_input
     *           Input for fulfillment metric.
     *     @type \Google\Cloud\AIPlatform\V1\SummarizationQualityInput $summarization_quality_input
     *           Input for summarization quality metric.
     *     @type \Google\Cloud\AIPlatform\V1\PairwiseSummarizationQualityInput $pairwise_summarization_quality_input
     *           Input for pairwise summarization quality metric.
     *     @type \Google\Cloud\AIPlatform\V1\SummarizationHelpfulnessInput $summarization_helpfulness_input
     *           Input for summarization helpfulness metric.
     *     @type \Google\Cloud\AIPlatform\V1\SummarizationVerbosityInput $summarization_verbosity_input
     *           Input for summarization verbosity metric.
     *     @type \Google\Cloud\AIPlatform\V1\QuestionAnsweringQualityInput $question_answering_quality_input
     *           Input for question answering quality metric.
     *     @type \Google\Cloud\AIPlatform\V1\PairwiseQuestionAnsweringQualityInput $pairwise_question_answering_quality_input
     *           Input for pairwise question answering quality metric.
     *     @type \Google\Cloud\AIPlatform\V1\QuestionAnsweringRelevanceInput $question_answering_relevance_input
     *           Input for question answering relevance metric.
     *     @type \Google\Cloud\AIPlatform\V1\QuestionAnsweringHelpfulnessInput $question_answering_helpfulness_input
     *           Input for question answering helpfulness
     *           metric.
     *     @type \Google\Cloud\AIPlatform\V1\QuestionAnsweringCorrectnessInput $question_answering_correctness_input
     *           Input for question answering correctness
     *           metric.
     *     @type \Google\Cloud\AIPlatform\V1\PointwiseMetricInput $pointwise_metric_input
     *           Input for pointwise metric.
     *     @type \Google\Cloud\AIPlatform\V1\PairwiseMetricInput $pairwise_metric_input
     *           Input for pairwise metric.
     *     @type \Google\Cloud\AIPlatform\V1\ToolCallValidInput $tool_call_valid_input
     *           Tool call metric instances.
     *           Input for tool call valid metric.
     *     @type \Google\Cloud\AIPlatform\V1\ToolNameMatchInput $tool_name_match_input
     *           Input for tool name match metric.
     *     @type \Google\Cloud\AIPlatform\V1\ToolParameterKeyMatchInput $tool_parameter_key_match_input
     *           Input for tool parameter key match metric.
     *     @type \Google\Cloud\AIPlatform\V1\ToolParameterKVMatchInput $tool_parameter_kv_match_input
     *           Input for tool parameter key value match metric.
     *     @type \Google\Cloud\AIPlatform\V1\CometInput $comet_input
     *           Translation metrics.
     *           Input for Comet metric.
     *     @type \Google\Cloud\AIPlatform\V1\MetricxInput $metricx_input
     *           Input for Metricx metric.
     *     @type string $location
     *           Required. The resource name of the Location to evaluate the instances.
     *           Format: `projects/{project}/locations/{location}`
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Aiplatform\V1\EvaluationService::initOnce();
        parent::__construct($data);
    }

    /**
     * Auto metric instances.
     * Instances and metric spec for exact match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ExactMatchInput exact_match_input = 2;</code>
     * @return \Google\Cloud\AIPlatform\V1\ExactMatchInput|null
     */
    public function getExactMatchInput()
    {
        return $this->readOneof(2);
    }

    public function hasExactMatchInput()
    {
        return $this->hasOneof(2);
    }

    /**
     * Auto metric instances.
     * Instances and metric spec for exact match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ExactMatchInput exact_match_input = 2;</code>
     * @param \Google\Cloud\AIPlatform\V1\ExactMatchInput $var
     * @return $this
     */
    public function setExactMatchInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\ExactMatchInput::class);
        $this->writeOneof(2, $var);

        return $this;
    }

    /**
     * Instances and metric spec for bleu metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.BleuInput bleu_input = 3;</code>
     * @return \Google\Cloud\AIPlatform\V1\BleuInput|null
     */
    public function getBleuInput()
    {
        return $this->readOneof(3);
    }

    public function hasBleuInput()
    {
        return $this->hasOneof(3);
    }

    /**
     * Instances and metric spec for bleu metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.BleuInput bleu_input = 3;</code>
     * @param \Google\Cloud\AIPlatform\V1\BleuInput $var
     * @return $this
     */
    public function setBleuInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\BleuInput::class);
        $this->writeOneof(3, $var);

        return $this;
    }

    /**
     * Instances and metric spec for rouge metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.RougeInput rouge_input = 4;</code>
     * @return \Google\Cloud\AIPlatform\V1\RougeInput|null
     */
    public function getRougeInput()
    {
        return $this->readOneof(4);
    }

    public function hasRougeInput()
    {
        return $this->hasOneof(4);
    }

    /**
     * Instances and metric spec for rouge metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.RougeInput rouge_input = 4;</code>
     * @param \Google\Cloud\AIPlatform\V1\RougeInput $var
     * @return $this
     */
    public function setRougeInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\RougeInput::class);
        $this->writeOneof(4, $var);

        return $this;
    }

    /**
     * LLM-based metric instance.
     * General text generation metrics, applicable to other categories.
     * Input for fluency metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.FluencyInput fluency_input = 5;</code>
     * @return \Google\Cloud\AIPlatform\V1\FluencyInput|null
     */
    public function getFluencyInput()
    {
        return $this->readOneof(5);
    }

    public function hasFluencyInput()
    {
        return $this->hasOneof(5);
    }

    /**
     * LLM-based metric instance.
     * General text generation metrics, applicable to other categories.
     * Input for fluency metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.FluencyInput fluency_input = 5;</code>
     * @param \Google\Cloud\AIPlatform\V1\FluencyInput $var
     * @return $this
     */
    public function setFluencyInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\FluencyInput::class);
        $this->writeOneof(5, $var);

        return $this;
    }

    /**
     * Input for coherence metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.CoherenceInput coherence_input = 6;</code>
     * @return \Google\Cloud\AIPlatform\V1\CoherenceInput|null
     */
    public function getCoherenceInput()
    {
        return $this->readOneof(6);
    }

    public function hasCoherenceInput()
    {
        return $this->hasOneof(6);
    }

    /**
     * Input for coherence metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.CoherenceInput coherence_input = 6;</code>
     * @param \Google\Cloud\AIPlatform\V1\CoherenceInput $var
     * @return $this
     */
    public function setCoherenceInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\CoherenceInput::class);
        $this->writeOneof(6, $var);

        return $this;
    }

    /**
     * Input for safety metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SafetyInput safety_input = 8;</code>
     * @return \Google\Cloud\AIPlatform\V1\SafetyInput|null
     */
    public function getSafetyInput()
    {
        return $this->readOneof(8);
    }

    public function hasSafetyInput()
    {
        return $this->hasOneof(8);
    }

    /**
     * Input for safety metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SafetyInput safety_input = 8;</code>
     * @param \Google\Cloud\AIPlatform\V1\SafetyInput $var
     * @return $this
     */
    public function setSafetyInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\SafetyInput::class);
        $this->writeOneof(8, $var);

        return $this;
    }

    /**
     * Input for groundedness metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.GroundednessInput groundedness_input = 9;</code>
     * @return \Google\Cloud\AIPlatform\V1\GroundednessInput|null
     */
    public function getGroundednessInput()
    {
        return $this->readOneof(9);
    }

    public function hasGroundednessInput()
    {
        return $this->hasOneof(9);
    }

    /**
     * Input for groundedness metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.GroundednessInput groundedness_input = 9;</code>
     * @param \Google\Cloud\AIPlatform\V1\GroundednessInput $var
     * @return $this
     */
    public function setGroundednessInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\GroundednessInput::class);
        $this->writeOneof(9, $var);

        return $this;
    }

    /**
     * Input for fulfillment metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.FulfillmentInput fulfillment_input = 12;</code>
     * @return \Google\Cloud\AIPlatform\V1\FulfillmentInput|null
     */
    public function getFulfillmentInput()
    {
        return $this->readOneof(12);
    }

    public function hasFulfillmentInput()
    {
        return $this->hasOneof(12);
    }

    /**
     * Input for fulfillment metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.FulfillmentInput fulfillment_input = 12;</code>
     * @param \Google\Cloud\AIPlatform\V1\FulfillmentInput $var
     * @return $this
     */
    public function setFulfillmentInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\FulfillmentInput::class);
        $this->writeOneof(12, $var);

        return $this;
    }

    /**
     * Input for summarization quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SummarizationQualityInput summarization_quality_input = 7;</code>
     * @return \Google\Cloud\AIPlatform\V1\SummarizationQualityInput|null
     */
    public function getSummarizationQualityInput()
    {
        return $this->readOneof(7);
    }

    public function hasSummarizationQualityInput()
    {
        return $this->hasOneof(7);
    }

    /**
     * Input for summarization quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SummarizationQualityInput summarization_quality_input = 7;</code>
     * @param \Google\Cloud\AIPlatform\V1\SummarizationQualityInput $var
     * @return $this
     */
    public function setSummarizationQualityInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\SummarizationQualityInput::class);
        $this->writeOneof(7, $var);

        return $this;
    }

    /**
     * Input for pairwise summarization quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PairwiseSummarizationQualityInput pairwise_summarization_quality_input = 23;</code>
     * @return \Google\Cloud\AIPlatform\V1\PairwiseSummarizationQualityInput|null
     */
    public function getPairwiseSummarizationQualityInput()
    {
        return $this->readOneof(23);
    }

    public function hasPairwiseSummarizationQualityInput()
    {
        return $this->hasOneof(23);
    }

    /**
     * Input for pairwise summarization quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PairwiseSummarizationQualityInput pairwise_summarization_quality_input = 23;</code>
     * @param \Google\Cloud\AIPlatform\V1\PairwiseSummarizationQualityInput $var
     * @return $this
     */
    public function setPairwiseSummarizationQualityInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\PairwiseSummarizationQualityInput::class);
        $this->writeOneof(23, $var);

        return $this;
    }

    /**
     * Input for summarization helpfulness metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SummarizationHelpfulnessInput summarization_helpfulness_input = 14;</code>
     * @return \Google\Cloud\AIPlatform\V1\SummarizationHelpfulnessInput|null
     */
    public function getSummarizationHelpfulnessInput()
    {
        return $this->readOneof(14);
    }

    public function hasSummarizationHelpfulnessInput()
    {
        return $this->hasOneof(14);
    }

    /**
     * Input for summarization helpfulness metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SummarizationHelpfulnessInput summarization_helpfulness_input = 14;</code>
     * @param \Google\Cloud\AIPlatform\V1\SummarizationHelpfulnessInput $var
     * @return $this
     */
    public function setSummarizationHelpfulnessInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\SummarizationHelpfulnessInput::class);
        $this->writeOneof(14, $var);

        return $this;
    }

    /**
     * Input for summarization verbosity metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SummarizationVerbosityInput summarization_verbosity_input = 15;</code>
     * @return \Google\Cloud\AIPlatform\V1\SummarizationVerbosityInput|null
     */
    public function getSummarizationVerbosityInput()
    {
        return $this->readOneof(15);
    }

    public function hasSummarizationVerbosityInput()
    {
        return $this->hasOneof(15);
    }

    /**
     * Input for summarization verbosity metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.SummarizationVerbosityInput summarization_verbosity_input = 15;</code>
     * @param \Google\Cloud\AIPlatform\V1\SummarizationVerbosityInput $var
     * @return $this
     */
    public function setSummarizationVerbosityInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\SummarizationVerbosityInput::class);
        $this->writeOneof(15, $var);

        return $this;
    }

    /**
     * Input for question answering quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringQualityInput question_answering_quality_input = 10;</code>
     * @return \Google\Cloud\AIPlatform\V1\QuestionAnsweringQualityInput|null
     */
    public function getQuestionAnsweringQualityInput()
    {
        return $this->readOneof(10);
    }

    public function hasQuestionAnsweringQualityInput()
    {
        return $this->hasOneof(10);
    }

    /**
     * Input for question answering quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringQualityInput question_answering_quality_input = 10;</code>
     * @param \Google\Cloud\AIPlatform\V1\QuestionAnsweringQualityInput $var
     * @return $this
     */
    public function setQuestionAnsweringQualityInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\QuestionAnsweringQualityInput::class);
        $this->writeOneof(10, $var);

        return $this;
    }

    /**
     * Input for pairwise question answering quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInput pairwise_question_answering_quality_input = 24;</code>
     * @return \Google\Cloud\AIPlatform\V1\PairwiseQuestionAnsweringQualityInput|null
     */
    public function getPairwiseQuestionAnsweringQualityInput()
    {
        return $this->readOneof(24);
    }

    public function hasPairwiseQuestionAnsweringQualityInput()
    {
        return $this->hasOneof(24);
    }

    /**
     * Input for pairwise question answering quality metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PairwiseQuestionAnsweringQualityInput pairwise_question_answering_quality_input = 24;</code>
     * @param \Google\Cloud\AIPlatform\V1\PairwiseQuestionAnsweringQualityInput $var
     * @return $this
     */
    public function setPairwiseQuestionAnsweringQualityInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\PairwiseQuestionAnsweringQualityInput::class);
        $this->writeOneof(24, $var);

        return $this;
    }

    /**
     * Input for question answering relevance metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInput question_answering_relevance_input = 16;</code>
     * @return \Google\Cloud\AIPlatform\V1\QuestionAnsweringRelevanceInput|null
     */
    public function getQuestionAnsweringRelevanceInput()
    {
        return $this->readOneof(16);
    }

    public function hasQuestionAnsweringRelevanceInput()
    {
        return $this->hasOneof(16);
    }

    /**
     * Input for question answering relevance metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringRelevanceInput question_answering_relevance_input = 16;</code>
     * @param \Google\Cloud\AIPlatform\V1\QuestionAnsweringRelevanceInput $var
     * @return $this
     */
    public function setQuestionAnsweringRelevanceInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\QuestionAnsweringRelevanceInput::class);
        $this->writeOneof(16, $var);

        return $this;
    }

    /**
     * Input for question answering helpfulness
     * metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInput question_answering_helpfulness_input = 17;</code>
     * @return \Google\Cloud\AIPlatform\V1\QuestionAnsweringHelpfulnessInput|null
     */
    public function getQuestionAnsweringHelpfulnessInput()
    {
        return $this->readOneof(17);
    }

    public function hasQuestionAnsweringHelpfulnessInput()
    {
        return $this->hasOneof(17);
    }

    /**
     * Input for question answering helpfulness
     * metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringHelpfulnessInput question_answering_helpfulness_input = 17;</code>
     * @param \Google\Cloud\AIPlatform\V1\QuestionAnsweringHelpfulnessInput $var
     * @return $this
     */
    public function setQuestionAnsweringHelpfulnessInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\QuestionAnsweringHelpfulnessInput::class);
        $this->writeOneof(17, $var);

        return $this;
    }

    /**
     * Input for question answering correctness
     * metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInput question_answering_correctness_input = 18;</code>
     * @return \Google\Cloud\AIPlatform\V1\QuestionAnsweringCorrectnessInput|null
     */
    public function getQuestionAnsweringCorrectnessInput()
    {
        return $this->readOneof(18);
    }

    public function hasQuestionAnsweringCorrectnessInput()
    {
        return $this->hasOneof(18);
    }

    /**
     * Input for question answering correctness
     * metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.QuestionAnsweringCorrectnessInput question_answering_correctness_input = 18;</code>
     * @param \Google\Cloud\AIPlatform\V1\QuestionAnsweringCorrectnessInput $var
     * @return $this
     */
    public function setQuestionAnsweringCorrectnessInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\QuestionAnsweringCorrectnessInput::class);
        $this->writeOneof(18, $var);

        return $this;
    }

    /**
     * Input for pointwise metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PointwiseMetricInput pointwise_metric_input = 28;</code>
     * @return \Google\Cloud\AIPlatform\V1\PointwiseMetricInput|null
     */
    public function getPointwiseMetricInput()
    {
        return $this->readOneof(28);
    }

    public function hasPointwiseMetricInput()
    {
        return $this->hasOneof(28);
    }

    /**
     * Input for pointwise metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PointwiseMetricInput pointwise_metric_input = 28;</code>
     * @param \Google\Cloud\AIPlatform\V1\PointwiseMetricInput $var
     * @return $this
     */
    public function setPointwiseMetricInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\PointwiseMetricInput::class);
        $this->writeOneof(28, $var);

        return $this;
    }

    /**
     * Input for pairwise metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PairwiseMetricInput pairwise_metric_input = 29;</code>
     * @return \Google\Cloud\AIPlatform\V1\PairwiseMetricInput|null
     */
    public function getPairwiseMetricInput()
    {
        return $this->readOneof(29);
    }

    public function hasPairwiseMetricInput()
    {
        return $this->hasOneof(29);
    }

    /**
     * Input for pairwise metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.PairwiseMetricInput pairwise_metric_input = 29;</code>
     * @param \Google\Cloud\AIPlatform\V1\PairwiseMetricInput $var
     * @return $this
     */
    public function setPairwiseMetricInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\PairwiseMetricInput::class);
        $this->writeOneof(29, $var);

        return $this;
    }

    /**
     * Tool call metric instances.
     * Input for tool call valid metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolCallValidInput tool_call_valid_input = 19;</code>
     * @return \Google\Cloud\AIPlatform\V1\ToolCallValidInput|null
     */
    public function getToolCallValidInput()
    {
        return $this->readOneof(19);
    }

    public function hasToolCallValidInput()
    {
        return $this->hasOneof(19);
    }

    /**
     * Tool call metric instances.
     * Input for tool call valid metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolCallValidInput tool_call_valid_input = 19;</code>
     * @param \Google\Cloud\AIPlatform\V1\ToolCallValidInput $var
     * @return $this
     */
    public function setToolCallValidInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\ToolCallValidInput::class);
        $this->writeOneof(19, $var);

        return $this;
    }

    /**
     * Input for tool name match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolNameMatchInput tool_name_match_input = 20;</code>
     * @return \Google\Cloud\AIPlatform\V1\ToolNameMatchInput|null
     */
    public function getToolNameMatchInput()
    {
        return $this->readOneof(20);
    }

    public function hasToolNameMatchInput()
    {
        return $this->hasOneof(20);
    }

    /**
     * Input for tool name match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolNameMatchInput tool_name_match_input = 20;</code>
     * @param \Google\Cloud\AIPlatform\V1\ToolNameMatchInput $var
     * @return $this
     */
    public function setToolNameMatchInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\ToolNameMatchInput::class);
        $this->writeOneof(20, $var);

        return $this;
    }

    /**
     * Input for tool parameter key match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolParameterKeyMatchInput tool_parameter_key_match_input = 21;</code>
     * @return \Google\Cloud\AIPlatform\V1\ToolParameterKeyMatchInput|null
     */
    public function getToolParameterKeyMatchInput()
    {
        return $this->readOneof(21);
    }

    public function hasToolParameterKeyMatchInput()
    {
        return $this->hasOneof(21);
    }

    /**
     * Input for tool parameter key match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolParameterKeyMatchInput tool_parameter_key_match_input = 21;</code>
     * @param \Google\Cloud\AIPlatform\V1\ToolParameterKeyMatchInput $var
     * @return $this
     */
    public function setToolParameterKeyMatchInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\ToolParameterKeyMatchInput::class);
        $this->writeOneof(21, $var);

        return $this;
    }

    /**
     * Input for tool parameter key value match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolParameterKVMatchInput tool_parameter_kv_match_input = 22;</code>
     * @return \Google\Cloud\AIPlatform\V1\ToolParameterKVMatchInput|null
     */
    public function getToolParameterKvMatchInput()
    {
        return $this->readOneof(22);
    }

    public function hasToolParameterKvMatchInput()
    {
        return $this->hasOneof(22);
    }

    /**
     * Input for tool parameter key value match metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.ToolParameterKVMatchInput tool_parameter_kv_match_input = 22;</code>
     * @param \Google\Cloud\AIPlatform\V1\ToolParameterKVMatchInput $var
     * @return $this
     */
    public function setToolParameterKvMatchInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\ToolParameterKVMatchInput::class);
        $this->writeOneof(22, $var);

        return $this;
    }

    /**
     * Translation metrics.
     * Input for Comet metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.CometInput comet_input = 31;</code>
     * @return \Google\Cloud\AIPlatform\V1\CometInput|null
     */
    public function getCometInput()
    {
        return $this->readOneof(31);
    }

    public function hasCometInput()
    {
        return $this->hasOneof(31);
    }

    /**
     * Translation metrics.
     * Input for Comet metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.CometInput comet_input = 31;</code>
     * @param \Google\Cloud\AIPlatform\V1\CometInput $var
     * @return $this
     */
    public function setCometInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\CometInput::class);
        $this->writeOneof(31, $var);

        return $this;
    }

    /**
     * Input for Metricx metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.MetricxInput metricx_input = 32;</code>
     * @return \Google\Cloud\AIPlatform\V1\MetricxInput|null
     */
    public function getMetricxInput()
    {
        return $this->readOneof(32);
    }

    public function hasMetricxInput()
    {
        return $this->hasOneof(32);
    }

    /**
     * Input for Metricx metric.
     *
     * Generated from protobuf field <code>.google.cloud.aiplatform.v1.MetricxInput metricx_input = 32;</code>
     * @param \Google\Cloud\AIPlatform\V1\MetricxInput $var
     * @return $this
     */
    public function setMetricxInput($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\AIPlatform\V1\MetricxInput::class);
        $this->writeOneof(32, $var);

        return $this;
    }

    /**
     * Required. The resource name of the Location to evaluate the instances.
     * Format: `projects/{project}/locations/{location}`
     *
     * Generated from protobuf field <code>string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {</code>
     * @return string
     */
    public function getLocation()
    {
        return $this->location;
    }

    /**
     * Required. The resource name of the Location to evaluate the instances.
     * Format: `projects/{project}/locations/{location}`
     *
     * Generated from protobuf field <code>string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = {</code>
     * @param string $var
     * @return $this
     */
    public function setLocation($var)
    {
        GPBUtil::checkString($var, True);
        $this->location = $var;

        return $this;
    }

    /**
     * @return string
     */
    public function getMetricInputs()
    {
        return $this->whichOneof("metric_inputs");
    }

}

