{"id":20497528,"url":"https://github.com/likhithsai2580/jarvis-mark5","last_synced_at":"2025-04-13T18:41:20.475Z","repository":{"id":254215575,"uuid":"844085097","full_name":"Likhithsai2580/JARVIS-MARK5","owner":"Likhithsai2580","description":"JARVIS - A ASSISTANT WHICH IS NEEDED FOR EVERYONE","archived":false,"fork":false,"pushed_at":"2025-01-11T18:46:16.000Z","size":67179,"stargazers_count":25,"open_issues_count":1,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T09:22:13.511Z","etag":null,"topics":["ai","assistant","excel","extensions","friday","grok","image-analysis","image-generation","jarvis","jarvis-ai","jarvis-assistant","pdf","powerpoin","tony-stark","video-processing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Likhithsai2580.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["Likhithsai2580"],"patreon":"anony45","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2024-08-18T10:40:26.000Z","updated_at":"2025-03-27T00:20:56.000Z","dependencies_parsed_at":"2024-08-22T04:30:22.490Z","dependency_job_id":"cadb86f0-75c3-4fbd-b169-f8afcd082cad","html_url":"https://github.com/Likhithsai2580/JARVIS-MARK5","commit_stats":null,"previous_names":["likhithsai2580/jarvis-mark5"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Likhithsai2580%2FJARVIS-MARK5","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Likhithsai2580%2FJARVIS-MARK5/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Likhithsai2580%2FJARVIS-MARK5/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Likhithsai2580%2FJARVIS-MARK5/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Likhithsai2580","download_url":"https://codeload.github.com/Likhithsai2580/JARVIS-MARK5/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248764376,"owners_count":21158074,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","assistant","excel","extensions","friday","grok","image-analysis","image-generation","jarvis","jarvis-ai","jarvis-assistant","pdf","powerpoin","tony-stark","video-processing"],"created_at":"2024-11-15T18:11:21.349Z","updated_at":"2025-04-13T18:41:20.457Z","avatar_url":"https://github.com/Likhithsai2580.png","language":"Python","funding_links":["https://github.com/sponsors/Likhithsai2580","https://patreon.com/anony45"],"categories":[],"sub_categories":[],"readme":"# JARVIS-MARK5\n\nJARVIS-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.\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Configuration](#configuration)\n  - [Main Configuration](#main-configuration)\n  - [API Keys](#api-keys)\n  - [Perplexica Configuration](#perplexica-configuration)\n  - [Database Configuration](#database-configuration)\n- [Usage](#usage)\n  - [Basic Commands](#basic-commands)\n  - [Module Commands](#module-commands)\n- [Modules](#modules)\n  - [Perplexica](#perplexica)\n  - [PowerPoint Generator](#powerpoint-generator)\n  - [GitHub Integration](#github-integration)\n  - [Multi-modal Interactions](#multi-modal-interactions)\n- [Extending JARVIS-MARK5](#extending-jarvis-mark5)\n  - [Adding Existing Extensions](#adding-existing-extensions)\n  - [Developing New Extensions](#developing-new-extensions)\n- [Advanced Features](#advanced-features)\n  - [Natural Language Understanding](#natural-language-understanding)\n  - [Real-time Data Analysis](#real-time-data-analysis)\n  - [Task Automation](#task-automation)\n- [Performance Optimization](#performance-optimization)\n- [Security Considerations](#security-considerations)\n- [Troubleshooting](#troubleshooting)\n- [Contributing](#contributing)\n  - [Code Style](#code-style)\n  - [Testing](#testing)\n- [Roadmap](#roadmap)\n- [FAQ](#frequently-asked-questions)\n- [License](#license)\n- [Acknowledgements](#acknowledgements)\n\n---\n\n## Features\n\nJARVIS-MARK5 offers a wide range of features:\n\n- **AI-powered Search Engine**: The Perplexica module, integrated with GPT-4 and Groq, for intelligent and context-aware information retrieval.\n- **Automated PowerPoint Generator**: Generates presentations based on natural language input.\n- **GitHub Integration**: Seamless integration for interacting with GitHub repositories (cloning, creating, committing, etc.).\n- **Multi-modal Interactions**: Supports text, speech, and image-based interactions.\n- **Extensible Architecture**: Easily add new modules or modify existing ones to suit your needs.\n- **Natural Language Processing (NLP)**: Advanced capabilities to understand and process complex user queries.\n- **Real-time Data Analysis \u0026 Visualization**: Analyze data and generate real-time insights and visual representations.\n- **Customizable UI**: Personalize the user interface to suit individual preferences and workflows.\n- **Voice Recognition and Text-to-Speech**: Switch between voice and text input/output seamlessly.\n- **Cross-platform Compatibility**: Runs on Windows, macOS, and Linux.\n- **IoT and API Integration**: Integrate with third-party APIs and smart devices.\n- **Enhanced Classification Algorithm**: More sophisticated logic for classification tasks.\n- **Optimized Tools**: Improved performance and efficiency of existing tools.\n- **New Features**: Additional functionalities to enhance user experience.\n\n## Installation\n\nTo install JARVIS-MARK5, follow these steps:\n\n1. **Ensure Python 3.8+ is installed**:\n   Make sure that you have the correct version of Python installed by running:\n   ```bash\n   python --version\n   ```\n\n2. **Clone the repository**:\n   ```bash\n   git clone https://github.com/Likhithsai2580/JARVIS-MARK5.git\n   cd JARVIS-MARK5\n   ```\n\n3. **Create and activate a virtual environment**:\n   On Linux/macOS:\n   ```bash\n   python -m venv venv\n   source venv/bin/activate\n   ```\n   On Windows:\n   ```bash\n   python -m venv venv\n   venv\\Scripts\\activate\n   ```\n\n4. **Install dependencies**:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n5. **Configure settings**: Set up your configuration files as described in the [Configuration](#configuration) section below.\n\n6. **(Optional) Install additional features**:\n   To install extra dependencies for specific modules, run:\n   ```bash\n   pip install -r requirements-extra.txt\n   ```\n\n---\n\n## Configuration\n\n### Main Configuration\n\nThe 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.\n\nHere is an example `config.json` structure:\n```json\n{\n    \"OCR_LINK\": \"http://your-ocr-service.com/api\",\n    \"GROQ_API\": \"YOUR_GROQ_API_KEY\"\n}\n```\n\nUpdate the `OCR_LINK` with the appropriate OCR service and provide your Groq API key.\n\n### API Keys\n\nMany 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.\n\n### Perplexica Configuration\n\nThe Perplexica module is the AI-powered search engine within JARVIS-MARK5. To configure Perplexica:\n\n1. Rename `sample.config.toml` to `config.toml` in `backend/AI/Perplexica`.\n2. Edit the file to include your API keys and preferences:\n\n```toml\n[GENERAL]\nPORT = 8888\nSIMILARITY_MEASURE = \"cosine\"\n\n[API_KEYS]\nOPENAI = \"your_openai_api_key\"\nGROQ = \"your_groq_api_key\"\nANTHROPIC = \"your_anthropic_api_key\"\n\n[API_ENDPOINTS]\nSEARXNG = \"http://localhost:8080\"\nOLLAMA = \"http://localhost:11434\"\n```\n\n### Database Configuration\n\nJARVIS-MARK5 uses PostgreSQL to store conversation history and other data persistently. \n\n#### PostgreSQL Setup\n\n1. **Install PostgreSQL**: Make sure PostgreSQL is installed and running.\n2. **Create a database**: \n   ```bash\n   createdb memory_agent\n   ```\n3. **Set up credentials**:\n   - Username: `admin`\n   - Password: `admin`\n   \n   Adjust the database credentials in the `DB_PARAMS` in `backend/modules/llms.py` or set the environment variables:\n   - `DB_NAME`\n   - `DB_USER`\n   - `DB_PASSWORD`\n   - `DB_HOST`\n   - `DB_PORT`\n\n---\n\n## Usage\n\nOnce everything is installed and configured, you can start JARVIS-MARK5 by running the following command:\n\n```bash\npython jarvis.py\n```\n\n### Basic Commands\n\n- **Search**: `Search for [query]`\n- **Generate PowerPoint**: `Create a presentation about [topic]`\n- **GitHub Command**: `Clone repository [repo_name]` or `Create repository named [name]`\n- **Voice Input/Output**: `Enable voice input` or `Disable voice input`\n\n### Module Commands\n\nEach 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.\n\n---\n\n## Modules\n\n### Perplexica\n\nThe **Perplexica** module acts as an intelligent search engine that uses embeddings and similarity measures to retrieve relevant information.\n\n- **Key Features**:\n  - Semantic search using transformer-based embeddings.\n  - Multiple search backend integration (SearxNG, Ollama, etc.).\n  - Customizable ranking algorithms.\n\nFor more details, see the [Perplexica README](backend/AI/Perplexica/README.md).\n\n### PowerPoint Generator\n\nThis module allows users to generate entire PowerPoint presentations from a simple prompt.\n\n- **Key Features**:\n  - Automatic slide generation with customizable templates.\n  - Integration with image generation APIs for slide visuals.\n\n### GitHub Integration\n\nWith built-in GitHub integration, JARVIS-MARK5 allows you to manage your repositories directly from the interface.\n\n- **Key Features**:\n  - Clone, create, and manage repositories.\n  - Retrieve commits and issues.\n  - Push and pull changes seamlessly.\n\nFor configuration details, check the [GitHub integration guide](extensions/config_all.json).\n\n### Multi-modal Interactions\n\nJARVIS-MARK5 supports multiple forms of input and output, allowing users to interact with it through:\n- **Text-based** queries and responses.\n- **Voice-based** interactions.\n- **Image analysis** and generation.\n\nYou can configure or switch between these modalities in the `config.json` file.\n\n---\n\n## Extending JARVIS-MARK5\n\n### Adding Existing Extensions\n\nTo install an existing extension:\n\n1. Navigate to the `extensions` directory.\n2. Clone the desired extension repository.\n3. Install its dependencies.\n4. Add the extension to the `config.json` file.\n\n### Developing New Extensions\n\nIf you want to build your own extension, follow these steps:\n1. Create a new directory for your extension.\n2. Define your extension in the `__init__.py` file.\n3. Include the necessary configuration in `config.json`.\n4. Document your extension’s API endpoints (if applicable).\n\nFor a detailed tutorial, see the [Extensions Developer Guide](docs/extensions_guide.md).\n\n---\n\n## Advanced Features\n\n### Natural Language Understanding\n\nJARVIS-MARK5 incorporates advanced NLU to accurately interpret user commands and questions. The NLP pipeline leverages pre-trained models from GPT-4 and other LLMs.\n\n### Real-time Data Analysis\n\nLeverage JARVIS-MARK5's data analysis capabilities to analyze and visualize real-time data, powered by Python libraries such as Pandas, NumPy, and Matplotlib.\n\n### Task Automation\n\nAutomate repetitive tasks, such as setting reminders, managing calendars, or generating reports, using JARVIS-MARK5’s task scheduling system.\n\n---\n\n## Performance Optimization\n\nTo improve performance, consider:\n\n- Using GPU acceleration for AI-based tasks.\n- Caching frequently used data.\n- Limiting unnecessary API calls by fine-tuning request frequency.\n\n---\n\n## Security Considerations\n\nEnsure security by:\n\n- Securing your API keys in environment variables.\n- Enabling SSL for all external API calls.\n- Limiting access to sensitive data via authentication mechanisms.\n\n---\n\n## Troubleshooting\n\nIf you encounter issues, consult the [Troubleshooting Guide](docs/troubleshooting.md), which covers common problems and solutions such as:\n\n- **API errors**\n- **Missing dependencies**\n- **Database connection issues**\n\n---\n\n## Contributing\n\n### Code Style\n\nFollow PEP-8 guidelines for Python code. Make sure to lint your code before committing.\n\n### Testing\n\nRun tests using `pytest`. Include unit tests for any new modules or features.\n\n---\n\n## Roadmap\n\nFuture plans for JARVIS-MARK5 include:\n\n- **Mobile App Integration**\n- **Enhanced Multi-modal Interaction**\n- **Support for additional LLMs**\n- **IoT device automation**\n\n---\n\n## Frequently Asked Questions\n\n1. **Can I use JARVIS-MARK5 offline?**  \n   Yes, certain functionalities can work offline, but most AI-driven modules require an internet connection.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details.\n\n---\n\n## Acknowledgements\n\nSpecial thanks to all contributors and developers who helped build and improve JARVIS-MARK5.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flikhithsai2580%2Fjarvis-mark5","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flikhithsai2580%2Fjarvis-mark5","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flikhithsai2580%2Fjarvis-mark5/lists"}