Skip to content

CodeBySubin/Ai-Chatbot

Repository files navigation

Nemo - AI-Powered Conversational Assistant

πŸ“Œ Overview

Nemo is a Flutter application that integrates Google Gemini AI, Speech-to-Text, and Text-to-Speech (TTS) to provide a seamless conversational experience. This app allows users to communicate with an AI assistant via text and voice input, receive responses with voice output, and store chat history using Hive.

πŸš€ Features

  • AI-Powered Conversations - Uses Google's Gemini AI for generating responses.
  • Speech-to-Text (STT) - Converts voice input into text using the speech_to_text package.
  • Text-to-Speech (TTS) - Reads responses aloud with adjustable speech rate, pitch, and volume.
  • Chat History Persistence - Stores chat history using Hive database.
  • Toggle Voice Response - Option to enable or disable AI voice responses.
  • Scroll to Latest Message - Automatically scrolls down to show the latest message.

πŸ“Έ Screenshots

Web

App

πŸ› οΏ½οΏ½ Tech Stack

  • Flutter (Cross-platform mobile development)
  • Google Gemini AI (Natural language processing)
  • Hive (Local database for storing chat history)
  • GetX (State management)
  • Speech-to-Text API (Voice input processing)
  • Flutter TTS (Voice output for AI responses)

πŸ”§ Installation

  1. Clone the Repository
    git clone https://github.com/CodeBySubin/Ai-Chatbot
    cd Nemo
  2. Install Dependencies
    flutter pub get
  3. Run the App
    flutter run

πŸ“ Usage

  1. Type or Speak - Enter text in the chatbox or use the microphone for voice input.
  2. AI Response - The chatbot processes the input and responds in text & voice.
  3. View History - Previous messages are saved using Hive and can be accessed anytime.
  4. Toggle Voice - Enable or disable AI voice output using the toggle button.

πŸ”‘ API Configuration

  • Replace your Google Gemini API Key in ChatController:
    model = GenerativeModel(
       model: 'gemini-pro',
       apiKey: "YOUR_GOOGLE_API_KEY",
    );

πŸ“‚ Project Structure

β”œβ”€β”€ lib
β”‚   β”œβ”€β”€ controllers
β”‚   β”‚   β”œβ”€β”€ chat_controller.dart
β”‚   β”œβ”€β”€ models
β”‚   β”‚   β”œβ”€β”€ chat_model.dart
β”‚   β”œβ”€β”€ utils
β”‚   β”‚   β”œβ”€β”€ utils.dart
β”‚   β”œβ”€β”€ views
β”‚   β”‚   β”œβ”€β”€ chat_screen.dart
β”‚   β”œβ”€β”€ main.dart
β”‚   β”œβ”€β”€ pubspec.yaml

πŸ› οΈ Dependencies

dependencies:
  flutter:
    sdk: flutter
  google_generative_ai: ^latest_version
  speech_to_text: ^latest_version
  flutter_tts: ^latest_version
  get: ^latest_version
  hive: ^latest_version
  hive_flutter: ^latest_version

🌐 Try the Web App

πŸ”— Live Demo

πŸ“© Contact

For any queries or suggestions, feel free to reach out: πŸ“§ Email: subin.c.mail@gmail.com

Releases

No releases published

Packages

 
 
 

Contributors