Generate tags using gemini AI

sugiarto - Oct 1 - - Dev Community

A week ago, I was working on a Flutter project to generate tags based on a post sentence.

The requirement was to generate tags separated by commas using the Gemini API.

Todo that, I used the flutter_gemini package to call the Gemini API.

Here is sample code to call the API.

// main.dart
Gemini.init(apiKey: dotenv.env['GEMINI_API_KEY']!);
Enter fullscreen mode Exit fullscreen mode
final sampleText = "Thanks for the iPhone and food."
final gemini = Gemini.instance;
gemini.streamGenerateContent("For this text, return only the name of people or things (separated by commas), that you're highly confident that has a very high positive sentiment: $sampleText").listen((Candidates value){
  if (value?.content?.parts != null){
    if (value!.content!.parts!.isNotEmpty){
      String? text = value!.content!.parts![0].text;
      if (text != null){
        var parsedTags = text.split(", ");
        setState(() {
          for (String tag in parsedTags){
            // push to tags variable
            if (!tags.contains(tag)){
              tags.add(tag);
            }
          }
        });
      }
    }
  }
  print(value);
}).onError((error){
  print('streamGenerateContent exception $error');
});
Enter fullscreen mode Exit fullscreen mode

The result would be a String with content iPhone, food.

. . . . . . . . . . . .