Skip to content

Fortr4n/LAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

13 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Large Action Model (LAM) - A Transparent Exploration

Because Let's Be Honest, this is what Rabbit should've made

This repository explores the true potential of Large Action Models (LAMs), unlike the recent... well, let's just say the Rabbit R1 wasn't exactly hopping mad with functionality.

๐Ÿš€ What a Real LAM Could Do (Besides Look Cute on Your Counter)

Imagine a LAM that's less like a glorified Alexa in a bunny suit and more like your personal robot butler. We're talking:

  • ๐Ÿ• Actually getting you food - Real DoorDash integration
  • ๐Ÿš— Actually getting you a ride - Real Uber integration
  • ๐Ÿจ Actually booking your travel - Real Expedia integration
  • ๐Ÿ’ฐ Actually managing your finances - Real Plaid integration
  • ๐Ÿง  Actually understanding context - Advanced AI with emotion recognition
  • ๐Ÿ”’ Actually protecting your privacy - Homomorphic encryption for tasks

But if I'm being honest, LAM should actually be called ALLM or LLM-A for Actionable LLM because that's essentially what it is - at least it's what's being presented/discovered.

๐Ÿฐ The Rabbit R1 - More Hype Than Hop

The R1 sparked a lot of discussion, but some might say it was more like a baby bunny learning to walk โ€“ a bit wobbly and unsure of itself. Here's why the R1 might not be the LAM champion:

  • Limited Action Moves: More like a "Slightly More Animated Paperweight" Model
  • Privacy Concerns: Is the R1 phoning home a little too much? Maybe it just misses its cardboard box origins
  • Too Ambitious: While the tests yielded interesting findings, for something mass market, trying to get around captcha shouldn't be an afterthought

๐ŸŽฏ So Why This Repository?

  • To dream about what LAMs can truly do
  • To champion responsible AI development โ€“ because with great power comes great responsibility, even for bunnies
  • To (hopefully) temper some expectations regarding these AI hardware assistants
  • To provide a working example of what's possible with current technology

๐Ÿ—๏ธ Architecture Overview

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   Main Entry   โ”‚    โ”‚   Agent Layer   โ”‚    โ”‚   Core LAM      โ”‚
โ”‚   (main.py)    โ”‚โ”€โ”€โ”€โ–ถโ”‚   (agent.py)    โ”‚โ”€โ”€โ”€โ–ถโ”‚   (LAM.py)      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                                โ”‚                       โ”‚
                                โ–ผ                       โ–ผ
                       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                       โ”‚   API Layer     โ”‚    โ”‚   AI Models     โ”‚
                       โ”‚   (DoorDash,    โ”‚    โ”‚   (BLOOMZ,      โ”‚
                       โ”‚    Uber, etc.)  โ”‚    โ”‚    Whisper,     โ”‚
                       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚    EmoRoBERTa)  โ”‚
                                              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Features

๐Ÿค– Core AI Capabilities

  • Language Generation: BLOOMZ model for intelligent responses
  • Speech Recognition: Whisper model for audio transcription
  • Emotion Recognition: EmoRoBERTa for sentiment analysis
  • Text-to-Speech: Natural voice output
  • Neural Networks: BindsNET with Izhikevich neurons

๐Ÿ“‹ Task Management

  • Priority-based scheduling with intelligent urgency detection
  • Dependency tracking for complex workflows
  • Encrypted storage using homomorphic encryption
  • Smart reminders with time-based notifications
  • Context awareness for location and time-based decisions

๐Ÿ”Œ Real-World Actions

  • Food Delivery: DoorDash API integration
  • Transportation: Uber API for ride services
  • Travel Planning: Expedia API for hotels
  • Financial Services: Plaid API for banking

๐Ÿ”’ Security & Privacy

  • Homomorphic Encryption: Tasks encrypted at rest
  • Secure API Handling: Environment-based configuration
  • Privacy-First Design: Local processing where possible

๐Ÿ“ฆ Installation

Prerequisites

  • Python 3.8+
  • GPU with DirectML support (Windows) or CUDA (Linux/Mac)
  • Microphone and speakers for audio features

Quick Start

# Clone the repository
git clone https://github.com/yourusername/LAM.git
cd LAM

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp env.example .env
# Edit .env with your API keys

# Run the demo
python main.py

# Or use the interactive CLI
python cli.py

Environment Setup

Create a .env file with your API keys:

DOORDASH_API_KEY=your_key_here
UBER_API_KEY=your_key_here
EXPEDIA_API_KEY=your_key_here
PLAID_CLIENT_ID=your_id_here
PLAID_SECRET=your_secret_here

๐ŸŽฎ Usage

Command Line Interface

# Start the CLI
python cli.py

# Available commands:
LAM> help                    # Show all commands
LAM> demo                   # Run full demonstration
LAM> add_task "Buy milk" 1 # Add high-priority task
LAM> show_tasks            # List all tasks
LAM> ai_chat "Hello!"      # Chat with AI
LAM> emotion "I'm happy!"  # Analyze emotion
LAM> record 5              # Record 5 seconds of audio
LAM> status                # Show system status
LAM> quit                  # Exit CLI

Programmatic Usage

from agent import Agent
from datetime import datetime, timedelta

# Create agent
agent = Agent("My Assistant")

# Add tasks
agent.add_task("Meeting at 3 PM", priority=1, 
               due_time=datetime.now() + timedelta(hours=2))

# Generate AI response
response = agent.generate_response("What should I do today?")

# Record and analyze audio
transcription = agent.record_and_transcribe_audio(duration=5)
emotion = agent.recognize_emotion(transcription)

# Use real-world APIs
agent.order_food("New York")
agent.request_ride(40.7128, -74.0060, 40.730610, -73.935242)

๐Ÿ”ง Configuration

Model Settings

from config import Config

# Customize AI models
Config.TEXT_MODEL_NAME = "your-preferred-model"
Config.SPEECH_MODEL_NAME = "your-speech-model"
Config.EMOTION_MODEL_NAME = "your-emotion-model"

# Audio settings
Config.DEFAULT_AUDIO_DURATION = 10
Config.DEFAULT_SAMPLE_RATE = 22050

API Configuration

# Check API status
Config.print_config_status()

# Validate keys
validation = Config.validate_api_keys()
missing = Config.get_missing_api_keys()

๐Ÿงช Testing

# Run tests
pytest

# Code formatting
black .
flake8 .

# Type checking
mypy .

๐Ÿšง Current Limitations

  • API Depth: Basic API implementations (enhancement needed for production)
  • Model Loading: Large models require significant memory and GPU resources
  • Error Handling: Some edge cases may need additional robustness
  • Testing: Comprehensive test suite in development

๐Ÿค Contributing

We welcome contributions! Here's how to help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Install development dependencies
pip install -r requirements.txt

# Set up pre-commit hooks
pre-commit install

# Run tests before committing
pytest
black .
flake8 .

๐Ÿ“š Documentation

  • API Reference: See docstrings in source code
  • Examples: Check main.py and cli.py for usage patterns
  • Architecture: Review class diagrams and flow charts

๐Ÿ› Troubleshooting

Common Issues

"DirectML not available"

  • Ensure you have a DirectML-compatible GPU
  • Fallback to CPU will occur automatically

"Model loading failed"

  • Check internet connection for model downloads
  • Ensure sufficient disk space for model storage
  • Verify GPU memory availability

"API calls failing"

  • Verify API keys in .env file
  • Check API service status
  • Ensure proper API permissions

๐Ÿ“„ License

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

โš ๏ธ Disclaimer

This project is not affiliated with Rabbit Inc. or any other company. (But hey, if they're looking for some pointers on real LAM development, we're happy to chat.)

๐ŸŒŸ Acknowledgments

  • Hugging Face for the amazing transformer models
  • BindsNET for spiking neural network capabilities
  • OpenAI for Whisper speech recognition
  • The AI community for pushing the boundaries of what's possible

Let's Hop to It! ๐Ÿฐ

This repository is open for collaboration. We encourage you to join the conversation and help us build a future filled with awesome LAMs!

About

What Rabbit should've made

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published