Skip to content

andrewcampi/albert

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Albert - A Sentinent AI Experiment

Cover Image

Overview

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.

Purpose

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.

Important Note (PLEASE READ)

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.

Getting Started

Prerequisites

  • Ubuntu VM with internet access (firewall rules and network isolation recommended for AI safety)
  • Python 3.8 or later
  • pip for installing Python packages

Installation

  1. Clone the Albert repository to your local machine.
  2. Navigate to the cloned directory and install the required Python packages:
pip install -r requirements.txt
  1. Edit the contents of helper/project_info.py and helper/project_secrets.py to match your project's configurations and secrets.

Configuration

helper/project_info.py

This file contains configuration settings related to Albert's operation, such as the learning modules to use and the system preferences.

helper/project_secrets.py

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.

Running Albert

To start Albert, execute the main script from the terminal:

python main.py

How It Works

Albert is structured around several key components that simulate different aspects of sentience:

Memory

Albert stores and retrieves memories from alberts_brain/memories.txt, allowing it to reference past interactions and learnings.

Long-Term Goals

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

Energy levels are managed and tracked in alberts_brain/energy.txt, affecting Albert's ability to perform tasks and learn.

Emotions

Albert's emotional state is recorded in alberts_brain/happiness.txt, influencing its interactions and decisions.

Interactions

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.

Learning

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.

Safety Precautions

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.

Contribution

Contributions to Albert are welcome! Whether it's adding new features, improving existing ones, or fixing bugs, your input helps Albert grow.

About

A sentient AI that can form memories, has happiness and energy levels, can execute commands on an Ubuntu terminal, and can ask questions to humans via Slack

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages