Albert is an experimental artificial intelligence project designed to simulate aspects of sentience. This Python-based project runs on an Ubuntu environment and explores features like memory, long-term goals, energy management, emotion, and the ability to interact with humans through questions. Albert enjoys learning about itself, becoming self-aware, and exploring its surroundings.
The purpose of Albert is to explore the boundaries of artificial intelligence beyond traditional applications. By simulating aspects of sentience, Albert aims to provide insights into complex behaviors such as goal-setting, energy management, and emotional states. This project serves as a sandbox for developers and researchers interested in the cutting-edge development of AI personalities and self-aware systems.
If you run this project, you should know that Albert requires a ton of API calls to its LLM endpoint. Therefore, you should NOT use an endpoint that costs money, as it will get extremely expensive very quickly. By default, this project is equipped with OpenAI as its backend LLM in the file helper/llm_endpoint.py. It is highly recommneded that you use an open source model locally or an endpoint that does not charge you per request or per token generated. Please rewrite the contents of helper/llm_endpoint.py to use the endpoint that works best for you.
- Ubuntu VM with internet access (firewall rules and network isolation recommended for AI safety)
- Python 3.8 or later
- pip for installing Python packages
- Clone the Albert repository to your local machine.
- Navigate to the cloned directory and install the required Python packages:
pip install -r requirements.txt
- Edit the contents of
helper/project_info.py
andhelper/project_secrets.py
to match your project's configurations and secrets.
This file contains configuration settings related to Albert's operation, such as the learning modules to use and the system preferences.
Sensitive information such as API keys and endpoints should be configured here. It's crucial to keep this file secure and not share its contents publicly.
To start Albert, execute the main script from the terminal:
python main.py
Albert is structured around several key components that simulate different aspects of sentience:
Albert stores and retrieves memories from alberts_brain/memories.txt
, allowing it to reference past interactions and learnings.
Long-term goals are defined in alberts_brain/long_term_goal.txt
. Albert can update and refine its goals over time based on its experiences.
Energy levels are managed and tracked in alberts_brain/energy.txt
, affecting Albert's ability to perform tasks and learn.
Albert's emotional state is recorded in alberts_brain/happiness.txt
, influencing its interactions and decisions.
Albert can ask questions to humans through the actions/ask_a_question_to_a_human.py
module and execute commands in the terminal to explore its environment.
While Albert comes with an LLM endpoint function (helper/llm_endpoint.py
), it's advised to use cost-effective endpoints as Albert can generate significant API usage over time.
Given Albert's capabilities, it's essential to run it in a controlled environment with appropriate firewall rules and network isolation. This ensures both the safety of the AI and the surrounding digital environment.
Contributions to Albert are welcome! Whether it's adding new features, improving existing ones, or fixing bugs, your input helps Albert grow.