Search packages, repositories and app categories

GitHub repositoryChunhThanhDe/Flutter_gemini_Chat

Flutter_gemini_Chat

This repository provides instructions for integrating Google Gemini into Flutter apps using the Flutter_gemini package. Here is an example of creating a Gemini Chat Bot 💬 🤖 AI using Flutter. Thanks for your support ❤️

Flutter_gemini_Chat project cover
Stars
21
Forks
1
Last push (UTC)
Mar 1, 2025
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

🚀 Integrating Gemini into Your Flutter Application

Create gemini robot 💬 chat bot 🤖 with Flutter. Show some ❤️ and star ⭐ the repo if you liked it.

contact for work, mail: chunhthanhde.dev@gmail.com
logo

GitHub stars GitHub forks GitHub watchers

Support me on LinkedIn

Buy Me A Coffee

📚 Overview

Integrate Google's Gemini AI into your Flutter app with ease using the flutter_gemini package. This guide will help you enhance your app's functionality by leveraging Gemini's advanced AI features, including multilingual support, image and audio processing, and Natural Language Processing (NLP).

🌟 Key Features of Gemini

  • Stream Generate Content: Handle partial results with streaming without waiting for the complete response.
  • Text-only Input: Complete and summarize texts using NLP.
  • Text-and-Image Input: Use the gemini-pro-vision model for tasks involving both text and images.
  • Multi-Turn Conversations (Chat): Engage in dynamic conversations with follow-up questions.
  • Token Counting: Convert information into floating-point numbers.
  • Model Info: Retrieve details about the model, including version and input token limits.
  • EmbedContents and BatchEmbedContents: Transform information into numerical arrays for learning.

🏁 Implementation Steps

  1. Obtain an API Key 🔑 Create an account at Google Gemini.

    • Click on "Get API Key,"

    • select a Google Cloud project,

    • and generate your API key.

    • Save this key for later use.

  2. Add Dependency 📦

    • Add the flutter_gemini package to your project by running:
      flutter pub add flutter_gemini
      
  3. Initialize Gemini ⚙️

    • In your main.dart file, initialize the Gemini package with your API key:
      void main() {
        Gemini.init(apiKey: 'YOUR_API_KEY_HERE');
        runApp(const MyApp());
      }
      
  4. Create an Instance and Make Requests 🤖

    • Use the following code to create an instance of flutter_gemini and handle text or image input:
      final _gemini = Gemini.instance;
      _gemini.textAndImage(
        text: 'Your query here',
        images: [imageFile.readAsBytesSync()],
      );
      
  5. Handle Responses 🔍

    • Manage responses from Gemini with attributes such as FinishReason and SafetyRating:
      if (value?.finishReason != 'STOP') {
        setResponse(value?.output ?? "Invalid User Query");
      }
      if (value?.SafetyRating != 'HarmCategory') {
        setResponse(value?.candidates[0].safety_ratings);
      }
      

🚀 Demo

You can see the response from the gemini here: https://www.youtube.com/watch?v=SUzw8YPLYZM

🎉 Benefits

  • Easy Integration: Simplifies adding AI features with clear documentation.
  • Cross-Platform Compatibility: Supports Android, iOS, web, macOS, and Windows from a single codebase.
  • Reduced Time to Market: Speeds up the integration of AI features into your app.

🌟 Conclusion

Integrating Google Gemini into your Flutter app with the flutter_gemini package opens up new possibilities for enhancing user experience. Utilize Gemini's powerful AI capabilities to add multilingual support, process images and audio, and implement advanced chatbot functionality.

📚 References

Feel free to like and share your thoughts in the comments if you found this guide helpful! 👍

Chung Nguyen Thanh GitHub avatar
GitHub author

Chung Nguyen Thanh ↗

Software Engineer | Flutter & Mobile Developer | AOSP & Embedded Android

VNPT TechnologyVietnam
LanguagesDartSwiftRubyKotlinObjective-C

Categories

Dependencies used

Dependency list 14 items

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗