/*
* Windmill API
*
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 1.824.1
* Contact: contact@windmill.dev
* Generated by: https://openapi-generator.tech
*/
use crate::models;
use serde::{Deserialize, Serialize};
/// AiDecisionInputTransforms : Input parameters for the decision mapped to their values
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AiDecisionInputTransforms {
#[serde(rename = "provider")]
pub provider: Box<models::ProviderTransform>,
/// What the questions are asked about: a string, an object or an array of strings. An object with descriptive keys holding only what the questions need works best. Example: { message: flow_input.message, plan: results.a.plan }
#[serde(rename = "state")]
pub state: Box<models::InputTransform>,
/// Object mapping each question name to { type, instructions, criteria }, where type is: - 'choice': criteria maps each option to its description (up to 255); the answer has choice, probabilities and confidence - 'score': criteria is an ordered array of 2 to 10 level descriptions; the answer has score, legend, probabilities and confidence - 'noul': yes/no, criteria optionally { true, false } descriptions; the answer has noul, the probability of yes (0 to 1) Example: { intent: { type: 'choice', instructions: 'What does the customer want?', criteria: { refund: 'Money back', bug: 'Something is broken' } } }
#[serde(rename = "questions")]
pub questions: Box<models::InputTransform>,
}
impl AiDecisionInputTransforms {
/// Input parameters for the decision mapped to their values
pub fn new(provider: models::ProviderTransform, state: models::InputTransform, questions: models::InputTransform) -> AiDecisionInputTransforms {
AiDecisionInputTransforms {
provider: Box::new(provider),
state: Box::new(state),
questions: Box::new(questions),
}
}
}