Skip to main content

Evolutionary Local LLM Agent - Self-improving AI assistant

Project description

๐Ÿงฌ ELLMa - Evolutionary Local LLM Agent

Evolutionary Local LLM Agent - Self-improving AI assistant that evolves with your needs

PyPI version Python Support License: MIT Code style: black

๐Ÿš€ What is ELLMa?

ELLMa is a revolutionary self-evolving AI agent that runs locally on your machine. Unlike traditional AI tools, ELLMa learns and improves itself by:

  • ๐Ÿงฌ Self-Evolution: Automatically generates new capabilities based on usage patterns
  • ๐Ÿ  Local-First: Runs entirely on your machine with complete privacy
  • ๐Ÿš Shell-Native: Integrates seamlessly with your system and workflows
  • ๐Ÿ› ๏ธ Multi-Language: Generates code in Python, Bash, Groovy, Docker, and more
  • ๐Ÿ“ฆ Modular: Extensible architecture that grows with your needs

โšก Quick Start

Installation

pip install ellma

First Steps

# Initialize ELLMa
ellma init

# Download Mistral 7B model (optional - will auto-download)
ellma setup --download-model

# Start interactive shell
ellma shell

# Or execute commands directly
ellma exec "system.scan"
ellma exec "web.read https://example.com"

Your First Evolution

# Let ELLMa analyze itself and improve
ellma evolve

๐ŸŽฏ Core Features

๐Ÿงฌ Self-Evolution Engine

ELLMa continuously improves by analyzing its performance and automatically generating new modules:

$ ellma evolve
๐Ÿงฌ Starting evolution process...
๐Ÿ“Š Analyzing current capabilities...
๐ŸŽฏ Identified 3 improvement opportunities:
   โœ… Added: advanced_file_analyzer
   โœ… Added: network_monitoring
   โœ… Added: code_optimizer
๐ŸŽ‰ Evolution complete! 3 new capabilities added.

๐Ÿš Powerful Shell Interface

Natural language commands that translate to system operations:

ellma> system scan network ports
ellma> generate bash script for backup
ellma> analyze this log file for errors
ellma> create docker setup for web app

๐Ÿ› ๏ธ Multi-Language Code Generation

Generate production-ready code in multiple languages:

# Generate Bash scripts
ellma generate bash --task="Monitor system resources and alert on high usage"

# Generate Python code  
ellma generate python --task="Web scraper with rate limiting"

# Generate Docker configurations
ellma generate docker --task="Multi-service web application"

# Generate Groovy for Jenkins
ellma generate groovy --task="CI/CD pipeline with testing stages"

๐Ÿ“Š Intelligent System Integration

ELLMa understands your system and can:

  • Scan and analyze system configurations
  • Monitor processes and resources
  • Automate repetitive tasks
  • Generate custom tools for your workflow

๐Ÿ—๏ธ Architecture

ellma/
โ”œโ”€โ”€ core/                   # Core agent and evolution engine
โ”‚   โ”œโ”€โ”€ agent.py           # Main LLM Agent class
โ”‚   โ”œโ”€โ”€ evolution.py       # Self-improvement system
โ”‚   โ””โ”€โ”€ shell.py           # Interactive shell interface
โ”œโ”€โ”€ commands/               # Modular command system
โ”‚   โ”œโ”€โ”€ system.py          # System operations
โ”‚   โ”œโ”€โ”€ web.py             # Web interactions
โ”‚   โ””โ”€โ”€ files.py           # File operations
โ”œโ”€โ”€ generators/             # Code generation engines
โ”‚   โ”œโ”€โ”€ bash.py            # Bash script generator
โ”‚   โ”œโ”€โ”€ python.py          # Python code generator
โ”‚   โ””โ”€โ”€ docker.py          # Docker configuration generator
โ”œโ”€โ”€ modules/                # Dynamic module system
โ”‚   โ”œโ”€โ”€ registry.py        # Module registry and loader
โ”‚   โ””โ”€โ”€ [auto-generated]/  # Self-created modules
โ””โ”€โ”€ cli/                   # Command-line interface
    โ”œโ”€โ”€ main.py            # Main CLI entry point
    โ””โ”€โ”€ shell.py           # Interactive shell

๐Ÿ“š Usage Examples

System Administration

# Monitor system health
ellma exec "system.health"

# Generate monitoring script
ellma generate bash --task="Check disk space and send alerts"

# Analyze log files
ellma exec "files.analyze /var/log/syslog --pattern=error"

Development Tasks

# Generate project structure
ellma generate python --task="FastAPI project with authentication"

# Create deployment configuration
ellma generate docker --task="Production ready web app with nginx"

# Generate test scripts
ellma generate bash --task="Integration testing for REST API"

Web Automation

# Read and summarize web content
ellma exec "web.read https://news.ycombinator.com --summarize"

# Generate web scraping code
ellma generate python --task="Scrape product prices with retry logic"

๐Ÿ”ง Configuration

ELLMa stores its configuration in ~/.ellma/:

# ~/.ellma/config.yaml
model:
  path: ~/.ellma/models/mistral-7b.gguf
  context_length: 4096
  temperature: 0.7

evolution:
  enabled: true
  auto_improve: true
  learning_rate: 0.1

modules:
  auto_load: true
  custom_path: ~/.ellma/modules

๐Ÿงฌ How Evolution Works

  1. Performance Analysis: ELLMa monitors execution times, success rates, and user feedback
  2. Gap Identification: Identifies missing functionality or optimization opportunities
  3. Code Generation: Uses its LLM to generate new modules and improvements
  4. Testing & Integration: Automatically tests and integrates new capabilities
  5. Continuous Learning: Learns from each interaction to become more useful

๐Ÿš€ Advanced Features

Custom Module Development

# Create custom modules that ELLMa can use and improve
from ellma.core.module import BaseModule

class MyCustomModule(BaseModule):
    def execute(self, *args, **kwargs):
        # Your custom functionality
        return result

API Integration

from ellma import ELLMa

# Use ELLMa programmatically
agent = ELLMa()
result = agent.execute("system.scan")
code = agent.generate("python", task="Data analysis script")

Web Interface (Optional)

# Install web dependencies
pip install ellma[web]

# Start web interface
ellma web --port 8000

๐Ÿ›ฃ๏ธ Roadmap

Version 0.1.0 - MVP โœ…

  • Core agent with Mistral 7B
  • Basic command system
  • Shell interface
  • Evolution foundation

Version 0.2.0 - Enhanced Shell

  • Advanced command completion
  • Command history and favorites
  • Real-time performance monitoring
  • Module hot-reloading

Version 0.3.0 - Code Generation

  • Multi-language code generators
  • Template system
  • Code quality analysis
  • Integration testing

Version 0.4.0 - Advanced Evolution

  • Performance-based learning
  • User feedback integration
  • Predictive capability development
  • Module marketplace

Version 1.0.0 - Autonomous Agent

  • Full self-management
  • Advanced reasoning capabilities
  • Multi-agent coordination
  • Enterprise features

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

# Clone repository
git clone https://github.com/ellma-ai/ellma.git
cd ellma

# Install in development mode
pip install -e .[dev]

# Run tests
pytest

# Run linting
black ellma/
flake8 ellma/

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • Built on top of llama-cpp-python
  • Inspired by the vision of autonomous AI agents
  • Powered by the amazing Mistral 7B model

๐Ÿ“ž Support


ELLMa: The AI agent that grows with you ๐ŸŒฑโ†’๐ŸŒณ

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ellma-0.1.6.tar.gz (41.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ellma-0.1.6-py3-none-any.whl (45.6 kB view details)

Uploaded Python 3

File details

Details for the file ellma-0.1.6.tar.gz.

File metadata

  • Download URL: ellma-0.1.6.tar.gz
  • Upload date:
  • Size: 41.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.4 Linux/6.14.9-300.fc42.x86_64

File hashes

Hashes for ellma-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f7ac4b015e0f7923a4a779923111d5ab7a84f1e88277eb4dc5ebd51f168411a9
MD5 e8b31b227f8091f5b3d0b0ac863e0f37
BLAKE2b-256 06d76094ac2c9303715d7834a24d2e1678b1ce93f9d1d02748aacdb1a871def7

See more details on using hashes here.

File details

Details for the file ellma-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: ellma-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 45.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.4 Linux/6.14.9-300.fc42.x86_64

File hashes

Hashes for ellma-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bd5cbf29ab51c0e0b1ab617eb444459c2b8b71cb4152c52b714f73872f59cb73
MD5 35502a251d7ce717f30c04009b6ef4ed
BLAKE2b-256 4394fbaa54defa0da837ea638ead7c84413ca035ea4521f98e6f764536ae2aa2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page