---
title: "POST /v1/{+parent}/onlineEvaluators"
method: POST
path: "/v1/{+parent}/onlineEvaluators"
tags: ["projects"]
---

# POST /v1/{+parent}/onlineEvaluators

`POST /v1/{+parent}/onlineEvaluators`

Creates an OnlineEvaluator in the given project and location.

## Path parameters

- `parent` string, required

## Request body

- GoogleCloudAiplatformV1OnlineEvaluator — An OnlineEvaluator contains the configuration for an Online Evaluation.
  - `name` string — Identifier. The resource name of the OnlineEvaluator. Format: projects/{project}/locations/{location}/onlineEvaluators/{id}.
  - `createTime` string, google-datetime — Output only. Timestamp when the OnlineEvaluator was created.
  - `displayName` string — Optional. Human-readable name for the `OnlineEvaluator`. The name doesn't have to be unique. The name can consist of any UTF-8 characters. The maximum length is `63` characters. If the display name exceeds max characters, an `INVALID_ARGUMENT` error is returned.
  - `state` 'STATE_UNSPECIFIED' | 'ACTIVE' | 'SUSPENDED' | 'FAILED' | 'WARNING' — Output only. The state of the OnlineEvaluator.
  - `agentResource` string — Required. Immutable. The name of the agent that the OnlineEvaluator evaluates periodically. This value is used to filter the traces with a matching cloud.resource_id and link the evaluation results with relevant dashboards/UIs. This field is immutable. Once set, it cannot be changed.
  - `metricSources` GoogleCloudAiplatformV1MetricSource[] — Required. A list of metric sources to be used for evaluating samples. At least one MetricSource must be provided. Right now, only predefined metrics and registered metrics are supported. Every registered metric must have `display_name` (or `title`) and `score_range` defined. Otherwise, the evaluations will fail. The maximum number of `metric_sources` is 25.
    - `metricResourceName` string — Optional. Resource name for registered metric.
    - `metric` GoogleCloudAiplatformV1Metric — The metric used for running evaluations.
      - `bleuSpec` GoogleCloudAiplatformV1BleuSpec — Spec for bleu score metric - calculates the precision of n-grams in the prediction as compared to reference - returns a score ranging between 0 to 1.
        - `useEffectiveOrder` boolean — Optional. Whether to use_effective_order to compute bleu score.
      - `pointwiseMetricSpec` GoogleCloudAiplatformV1PointwiseMetricSpec — Spec for pointwise metric.
        - `metricPromptTemplate` string — Required. Metric prompt template for pointwise metric.
        - `systemInstruction` string — Optional. System instructions for pointwise metric.
        - `customOutputFormatConfig` GoogleCloudAiplatformV1CustomOutputFormatConfig — Spec for custom output format configuration.
          - `returnRawOutput` boolean — Optional. Whether to return raw output.
      - `exactMatchSpec` GoogleCloudAiplatformV1ExactMatchSpec — Spec for exact match metric - returns 1 if prediction and reference exactly matches, otherwise 0.
      - `metadata` GoogleCloudAiplatformV1MetricMetadata — Metadata about the metric, used for visualization and organization.
        - `scoreRange` GoogleCloudAiplatformV1MetricMetadataScoreRange — The range of possible scores for this metric, used for plotting.
          - `max` number, double — Required. The maximum value of the score range (inclusive).
          - `step` number, double — Optional. The distance between discrete steps in the range. If unset, the range is assumed to be continuous.
          - `min` number, double — Required. The minimum value of the score range (inclusive).
          - `description` string — Optional. The description of the score explaining the directionality etc.
        - `otherMetadata` object — Optional. Flexible metadata for user-defined attributes.
        - `title` string — Optional. The user-friendly name for the metric. If not set for a registered metric, it will default to the metric's display name.
      - `computationBasedMetricSpec` GoogleCloudAiplatformV1ComputationBasedMetricSpec — Specification for a computation based metric.
        - `type` 'COMPUTATION_BASED_METRIC_TYPE_UNSPECIFIED' | 'EXACT_MATCH' | 'BLEU' | 'ROUGE' — Required. The type of the computation based metric.
        - `parameters` object — Optional. A map of parameters for the metric, e.g. {"rouge_type": "rougeL"}.
      - `customCodeExecutionSpec` GoogleCloudAiplatformV1CustomCodeExecutionSpec — Specificies a metric that is populated by evaluating user-defined Python code.
        - `evaluationFunction` string — Required. Python function. Expected user to define the following function, e.g.: def evaluate(instance: dict[str, Any]) -> float: Please include this function signature in the code snippet. Instance is the evaluation instance, any fields populated in the instance are available to the function as instance[field_name]. Example: Example input: ``` instance= EvaluationInstance( response=EvaluationInstance.InstanceData(text="The answer is 4."), reference=EvaluationInstance.InstanceData(text="4") ) ``` Example converted input: ``` { 'response': {'text': 'The answer is 4.'}, 'reference': {'text': '4'} } ``` Example python function: ``` def evaluate(instance: dict[str, Any]) -> float: if instance'response' == instance'reference': return 1.0 return 0.0 ``` CustomCodeExecutionSpec is also supported in Batch Evaluation (EvalDataset RPC) and Tuning Evaluation. Each line in the input jsonl file will be converted to dict[str, Any] and passed to the evaluation function.
      - `pairwiseMetricSpec` GoogleCloudAiplatformV1PairwiseMetricSpec — Spec for pairwise metric.
        - `baselineResponseFieldName` string — Optional. The field name of the baseline response.
        - `candidateResponseFieldName` string — Optional. The field name of the candidate response.
        - `systemInstruction` string — Optional. System instructions for pairwise metric.
        - `customOutputFormatConfig` GoogleCloudAiplatformV1CustomOutputFormatConfig — Spec for custom output format configuration.
          - `returnRawOutput` boolean — Optional. Whether to return raw output.
        - `metricPromptTemplate` string — Required. Metric prompt template for pairwise metric.
      - `llmBasedMetricSpec` GoogleCloudAiplatformV1LLMBasedMetricSpec — Specification for an LLM based metric.
        - `rubricGroupKey` string — Use a pre-defined group of rubrics associated with the input. Refers to a key in the rubric_groups map of EvaluationInstance.
        - `additionalConfig` object — Optional. Optional additional configuration for the metric.
        - `systemInstruction` string — Optional. System instructions for the judge model.
        - `metricPromptTemplate` string — Required. Template for the prompt sent to the judge model.
        - `rubricGenerationSpec` GoogleCloudAiplatformV1RubricGenerationSpec — Specification for how rubrics should be generated.
          - `promptTemplate` string — Template for the prompt used to generate rubrics. The details should be updated based on the most-recent recipe requirements.
          - `modelConfig` GoogleCloudAiplatformV1AutoraterConfig — The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset.
            - `samplingCount` integer — Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
            - `flipEnabled` boolean — Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
            - `generationConfig` GoogleCloudAiplatformV1GenerationConfig — Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output.
              - …
            - `autoraterModel` string — Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
          - `rubricTypeOntology` string[] — Optional. An optional, pre-defined list of allowed types for generated rubrics. If this field is provided, it implies `include_rubric_type` should be true, and the generated rubric types should be chosen from this ontology.
          - `rubricContentType` 'RUBRIC_CONTENT_TYPE_UNSPECIFIED' | 'PROPERTY' | 'NL_QUESTION_ANSWER' | 'PYTHON_CODE_ASSERTION' — The type of rubric content to be generated.
        - `resultParserConfig` GoogleCloudAiplatformV1EvaluationParserConfig — Config for parsing LLM responses. It can be used to parse the LLM response to be evaluated, or the LLM response from LLM-based metrics/Autoraters.
          - `customCodeParserConfig` GoogleCloudAiplatformV1EvaluationParserConfigCustomCodeParserConfig — Configuration for parsing the LLM response using custom code.
            - `parsingFunction` string — Required. Python function for parsing results. The function should be defined within this string. The function takes a list of strings (LLM responses) and should return either a list of dictionaries (for rubrics) or a single dictionary (for a metric result). Example function signature: def parse(responses: list[str]) -> list[dict[str, Any]] | dict[str, Any]: When parsing rubrics, return a list of dictionaries, where each dictionary represents a Rubric. Example for rubrics: [ { "content": {"property": {"description": "The response is factual."}}, "type": "FACTUALITY", "importance": "HIGH" }, { "content": {"property": {"description": "The response is fluent."}}, "type": "FLUENCY", "importance": "MEDIUM" } ] When parsing critique results, return a dictionary representing a MetricResult. Example for a metric result: { "score": 0.8, "explanation": "The model followed most instructions.", "rubric_verdicts": [...] } ... code for result extraction and aggregation
        - `predefinedRubricGenerationSpec` GoogleCloudAiplatformV1PredefinedMetricSpec — The spec for a pre-defined metric.
          - `metricSpecName` string — Required. The name of a pre-defined metric, such as "instruction_following_v1" or "text_quality_v1".
          - `metricSpecParameters` object — Optional. The parameters needed to run the pre-defined metric.
        - `judgeAutoraterConfig` GoogleCloudAiplatformV1AutoraterConfig — The configs for autorater. This is applicable to both EvaluateInstances and EvaluateDataset.
          - `samplingCount` integer — Optional. Number of samples for each instance in the dataset. If not specified, the default is 4. Minimum value is 1, maximum value is 32.
          - `flipEnabled` boolean — Optional. Default is true. Whether to flip the candidate and baseline responses. This is only applicable to the pairwise metric. If enabled, also provide PairwiseMetricSpec.candidate_response_field_name and PairwiseMetricSpec.baseline_response_field_name. When rendering PairwiseMetricSpec.metric_prompt_template, the candidate and baseline fields will be flipped for half of the samples to reduce bias.
          - `generationConfig` GoogleCloudAiplatformV1GenerationConfig — Configuration for content generation. This message contains all the parameters that control how the model generates content. It allows you to influence the randomness, length, and structure of the output.
            - `logprobs` integer — Optional. The number of top log probabilities to return for each token. This can be used to see which other tokens were considered likely candidates for a given position. A higher value will return more options, but it will also increase the size of the response.
            - `responseMimeType` string — Optional. The IANA standard MIME type of the response. The model will generate output that conforms to this MIME type. Supported values include 'text/plain' (default) and 'application/json'. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. Deprecated: Use `response_format` instead.
            - `candidateCount` integer — Optional. The number of candidate responses to generate. A higher `candidate_count` can provide more options to choose from, but it also consumes more resources. This can be useful for generating a variety of responses and selecting the best one.
            - `enableAffectiveDialog` boolean — Optional. If enabled, the model will detect emotions and adapt its responses accordingly. For example, if the model detects that the user is frustrated, it may provide a more empathetic response.
            - `topK` number, float — Optional. Specifies the top-k sampling threshold. The model considers only the top k most probable tokens for the next token. This can be useful for generating more coherent and less random text. For example, a `top_k` of 40 means the model will choose the next word from the 40 most likely words.
            - `thinkingConfig` GoogleCloudAiplatformV1GenerationConfigThinkingConfig — Configuration for the model's thinking features. "Thinking" is a process where the model breaks down a complex task into smaller, manageable steps. This allows the model to reason about the task, plan its approach, and execute the plan to generate a high-quality response.
              - …
            - `imageConfig` GoogleCloudAiplatformV1ImageConfig — Configuration for image generation. This message allows you to control various aspects of image generation, such as the output format, aspect ratio, and whether the model can generate images of people.
              - …
            - `frequencyPenalty` number, float — Optional. Penalizes tokens based on their frequency in the generated text. A positive value helps to reduce the repetition of words and phrases. Valid values can range from [-2.0, 2.0].
            - `responseModalities` string[] — Optional. The modalities of the response. The model will generate a response that includes all the specified modalities. For example, if this is set to `[TEXT, IMAGE]`, the response will include both text and an image.
            - `topP` number, float — Optional. Specifies the nucleus sampling threshold. The model considers only the smallest set of tokens whose cumulative probability is at least `top_p`. This helps generate more diverse and less repetitive responses. For example, a `top_p` of 0.9 means the model considers tokens until the cumulative probability of the tokens to select from reaches 0.9. It's recommended to adjust either temperature or `top_p`, but not both.
            - `responseLogprobs` boolean — Optional. If set to true, the log probabilities of the output tokens are returned. Log probabilities are the logarithm of the probability of a token appearing in the output. A higher log probability means the token is more likely to be generated. This can be useful for analyzing the model's confidence in its own output and for debugging.
            - `maxOutputTokens` integer — Optional. The maximum number of tokens to generate in the response. A token is approximately four characters. The default value varies by model. This parameter can be used to control the length of the generated text and prevent overly long responses.
            - `seed` integer — Optional. A seed for the random number generator. By setting a seed, you can make the model's output mostly deterministic. For a given prompt and parameters (like temperature, top_p, etc.), the model will produce the same response every time. However, it's not a guaranteed absolute deterministic behavior. This is different from parameters like `temperature`, which control the *level* of randomness. `seed` ensures that the "random" choices the model makes are the same on every run, making it essential for testing and ensuring reproducible results.
            - `presencePenalty` number, float — Optional. Penalizes tokens that have already appeared in the generated text. A positive value encourages the model to generate more diverse and less repetitive text. Valid values can range from [-2.0, 2.0].
            - `responseSchema` GoogleCloudAiplatformV1Schema — Defines the schema of input and output data. This is a subset of the [OpenAPI 3.0 Schema Object](https://spec.openapis.org/oas/v3.0.3#schema-object).
              - …
            - `speechConfig` GoogleCloudAiplatformV1SpeechConfig — Configuration for speech generation.
              - …
            - `routingConfig` GoogleCloudAiplatformV1GenerationConfigRoutingConfig — The configuration for routing the request to a specific model. This can be used to control which model is used for the generation, either automatically or by specifying a model name.
              - …
            - `responseFormat` GoogleCloudAiplatformV1ResponseFormat[] — Optional. New response format field for the model to configure output formatting and delivery.
              - …
            - `stopSequences` string[] — Optional. A list of character sequences that will stop the model from generating further tokens. If a stop sequence is generated, the output will end at that point. This is useful for controlling the length and structure of the output. For example, you can use ["\n", "###"] to stop generation at a new line or a specific marker.
            - `temperature` number, float — Optional. Controls the randomness of the output. A higher temperature results in more creative and diverse responses, while a lower temperature makes the output more predictable and focused. The valid range is (0.0, 2.0].
            - `mediaResolution` 'MEDIA_RESOLUTION_UNSPECIFIED' | 'MEDIA_RESOLUTION_LOW' | 'MEDIA_RESOLUTION_MEDIUM' | 'MEDIA_RESOLUTION_HIGH' — Optional. The token resolution at which input media content is sampled. This is used to control the trade-off between the quality of the response and the number of tokens used to represent the media. A higher resolution allows the model to perceive more detail, which can lead to a more nuanced response, but it will also use more tokens. This does not affect the image dimensions sent to the model.
            - `audioTimestamp` boolean — Optional. If enabled, audio timestamps will be included in the request to the model. This can be useful for synchronizing audio with other modalities in the response.
            - `responseJsonSchema` unknown
          - `autoraterModel` string — Optional. The fully qualified name of the publisher model or tuned autorater endpoint to use. Publisher model format: `projects/{project}/locations/{location}/publishers/*/models/*` Tuned model endpoint format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
      - `rougeSpec` GoogleCloudAiplatformV1RougeSpec — Spec for rouge score metric - calculates the recall of n-grams in prediction as compared to reference - returns a score ranging between 0 and 1.
        - `splitSummaries` boolean — Optional. Whether to split summaries while using rougeLsum.
        - `useStemmer` boolean — Optional. Whether to use stemmer to compute rouge score.
        - `rougeType` string — Optional. Supported rouge types are rougen[1-9], rougeL, and rougeLsum.
      - `aggregationMetrics` string[] — Optional. The aggregation metrics to use.
      - `predefinedMetricSpec` GoogleCloudAiplatformV1PredefinedMetricSpec — The spec for a pre-defined metric.
        - `metricSpecName` string — Required. The name of a pre-defined metric, such as "instruction_following_v1" or "text_quality_v1".
        - `metricSpecParameters` object — Optional. The parameters needed to run the pre-defined metric.
  - `stateDetails` GoogleCloudAiplatformV1OnlineEvaluatorStateDetails[] — Output only. Contains additional information about the state of the OnlineEvaluator. This is used to provide more details in the event of a failure.
    - `message` string — Output only. Human-readable message describing the state of the OnlineEvaluator.
  - `updateTime` string, google-datetime — Output only. Timestamp when the OnlineEvaluator was last updated.
  - `config` GoogleCloudAiplatformV1OnlineEvaluatorConfig — Configuration for sampling behavior of the OnlineEvaluator. The OnlineEvaluator runs at a fixed interval of 10 minutes.
    - `randomSampling` GoogleCloudAiplatformV1OnlineEvaluatorConfigRandomSampling — Configuration for random sampling.
      - `percentage` integer — Required. The percentage of traces to sample for evaluation. Must be an integer between `1` and `100`.
    - `maxEvaluatedSamplesPerRun` string, int64 — Optional. The maximum number of evaluations to perform per run. If set to 0, the number is unbounded.
  - `cloudObservability` GoogleCloudAiplatformV1OnlineEvaluatorCloudObservability — Data source for the OnlineEvaluator, based on Google Cloud Observability stack (Cloud Trace & Cloud Logging).
    - `openTelemetry` GoogleCloudAiplatformV1OnlineEvaluatorCloudObservabilityOpenTelemetry — Configuration for data source following OpenTelemetry.
      - `semconvVersion` string — Required. Defines which version OTel Semantic Convention the data follows. Can be "1.39.0" or newer.
    - `traceView` string — Optional. Optional trace view that will be used to query traces. If empty, the `_Default` view will be used. NOTE: This field is not supported yet and will be ignored if set.
    - `traceScope` GoogleCloudAiplatformV1OnlineEvaluatorCloudObservabilityTraceScope — If chosen, the online evaluator will evaluate single traces matching specified `filter`.
      - `filter` GoogleCloudAiplatformV1OnlineEvaluatorCloudObservabilityTraceScopePredicate[] — Optional. A list of predicates to filter traces. Multiple predicates are combined using AND. The maximum number of predicates is 10.
        - `duration` GoogleCloudAiplatformV1OnlineEvaluatorCloudObservabilityNumericPredicate — Defines a predicate for filtering based on a numeric value.
          - `value` number, float — Required. The value to compare against.
          - `comparisonOperator` 'COMPARISON_OPERATOR_UNSPECIFIED' | 'LESS' | 'LESS_OR_EQUAL' | 'EQUAL' | 'NOT_EQUAL' | 'GREATER_OR_EQUAL' | 'GREATER' — Required. The comparison operator to apply.
        - `totalTokenUsage` GoogleCloudAiplatformV1OnlineEvaluatorCloudObservabilityNumericPredicate — Defines a predicate for filtering based on a numeric value.
          - `value` number, float — Required. The value to compare against.
          - `comparisonOperator` 'COMPARISON_OPERATOR_UNSPECIFIED' | 'LESS' | 'LESS_OR_EQUAL' | 'EQUAL' | 'NOT_EQUAL' | 'GREATER_OR_EQUAL' | 'GREATER' — Required. The comparison operator to apply.
    - `logView` string — Optional. Optional log view that will be used to query logs. If empty, the `_Default` view will be used.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/aiplatform.md) · [All operations](https://skmtc.net/google/apis/aiplatform/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/aiplatform/versions/b608d71b91f0/schema)
