Skip to content

open source assistant hybrid using small models (2b - 5b) and gemini , with image and agentic tool capabilities and integration of RAG with effiecient memory. android support using adb

Notifications You must be signed in to change notification settings

ganeshnikhil/J.A.R.V.I.S.2.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ JARVIS 2.0


J.A.R.V.I.S. 2.0 โ€“ Judgment Augmented Reasoning for Virtual Intelligent Systems

๐Ÿค– Jarvis AI Assistant

Welcome to the Jarvis AI Assistant project! ๐ŸŽ™๏ธ This AI-powered assistant can perform various tasks such as providing weather reports ๐ŸŒฆ๏ธ, summarizing news ๐Ÿ“ฐ, sending emails ๐Ÿ“ง , CAG , and more, all through voice commands. Below, you'll find detailed instructions on how to set up, use, and interact with this assistant. ๐ŸŽง


๐ŸŒŸ Features

โœ… Voice Activation: activate listening mode. ๐ŸŽค
โœ… Speech Recognition: Recognizes and processes user commands via speech input. ๐Ÿ—ฃ๏ธ
โœ… AI Responses: Provides responses using AI-generated text-to-speech output. ๐ŸŽถ
โœ… Task Execution: Handles multiple tasks, including:

  • ๐Ÿ“ง Sending emails

  • ๐ŸŒฆ๏ธ Summarizing weather reports

  • ๐Ÿ“Š Data Analysis using csv*

  • ๐Ÿง‘๐Ÿปโ€๐Ÿ’ป Pesonalize chat

  • ๐Ÿ“ฐ Reading news headlines

  • ๐Ÿ–ผ๏ธ Image generation

  • ๐Ÿฆ Database functions

  • ๐Ÿ“ฑ Phone call automation using ADB

  • ๐Ÿค– AI-based task execution

  • ๐Ÿ“ก Automate websites & applications

  • ๐Ÿž๏ธ Image processing Using gemini

    Image Source: Upload URL Camera

    Select Action: Basic Detection Object Detection Segmentation Resize

  • ๐Ÿง  Retrieval-Augmented Generation (RAG) for knowledge-based interactions on various topics

  • โœ… Timeout Handling: Automatically deactivates listening mode after 5 minutes of inactivity. โณ

  • โœ… Automatic Input Processing: If no "stop" command is detected within 60 seconds, input is finalized and sent to the AI model for processing. โš™๏ธ

  • โœ… Multiple Function Calls: Call multiple functions simultaneously, even if their inputs and outputs are unrelated. ๐Ÿ”„


๐Ÿ“Œ Prerequisites

Before running the project, ensure you have the following installed:

โœ… Python 3.9 or later ๐Ÿ
โœ… Required libraries (listed in requirements.txt) ๐Ÿ“œ

๐Ÿ› ๏ธ Configuration

  1. Create a .env file in the root directory of the project.

  2. Add your API keys and other configuration variables to the .env file:

  author_name="[email protected]"
  weather_link="https://rapidapi.com/weatherapi/api/weatherapi-com"
  news_link="https://newsapi.org"
  name="ganeshnikhil"
  Rag_model="granite3.1-dense:2b"
  Chat_model="granite3.1-dense:2b"
  Function_call_model="gemma3:4b"
  Text_to_info_model="gemma3:4b"
  Image_to_text="llava:7b"
  Embedding_model="nomic-embed-text"
  genai_key=""
  Sender_email="[email protected]"
  Receiver_email=""
  Password_email=""
  Weather_api=""
  News_api=""
  Country="in"
  DEVICE_IP=""
  CSV_PATH="./DATA/business-employment-data-dec-2024-quarter.csv"
  UI="on"
  Yt_path="./DATA/youtube_video/"

2 . Install system requriements

bash ./intialize.sh

  1. Setup API Keys & Passwords :

Model Details

Gemma for intellignet routing image and simple question answers.

  Model
    architecture        gemma3    
    parameters          4.3B      
    context length      8192      
    embedding length    2560      
    quantization        Q4_K_M    

  Parameters
    stop           "<end_of_turn>"    
    temperature    0.1                

  License
    Gemma Terms of Use                  
    Last modified: February 21, 2024

grantie dense has large context window ,for rag and chat.

  Model
    architecture        granite    
    parameters          2.5B       
    context length      131072     
    embedding length    2048       
    quantization        Q4_K_M     

  System
    Knowledge Cutoff Date: April 2024.    
    You are Granite, developed by IBM.    

  License
    Apache License               
    Version 2.0, January 2004

gemini free teir for as fallback mechanism . (only for tool calling)

gemini-2.0-flash
   Audio, images, videos, and text	Text, images (experimental), and audio (coming soon)	Next generation features, speed, thinking, realtime streaming, and     multimodal generation
gemini-2.0-flash-lite
   Audio, images, videos, and text	Text	A Gemini 2.0 Flash model optimized for cost efficiency and low latency
gemini-2.0-pro-exp-02-05
   Audio, images, videos, and text	Text	Our most powerful Gemini 2.0 model
gemini-1.5-flash
   Audio, images, videos, and text	Text	Fast and versatile performance across a diverse variety of tasks

JARVIS Screenshot

alt text

๐Ÿ’ป Installation

1๏ธโƒฃ Clone the Repository

 git clone https://github.com/ganeshnikhil/J.A.R.V.I.S.2.0.git
 cd J.A.R.V.I.S.2.0

2๏ธโƒฃ Install Dependencies

 pip install -r requirements.txt

๐Ÿš€ Running the Application

Start the Program

 streamlit run ui.py

๐Ÿ”„ Function Calling Methods

๐Ÿ”น Primary: Gemini AI-Based Function Execution

๐Ÿš€ Transitioned to Gemini AI-powered function calling, allowing multiple function calls simultaneously for better efficiency! โš™๏ธ If Gemini AI fails to generate function calls, the system automatically falls back to an Ollama-based model for reliable execution.ย 

๐Ÿ”น AI Model Used: Gemini AI ๐Ÿง 
โœ… Higher accuracy โœ… Structured data processing โœ… Reliable AI-driven interactions

๐Ÿ“– RAG-Based Knowledge System

๐Ÿ’ก Retrieval-Augmented Generation (RAG) dynamically loads relevant markdown-based knowledge files based on the queried topic, reducing hallucinations and improving response accuracy.


๐Ÿ“ฑ ADB Integration for Phone Automation

๐Ÿ”น Integrated Android Debug Bridge (ADB) to enable voice-controlled phone automation! ๐ŸŽ™๏ธ

โœ… Make phone calls โ˜Ž๏ธ
โœ… Open apps & toggle settings ๐Ÿ“ฒ
โœ… Access phone data & remote operations ๐Ÿ› ๏ธ

Setting Up ADB

๐Ÿ“Œ Windows

winget install --id=Google.AndroidSDKPlatformTools -e

๐Ÿ“Œ Linux

sudo apt install adb

๐Ÿ“Œ Mac

brew install android-platform-tools

๐Ÿ”ฎ Future Enhancements

โœจ Deeper mobile integration ๐Ÿ“ฑ
โœจ Advanced AI-driven automation ๐Ÿค–
โœจ Improved NLP-based command execution ๐Ÿง 
โœจ Multi-modal interactions (text + voice + image) ๐Ÿ–ผ๏ธ

๐Ÿš€ Stay tuned for future updates! ๐Ÿ”ฅ

## Gemini Model Comparison

The following table provides a comparison of various Gemini models with respect to their rate limits:

| Model                                      | RPM  |    TPM    |  RPD  |
|-------------------------------------       |-----:|----------:| -----:|
| **Gemini 2.0 Flash**                       |  15  | 1,000,000 | 1,500 |
| **Gemini 2.0 Flash-Lite Preview**          |  30  | 1,000,000 | 1,500 |
| **Gemini 2.0 Pro Experimental 02-05**      |   2  | 1,000,000 |   50  |
| **Gemini 2.0 Flash Thinking Experimental** |  10  | 4,000,000 | 1,500 |
| **Gemini 1.5 Flash**                       |  15  | 1,000,000 | 1,500 |
| **Gemini 1.5 Flash-8B**                    |  15  | 1,000,000 | 1,500 |
| **Gemini 1.5 Pro**                         |   2  |   32,000  |   50  |
| **Imagen 3**                               |  --  |    --     |  --   |

Explanation:

  • RPM: Requests per minute
  • TPM: Tokens per minute
  • RPD: Requests per day
The focus of project is mostly on using small model and free (api)  models , get accurate agentic behaviours , to run these on low spec systems to.

About

open source assistant hybrid using small models (2b - 5b) and gemini , with image and agentic tool capabilities and integration of RAG with effiecient memory. android support using adb

Topics

Resources

Stars

Watchers

Forks