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']!);
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');
});
The result would be a String with content iPhone, food
.