JARVIS-MARK5 is an advanced AI-powered assistant designed to combine multiple modules and functionalities for a comprehensive and versatile user experience. Inspired by Iron Man's JARVIS, this AI assistant integrates powerful tools such as GPT-4, Groq, and other LLMs, with features spanning automation, intelligent search, and multi-modal interactions. JARVIS-MARK5 is built with scalability in mind and can be extended and customized easily, making it ideal for developers, researchers, and enthusiasts who want to push the boundaries of AI-driven assistants.
- Features
- Installation
- Configuration
- Usage
- Modules
- Extending JARVIS-MARK5
- Advanced Features
- Performance Optimization
- Security Considerations
- Troubleshooting
- Contributing
- Roadmap
- FAQ
- License
- Acknowledgements
JARVIS-MARK5 offers a wide range of features:
- AI-powered Search Engine: The Perplexica module, integrated with GPT-4 and Groq, for intelligent and context-aware information retrieval.
- Automated PowerPoint Generator: Generates presentations based on natural language input.
- GitHub Integration: Seamless integration for interacting with GitHub repositories (cloning, creating, committing, etc.).
- Multi-modal Interactions: Supports text, speech, and image-based interactions.
- Extensible Architecture: Easily add new modules or modify existing ones to suit your needs.
- Natural Language Processing (NLP): Advanced capabilities to understand and process complex user queries.
- Real-time Data Analysis & Visualization: Analyze data and generate real-time insights and visual representations.
- Customizable UI: Personalize the user interface to suit individual preferences and workflows.
- Voice Recognition and Text-to-Speech: Switch between voice and text input/output seamlessly.
- Cross-platform Compatibility: Runs on Windows, macOS, and Linux.
- IoT and API Integration: Integrate with third-party APIs and smart devices.
- Enhanced Classification Algorithm: More sophisticated logic for classification tasks.
- Optimized Tools: Improved performance and efficiency of existing tools.
- New Features: Additional functionalities to enhance user experience.
To install JARVIS-MARK5, follow these steps:
-
Ensure Python 3.8+ is installed: Make sure that you have the correct version of Python installed by running:
python --version
-
Clone the repository:
git clone https://github.com/Likhithsai2580/JARVIS-MARK5.git cd JARVIS-MARK5
-
Create and activate a virtual environment: On Linux/macOS:
python -m venv venv source venv/bin/activate
On Windows:
python -m venv venv venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Configure settings: Set up your configuration files as described in the Configuration section below.
-
(Optional) Install additional features: To install extra dependencies for specific modules, run:
pip install -r requirements-extra.txt
The core configuration file for JARVIS-MARK5 is config.json
, located in the config
directory. This file contains basic settings and can be customized based on your requirements.
Here is an example config.json
structure:
{
"OCR_LINK": "http://your-ocr-service.com/api",
"GROQ_API": "YOUR_GROQ_API_KEY"
}
Update the OCR_LINK
with the appropriate OCR service and provide your Groq API key.
Many of JARVIS-MARK5’s functionalities require API keys, such as for OpenAI and Groq. Ensure that you have signed up for these services and obtained API keys. You will then need to include them in the respective configuration files, as described in the section for each module.
The Perplexica module is the AI-powered search engine within JARVIS-MARK5. To configure Perplexica:
- Rename
sample.config.toml
toconfig.toml
inbackend/AI/Perplexica
. - Edit the file to include your API keys and preferences:
[GENERAL]
PORT = 8888
SIMILARITY_MEASURE = "cosine"
[API_KEYS]
OPENAI = "your_openai_api_key"
GROQ = "your_groq_api_key"
ANTHROPIC = "your_anthropic_api_key"
[API_ENDPOINTS]
SEARXNG = "http://localhost:8080"
OLLAMA = "http://localhost:11434"
JARVIS-MARK5 uses PostgreSQL to store conversation history and other data persistently.
-
Install PostgreSQL: Make sure PostgreSQL is installed and running.
-
Create a database:
createdb memory_agent
-
Set up credentials:
- Username:
admin
- Password:
admin
Adjust the database credentials in the
DB_PARAMS
inbackend/modules/llms.py
or set the environment variables:DB_NAME
DB_USER
DB_PASSWORD
DB_HOST
DB_PORT
- Username:
Once everything is installed and configured, you can start JARVIS-MARK5 by running the following command:
python jarvis.py
- Search:
Search for [query]
- Generate PowerPoint:
Create a presentation about [topic]
- GitHub Command:
Clone repository [repo_name]
orCreate repository named [name]
- Voice Input/Output:
Enable voice input
orDisable voice input
Each module in JARVIS-MARK5 has its own set of commands. For example, to use the Perplexica search engine, you can simply input a natural language query, and the module will return relevant results.
The Perplexica module acts as an intelligent search engine that uses embeddings and similarity measures to retrieve relevant information.
- Key Features:
- Semantic search using transformer-based embeddings.
- Multiple search backend integration (SearxNG, Ollama, etc.).
- Customizable ranking algorithms.
For more details, see the Perplexica README.
This module allows users to generate entire PowerPoint presentations from a simple prompt.
- Key Features:
- Automatic slide generation with customizable templates.
- Integration with image generation APIs for slide visuals.
With built-in GitHub integration, JARVIS-MARK5 allows you to manage your repositories directly from the interface.
- Key Features:
- Clone, create, and manage repositories.
- Retrieve commits and issues.
- Push and pull changes seamlessly.
For configuration details, check the GitHub integration guide.
JARVIS-MARK5 supports multiple forms of input and output, allowing users to interact with it through:
- Text-based queries and responses.
- Voice-based interactions.
- Image analysis and generation.
You can configure or switch between these modalities in the config.json
file.
To install an existing extension:
- Navigate to the
extensions
directory. - Clone the desired extension repository.
- Install its dependencies.
- Add the extension to the
config.json
file.
If you want to build your own extension, follow these steps:
- Create a new directory for your extension.
- Define your extension in the
__init__.py
file. - Include the necessary configuration in
config.json
. - Document your extension’s API endpoints (if applicable).
For a detailed tutorial, see the Extensions Developer Guide.
JARVIS-MARK5 incorporates advanced NLU to accurately interpret user commands and questions. The NLP pipeline leverages pre-trained models from GPT-4 and other LLMs.
Leverage JARVIS-MARK5's data analysis capabilities to analyze and visualize real-time data, powered by Python libraries such as Pandas, NumPy, and Matplotlib.
Automate repetitive tasks, such as setting reminders, managing calendars, or generating reports, using JARVIS-MARK5’s task scheduling system.
To improve performance, consider:
- Using GPU acceleration for AI-based tasks.
- Caching frequently used data.
- Limiting unnecessary API calls by fine-tuning request frequency.
Ensure security by:
- Securing your API keys in environment variables.
- Enabling SSL for all external API calls.
- Limiting access to sensitive data via authentication mechanisms.
If you encounter issues, consult the Troubleshooting Guide, which covers common problems and solutions such as:
- API errors
- Missing dependencies
- Database connection issues
Follow PEP-8 guidelines for Python code. Make sure to lint your code before committing.
Run tests using pytest
. Include unit tests for any new modules or features.
Future plans for JARVIS-MARK5 include:
- Mobile App Integration
- Enhanced Multi-modal Interaction
- Support for additional LLMs
- IoT device automation
- Can I use JARVIS-MARK5 offline?
Yes, certain functionalities can work offline, but most AI-driven modules require an internet connection.
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to all contributors and developers who helped build and improve JARVIS-MARK5.