retrieveAndGenerateConfig: se_RetrieveAndGenerateConfiguration()

in clients/client-bedrock/src/protocols/Aws_restJson1.ts [3489:3740]


      retrieveAndGenerateConfig: se_RetrieveAndGenerateConfiguration(value, context),
    }),
    retrieveConfig: (value) => ({ retrieveConfig: se_RetrieveConfig(value, context) }),
    _: (name, value) => ({ [name]: value } as any),
  });
};

/**
 * serializeAws_restJson1KnowledgeBaseRetrievalConfiguration
 */
const se_KnowledgeBaseRetrievalConfiguration = (
  input: KnowledgeBaseRetrievalConfiguration,
  context: __SerdeContext
): any => {
  return take(input, {
    vectorSearchConfiguration: (_) => se_KnowledgeBaseVectorSearchConfiguration(_, context),
  });
};

/**
 * serializeAws_restJson1KnowledgeBaseRetrieveAndGenerateConfiguration
 */
const se_KnowledgeBaseRetrieveAndGenerateConfiguration = (
  input: KnowledgeBaseRetrieveAndGenerateConfiguration,
  context: __SerdeContext
): any => {
  return take(input, {
    generationConfiguration: (_) => se_GenerationConfiguration(_, context),
    knowledgeBaseId: [],
    modelArn: [],
    orchestrationConfiguration: _json,
    retrievalConfiguration: (_) => se_KnowledgeBaseRetrievalConfiguration(_, context),
  });
};

/**
 * serializeAws_restJson1KnowledgeBaseVectorSearchConfiguration
 */
const se_KnowledgeBaseVectorSearchConfiguration = (
  input: KnowledgeBaseVectorSearchConfiguration,
  context: __SerdeContext
): any => {
  return take(input, {
    filter: (_) => se_RetrievalFilter(_, context),
    numberOfResults: [],
    overrideSearchType: [],
  });
};

// se_LoggingConfig omitted.

// se_ModelCustomizationHyperParameters omitted.

// se_ModelDataSource omitted.

// se_ModelInvocationJobInputDataConfig omitted.

// se_ModelInvocationJobOutputDataConfig omitted.

// se_ModelInvocationJobS3InputDataConfig omitted.

// se_ModelInvocationJobS3OutputDataConfig omitted.

// se_OrchestrationConfiguration omitted.

// se_OutputDataConfig omitted.

// se_PerformanceConfiguration omitted.

// se_PromptRouterTargetModel omitted.

// se_PromptRouterTargetModels omitted.

// se_PromptTemplate omitted.

// se_QueryTransformationConfiguration omitted.

/**
 * serializeAws_restJson1RAGConfig
 */
const se_RAGConfig = (input: RAGConfig, context: __SerdeContext): any => {
  return RAGConfig.visit(input, {
    knowledgeBaseConfig: (value) => ({ knowledgeBaseConfig: se_KnowledgeBaseConfig(value, context) }),
    precomputedRagSourceConfig: (value) => ({ precomputedRagSourceConfig: _json(value) }),
    _: (name, value) => ({ [name]: value } as any),
  });
};

/**
 * serializeAws_restJson1RagConfigs
 */
const se_RagConfigs = (input: RAGConfig[], context: __SerdeContext): any => {
  return input
    .filter((e: any) => e != null)
    .map((entry) => {
      return se_RAGConfig(entry, context);
    });
};

// se_RAGStopSequences omitted.

/**
 * serializeAws_restJson1RatingScale
 */
const se_RatingScale = (input: RatingScaleItem[], context: __SerdeContext): any => {
  return input
    .filter((e: any) => e != null)
    .map((entry) => {
      return se_RatingScaleItem(entry, context);
    });
};

/**
 * serializeAws_restJson1RatingScaleItem
 */
const se_RatingScaleItem = (input: RatingScaleItem, context: __SerdeContext): any => {
  return take(input, {
    definition: [],
    value: (_) => se_RatingScaleItemValue(_, context),
  });
};

/**
 * serializeAws_restJson1RatingScaleItemValue
 */
const se_RatingScaleItemValue = (input: RatingScaleItemValue, context: __SerdeContext): any => {
  return RatingScaleItemValue.visit(input, {
    floatValue: (value) => ({ floatValue: __serializeFloat(value) }),
    stringValue: (value) => ({ stringValue: value }),
    _: (name, value) => ({ [name]: value } as any),
  });
};

// se_RequestMetadataBaseFilters omitted.

// se_RequestMetadataFilters omitted.

// se_RequestMetadataFiltersList omitted.

// se_RequestMetadataMap omitted.

/**
 * serializeAws_restJson1RetrievalFilter
 */
const se_RetrievalFilter = (input: RetrievalFilter, context: __SerdeContext): any => {
  return RetrievalFilter.visit(input, {
    andAll: (value) => ({ andAll: se_RetrievalFilterList(value, context) }),
    equals: (value) => ({ equals: se_FilterAttribute(value, context) }),
    greaterThan: (value) => ({ greaterThan: se_FilterAttribute(value, context) }),
    greaterThanOrEquals: (value) => ({ greaterThanOrEquals: se_FilterAttribute(value, context) }),
    in: (value) => ({ in: se_FilterAttribute(value, context) }),
    lessThan: (value) => ({ lessThan: se_FilterAttribute(value, context) }),
    lessThanOrEquals: (value) => ({ lessThanOrEquals: se_FilterAttribute(value, context) }),
    listContains: (value) => ({ listContains: se_FilterAttribute(value, context) }),
    notEquals: (value) => ({ notEquals: se_FilterAttribute(value, context) }),
    notIn: (value) => ({ notIn: se_FilterAttribute(value, context) }),
    orAll: (value) => ({ orAll: se_RetrievalFilterList(value, context) }),
    startsWith: (value) => ({ startsWith: se_FilterAttribute(value, context) }),
    stringContains: (value) => ({ stringContains: se_FilterAttribute(value, context) }),
    _: (name, value) => ({ [name]: value } as any),
  });
};

/**
 * serializeAws_restJson1RetrievalFilterList
 */
const se_RetrievalFilterList = (input: RetrievalFilter[], context: __SerdeContext): any => {
  return input
    .filter((e: any) => e != null)
    .map((entry) => {
      return se_RetrievalFilter(entry, context);
    });
};

/**
 * serializeAws_restJson1RetrieveAndGenerateConfiguration
 */
const se_RetrieveAndGenerateConfiguration = (input: RetrieveAndGenerateConfiguration, context: __SerdeContext): any => {
  return take(input, {
    externalSourcesConfiguration: (_) => se_ExternalSourcesRetrieveAndGenerateConfiguration(_, context),
    knowledgeBaseConfiguration: (_) => se_KnowledgeBaseRetrieveAndGenerateConfiguration(_, context),
    type: [],
  });
};

/**
 * serializeAws_restJson1RetrieveConfig
 */
const se_RetrieveConfig = (input: RetrieveConfig, context: __SerdeContext): any => {
  return take(input, {
    knowledgeBaseId: [],
    knowledgeBaseRetrievalConfiguration: (_) => se_KnowledgeBaseRetrievalConfiguration(_, context),
  });
};

/**
 * serializeAws_restJson1RoutingCriteria
 */
const se_RoutingCriteria = (input: RoutingCriteria, context: __SerdeContext): any => {
  return take(input, {
    responseQualityDifference: __serializeFloat,
  });
};

// se_S3Config omitted.

// se_S3DataSource omitted.

// se_S3ObjectDoc omitted.

// se_SageMakerEndpoint omitted.

// se_SecurityGroupIds omitted.

// se_SubnetIds omitted.

// se_Tag omitted.

// se_TagKeyList omitted.

// se_TagList omitted.

// se_TeacherModelConfig omitted.

/**
 * serializeAws_restJson1TextInferenceConfig
 */
const se_TextInferenceConfig = (input: TextInferenceConfig, context: __SerdeContext): any => {
  return take(input, {
    maxTokens: [],
    stopSequences: _json,
    temperature: __serializeFloat,
    topP: __serializeFloat,
  });
};

// se_TrainingDataConfig omitted.

// se_ValidationDataConfig omitted.

// se_Validator omitted.

// se_Validators omitted.

// se_VpcConfig omitted.

/**
 * deserializeAws_restJson1AdditionalModelRequestFields
 */
const de_AdditionalModelRequestFields = (output: any, context: __SerdeContext): Record<string, __DocumentType> => {
  return Object.entries(output).reduce((acc: Record<string, __DocumentType>, [key, value]: [string, any]) => {
    if (value === null) {