Augmented Generative Intelligence Framework
The ezAGI
project is an advanced augmented generative intelligence system that combining various components to create a robust, flexible, and extensible framework for reasoning, decision-making, self-healing, and multi-model interaction.
Core Components
MASTERMIND
Purpose:
The mastermind
module serves as the core orchestrator for the easyAGI
system. It manages agent lifecycles, integrates various components, and ensures the overall health and performance of the system.
Key Features:
- Auto-Configuration: Automatically sets up necessary configuration files and directories.
- Agent Management: Provides a base class for defining agents and a
MASTERMIND
class for managing their lifecycles. - Resource Monitoring and Self-Healing: Continuously monitors system resources and initiates self-healing actions if required.
- Data Accumulation and Validation: Collects and validates data from agents for further use.
- Integration: Seamlessly integrates with other components like
SimpleCoder
.
SimpleCoder
Purpose:
The SimpleCoder
module defines a coding agent that can generate code snippets in various programming languages. It leverages the reasoning capabilities from the BDI
and AGI
modules.
Key Features:
- Supported Languages: Can generate code in multiple languages such as Python, JavaScript, Go, Ruby, etc.
- Task Execution: Validates inputs and generates appropriate code snippets.
- Activity Logging: Maintains a log of all activities and interactions.
- Integration with AGI: Utilizes AGI components for enhanced reasoning and decision-making.
BDI (Belief-Desire-Intention)
Purpose:
The BDI
module implements the BDI model to simulate human-like reasoning and goal-oriented behavior within the AGI system.
Key Features:
- Belief Class: Manages beliefs and evaluates their validity.
- Desire Class: Represents goals or desires.
- Intention Class: Encapsulates plans or actions.
- Goal Class: Defines specific goals with conditions and priorities.
- Reward Class: Manages rewards based on the fulfillment of goals.
- Logging: Provides detailed logging for tracking and debugging.
Self-Healing
Purpose:
The self_healing
module implements a self-healing system that monitors and maintains the health of the AGI system.
Key Features:
- System Health Monitoring: Checks CPU, memory, and disk usage.
- Healing Mechanisms: Attempts to heal the system by restarting services or freeing up disk space.
- Database Connection Check: Verifies database connectivity.
- Service Management: Restarts services and the entire system if necessary.
Reasoning
Purpose:
The reasoning
module provides various reasoning strategies to support logical inference and decision-making processes.
Key Features:
- Deductive, Inductive, Abductive Reasoning: Supports different types of logical reasoning.
- Analogical, Case-Based Reasoning: Draws conclusions based on similarities and past cases.
- Nonmonotonic, Formal, Informal Reasoning: Updates conclusions with new evidence and uses both formal logic and common sense.
- Probabilistic, Heuristic, Causal Reasoning: Handles uncertainty and identifies cause-and-effect relationships.
- Fuzzy, Modal, Deontic Reasoning: Deals with approximate reasoning and considers possibilities and norms.
LogicTables
Purpose:
The LogicTables
module manages logical variables, expressions, and truth tables to support logical reasoning and validation.
Key Features:
- Variable and Expression Management: Adds and manages logical variables and expressions.
- Truth Table Generation: Generates and evaluates truth tables.
- Validation and Storage: Validates logical expressions and stores valid truths.
SimpleMind
Purpose:
The SimpleMind
module provides a minimalistic neural network in JAX for long-term memory adaptation and learning.
Key Features:
- Neural Network Architecture: Configurable input size, hidden layers, output size, activation functions, and optimizers.
- Parallel Backpropagation: Utilizes multiple threads for parallel training.
- Loss Calculation and Regularization: Supports L2 regularization to prevent overfitting.
- Training and Evaluation: Methods for training the network and evaluating its performance.
Coach
Purpose:
The Coach
module trains the SimpleMind
neural network using stored beliefs and integrates it into the AGI framework.
Key Features:
- Belief Management: Loads and preprocesses beliefs for training.
- Training and Evaluation: Trains the neural network on beliefs and evaluates its performance.
- Model Saving and Loading: Methods for saving and loading the trained model.
- Logging: Logs training sessions and conclusions to the
MindX
folder.
Integration
All these components are integrated within the easyAGI
project through the mastermind.py
orchestrator. This integration ensures that the AGI system operates efficiently, agents are managed effectively, resources are monitored, and self-healing mechanisms are in place to maintain system health.
Example Workflow
- Initialization: The
MASTERMIND
class initializes and loads agents, such asSimpleCoder
. - Execution: Agents are executed, performing tasks like code generation or logical reasoning.
- Monitoring: System resources are monitored, and self-healing actions are initiated if necessary.
- Data Accumulation: Data from agents is collected, validated, and stored for future use.
- Decision-Making: Using the
reasoning
andLogicTables
modules, the AGI system makes informed decisions based on logical inference and reasoning.
Summary
The ezAGI
project provides a comprehensive framework for developing an advanced AGI system. By integrating multiple components for reasoning, decision-making, self-healing, and agent management, ezAGI
aims to create a robust and flexible AGI capable of complex tasks and human-like reasoning.