analyzeMultipleContents method

Future<List<ModerationAnalysis>> analyzeMultipleContents(
  1. List<String> texts, {
  2. String? model,
})

Batch analyze multiple texts

Implementation

Future<List<ModerationAnalysis>> analyzeMultipleContents(
  List<String> texts, {
  String? model,
}) async {
  final results = await moderateTexts(texts, model: model);

  return results.asMap().entries.map((entry) {
    final index = entry.key;
    final result = entry.value;

    final categoriesMap = _categoriesToMap(result.categories);
    final scoresMap = _categoryScoresToMap(result.categoryScores);

    return ModerationAnalysis(
      text: texts[index],
      flagged: result.flagged,
      categories: categoriesMap,
      categoryScores: scoresMap,
      highestRiskCategory: _getHighestRiskCategory(scoresMap),
      riskLevel: _calculateRiskLevel(scoresMap),
      recommendations: _generateRecommendations(result),
    );
  }).toList();
}