aws-sdk-bedrockagentcore 1.45.0

AWS SDK for Amazon Bedrock AgentCore
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct EvaluateInput {
    /// <p>The unique identifier of the evaluator to use for scoring. Can be a built-in evaluator (e.g., <code>Builtin.Helpfulness</code>, <code>Builtin.Correctness</code>) or a custom evaluator Id created through the control plane API.</p>
    pub evaluator_id: ::std::option::Option<::std::string::String>,
    /// <p>The input data containing agent session spans to be evaluated. Includes a list of spans in OpenTelemetry format from supported frameworks like Strands (AgentCore Runtime) or LangGraph with OpenInference instrumentation.</p>
    pub evaluation_input: ::std::option::Option<crate::types::EvaluationInput>,
    /// <p>The specific trace or span IDs to evaluate within the provided input. Allows targeting evaluation at different levels: individual tool calls, single request-response interactions (traces), or entire conversation sessions.</p>
    pub evaluation_target: ::std::option::Option<crate::types::EvaluationTarget>,
    /// <p>Ground truth data to compare against agent responses during evaluation. Allows to provide expected responses, assertions, and expected tool trajectories at different evaluation levels. Session-level reference inputs apply to the entire conversation, while trace-level reference inputs target specific request-response interactions identified by trace ID.</p>
    pub evaluation_reference_inputs: ::std::option::Option<::std::vec::Vec<crate::types::EvaluationReferenceInput>>,
}
impl EvaluateInput {
    /// <p>The unique identifier of the evaluator to use for scoring. Can be a built-in evaluator (e.g., <code>Builtin.Helpfulness</code>, <code>Builtin.Correctness</code>) or a custom evaluator Id created through the control plane API.</p>
    pub fn evaluator_id(&self) -> ::std::option::Option<&str> {
        self.evaluator_id.as_deref()
    }
    /// <p>The input data containing agent session spans to be evaluated. Includes a list of spans in OpenTelemetry format from supported frameworks like Strands (AgentCore Runtime) or LangGraph with OpenInference instrumentation.</p>
    pub fn evaluation_input(&self) -> ::std::option::Option<&crate::types::EvaluationInput> {
        self.evaluation_input.as_ref()
    }
    /// <p>The specific trace or span IDs to evaluate within the provided input. Allows targeting evaluation at different levels: individual tool calls, single request-response interactions (traces), or entire conversation sessions.</p>
    pub fn evaluation_target(&self) -> ::std::option::Option<&crate::types::EvaluationTarget> {
        self.evaluation_target.as_ref()
    }
    /// <p>Ground truth data to compare against agent responses during evaluation. Allows to provide expected responses, assertions, and expected tool trajectories at different evaluation levels. Session-level reference inputs apply to the entire conversation, while trace-level reference inputs target specific request-response interactions identified by trace ID.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.evaluation_reference_inputs.is_none()`.
    pub fn evaluation_reference_inputs(&self) -> &[crate::types::EvaluationReferenceInput] {
        self.evaluation_reference_inputs.as_deref().unwrap_or_default()
    }
}
impl ::std::fmt::Debug for EvaluateInput {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("EvaluateInput");
        formatter.field("evaluator_id", &self.evaluator_id);
        formatter.field("evaluation_input", &self.evaluation_input);
        formatter.field("evaluation_target", &self.evaluation_target);
        formatter.field("evaluation_reference_inputs", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}
impl EvaluateInput {
    /// Creates a new builder-style object to manufacture [`EvaluateInput`](crate::operation::evaluate::EvaluateInput).
    pub fn builder() -> crate::operation::evaluate::builders::EvaluateInputBuilder {
        crate::operation::evaluate::builders::EvaluateInputBuilder::default()
    }
}

/// A builder for [`EvaluateInput`](crate::operation::evaluate::EvaluateInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct EvaluateInputBuilder {
    pub(crate) evaluator_id: ::std::option::Option<::std::string::String>,
    pub(crate) evaluation_input: ::std::option::Option<crate::types::EvaluationInput>,
    pub(crate) evaluation_target: ::std::option::Option<crate::types::EvaluationTarget>,
    pub(crate) evaluation_reference_inputs: ::std::option::Option<::std::vec::Vec<crate::types::EvaluationReferenceInput>>,
}
impl EvaluateInputBuilder {
    /// <p>The unique identifier of the evaluator to use for scoring. Can be a built-in evaluator (e.g., <code>Builtin.Helpfulness</code>, <code>Builtin.Correctness</code>) or a custom evaluator Id created through the control plane API.</p>
    /// This field is required.
    pub fn evaluator_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.evaluator_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier of the evaluator to use for scoring. Can be a built-in evaluator (e.g., <code>Builtin.Helpfulness</code>, <code>Builtin.Correctness</code>) or a custom evaluator Id created through the control plane API.</p>
    pub fn set_evaluator_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.evaluator_id = input;
        self
    }
    /// <p>The unique identifier of the evaluator to use for scoring. Can be a built-in evaluator (e.g., <code>Builtin.Helpfulness</code>, <code>Builtin.Correctness</code>) or a custom evaluator Id created through the control plane API.</p>
    pub fn get_evaluator_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.evaluator_id
    }
    /// <p>The input data containing agent session spans to be evaluated. Includes a list of spans in OpenTelemetry format from supported frameworks like Strands (AgentCore Runtime) or LangGraph with OpenInference instrumentation.</p>
    /// This field is required.
    pub fn evaluation_input(mut self, input: crate::types::EvaluationInput) -> Self {
        self.evaluation_input = ::std::option::Option::Some(input);
        self
    }
    /// <p>The input data containing agent session spans to be evaluated. Includes a list of spans in OpenTelemetry format from supported frameworks like Strands (AgentCore Runtime) or LangGraph with OpenInference instrumentation.</p>
    pub fn set_evaluation_input(mut self, input: ::std::option::Option<crate::types::EvaluationInput>) -> Self {
        self.evaluation_input = input;
        self
    }
    /// <p>The input data containing agent session spans to be evaluated. Includes a list of spans in OpenTelemetry format from supported frameworks like Strands (AgentCore Runtime) or LangGraph with OpenInference instrumentation.</p>
    pub fn get_evaluation_input(&self) -> &::std::option::Option<crate::types::EvaluationInput> {
        &self.evaluation_input
    }
    /// <p>The specific trace or span IDs to evaluate within the provided input. Allows targeting evaluation at different levels: individual tool calls, single request-response interactions (traces), or entire conversation sessions.</p>
    pub fn evaluation_target(mut self, input: crate::types::EvaluationTarget) -> Self {
        self.evaluation_target = ::std::option::Option::Some(input);
        self
    }
    /// <p>The specific trace or span IDs to evaluate within the provided input. Allows targeting evaluation at different levels: individual tool calls, single request-response interactions (traces), or entire conversation sessions.</p>
    pub fn set_evaluation_target(mut self, input: ::std::option::Option<crate::types::EvaluationTarget>) -> Self {
        self.evaluation_target = input;
        self
    }
    /// <p>The specific trace or span IDs to evaluate within the provided input. Allows targeting evaluation at different levels: individual tool calls, single request-response interactions (traces), or entire conversation sessions.</p>
    pub fn get_evaluation_target(&self) -> &::std::option::Option<crate::types::EvaluationTarget> {
        &self.evaluation_target
    }
    /// Appends an item to `evaluation_reference_inputs`.
    ///
    /// To override the contents of this collection use [`set_evaluation_reference_inputs`](Self::set_evaluation_reference_inputs).
    ///
    /// <p>Ground truth data to compare against agent responses during evaluation. Allows to provide expected responses, assertions, and expected tool trajectories at different evaluation levels. Session-level reference inputs apply to the entire conversation, while trace-level reference inputs target specific request-response interactions identified by trace ID.</p>
    pub fn evaluation_reference_inputs(mut self, input: crate::types::EvaluationReferenceInput) -> Self {
        let mut v = self.evaluation_reference_inputs.unwrap_or_default();
        v.push(input);
        self.evaluation_reference_inputs = ::std::option::Option::Some(v);
        self
    }
    /// <p>Ground truth data to compare against agent responses during evaluation. Allows to provide expected responses, assertions, and expected tool trajectories at different evaluation levels. Session-level reference inputs apply to the entire conversation, while trace-level reference inputs target specific request-response interactions identified by trace ID.</p>
    pub fn set_evaluation_reference_inputs(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::EvaluationReferenceInput>>) -> Self {
        self.evaluation_reference_inputs = input;
        self
    }
    /// <p>Ground truth data to compare against agent responses during evaluation. Allows to provide expected responses, assertions, and expected tool trajectories at different evaluation levels. Session-level reference inputs apply to the entire conversation, while trace-level reference inputs target specific request-response interactions identified by trace ID.</p>
    pub fn get_evaluation_reference_inputs(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::EvaluationReferenceInput>> {
        &self.evaluation_reference_inputs
    }
    /// Consumes the builder and constructs a [`EvaluateInput`](crate::operation::evaluate::EvaluateInput).
    pub fn build(self) -> ::std::result::Result<crate::operation::evaluate::EvaluateInput, ::aws_smithy_types::error::operation::BuildError> {
        ::std::result::Result::Ok(crate::operation::evaluate::EvaluateInput {
            evaluator_id: self.evaluator_id,
            evaluation_input: self.evaluation_input,
            evaluation_target: self.evaluation_target,
            evaluation_reference_inputs: self.evaluation_reference_inputs,
        })
    }
}
impl ::std::fmt::Debug for EvaluateInputBuilder {
    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
        let mut formatter = f.debug_struct("EvaluateInputBuilder");
        formatter.field("evaluator_id", &self.evaluator_id);
        formatter.field("evaluation_input", &self.evaluation_input);
        formatter.field("evaluation_target", &self.evaluation_target);
        formatter.field("evaluation_reference_inputs", &"*** Sensitive Data Redacted ***");
        formatter.finish()
    }
}