Why Anchoring AI? | Live Demo and Videos | Docker Deployment | Installation Guide
Anchoring AI is an open-source no-code tool for teams to collaborate on building, evaluating, and hosting applications leveraging GPT and other large language models. You could easily build and share LLM-powered apps, manage your budget and run batch jobs. With Anchoring AI, managing access, controlling budgets, and running batch jobs is a breeze. We aim to be the destination of choice for transforming your team into an AI-centric powerhouse.
We provide:
- No-Code Interface: Quickly build apps with language models.
- Modular Design: Easily add your own models, datasets and extensions.
- Drag-and-Drop: Chain components to create powerful apps.
- Batch Processing: Efficiently handle evaluations and repetitive tasks.
- Prompt Management: Effortlessly manage your prompt and chains.
- Easy Sharing: Streamline collaboration and sharing.
- Secure Access: Customizable authentication for team management.
- Langchain Integration: Seamless compatibility with Langchain (Python).
- Optimized Caching: Reduce costs and boost performance.
You can check out our Alpha Release here.
Platform_Overview_v0.1.1.mp4
- Expanded Language Model Support: Integration with more language models.
- Extended Capabilities: Additional extensions and a new chat mode.
- Advanced Evaluation Metrics: Custom modules for calculating evaluation metrics.
- Robust Security: Strengthened security measures.
- Enhanced Modularity: Improved standard components for increased flexibility.
If you prefer to deploy Anchoring AI using Docker, this section provides a step-by-step guide to do so.
- Docker must be installed on your system.
-
Clone the GitHub Repository
If you haven't already, clone the repository to your local machine.git clone https://github.com/AnchoringAI/anchoring-ai.git
-
Navigate to the Project Root Directory
cd anchoring-ai
-
Build the Docker Image
docker-compose build
-
Run Docker Containers
docker-compose up
Your application should now be accessible at localhost:3000
.
-
Stop Docker Containers
docker-compose down
-
Remove All Docker Resources (Optional)
docker system prune -a
This guide is primarily designed for Linux and macOS. Windows users can still follow along with some adjustments specified below.
Before starting the installation, ensure you have administrator-level access to your system.
- Install and start Redis which is not supported on Windows through Windows Subsystem for Linux (WSL).
- Comment out
uwsgi==2.0.21
inback-end/requirements.txt
as this package is not supported for Windows.- Add
--pool=solo
for the Celery worker args inback-end/src/celery_worker.py
to support batch jobs.
-
Download MySQL 8.0: Go to the official MySQL downloads page and download the MySQL 8.0 installer for your operating system.
-
Install MySQL: Run the installer and follow the on-screen instructions to install MySQL.
- Choose a setup type (Developer Default, Server only, etc.)
- Configure the server (if prompted)
- Set the root password and optionally create other users
-
Start MySQL:
- For Linux and macOS, you can usually start MySQL with the following command:
sudo systemctl start mysql
- For Windows, it often starts automatically or you can start it through the Services application.
- For Linux and macOS, you can usually start MySQL with the following command:
-
Verify Installation: Open a terminal and execute the following:
mysql --version
This should display the installed MySQL version.
-
Download Redis 5.0.7: Visit the official Redis downloads page and download the Redis 5.0.7 tarball or installer for your operating system.
-
Install Redis:
- For Linux and macOS: Extract the tarball and run the following commands in the terminal:
cd redis-5.0.7 make make install
- For Windows: You may need to use Windows Subsystem for Linux (WSL) or a Redis Windows port.
- For Linux and macOS: Extract the tarball and run the following commands in the terminal:
-
Start Redis:
- For Linux and macOS: You can usually start Redis by running:
redis-server
- For Windows: If you're using WSL, you can start it the same way as on Linux.
- For Linux and macOS: You can usually start Redis by running:
-
Verify Installation: Open a new terminal and run:
redis-cli ping
If Redis is running, this will return "PONG".
- Download and install Node.js version 18.16.0 from the official website.
- Verify the installation by running
node -v
in the terminal.
- Download and install Python version 3.8.10 from the official website.
- Verify the installation by running
python --version
orpython3 --version
in the terminal.
Run the following command in the terminal:
git clone https://github.com/AnchoringAI/anchoring-ai.git
-
Open your terminal and navigate to the
scripts
directory within your project:cd path/to/your/project/scripts
-
Open the MySQL shell by entering the following command:
mysql -u [your_username] -p
You will be prompted to enter the password for
[your_username]
. -
Once inside the MySQL shell, switch to the database you intend to use (if it already exists). Replace
[your_database]
with the name of your database:use [your_database];
-
Execute the
init_db.sql
script to initialize your MySQL database:source init_db.sql
-
Navigate to the
config.py
file located in theback-end/src
directory:cd path/to/your/project/back-end/src
-
Open
config.py
in your favorite text editor and locate theDevelopmentConfig
class. -
Update the database configuration class to match your MySQL settings:
class DevelopmentConfig(BaseConfig): USERNAME = '[your_username]' PASSWORD = '[your_password]' HOST = 'localhost' PORT = '3306' DATABASE = '[your_database]' DB_URI = f'mysql+pymysql://{USERNAME}:{PASSWORD}@{HOST}:{PORT}/{DATABASE}?charset=utf8' SQLALCHEMY_DATABASE_URI = DB_URI
Replace [your_username]
, [your_password]
, and [your_database]
with the MySQL username, password, and database name you've chosen.
After completing these steps, your database should be initialized and your application configured to connect to it.
- Change your current directory to the
front-end
folder:
cd front-end
- Install all necessary packages:
npm install
- Start the front-end server:
npm start
- Change your current directory to the root directory and then navigate to
back-end
:
cd ..
cd back-end
- Install all required Python packages:
pip install -r requirements.txt
-
Navigate to the
src
directory:cd src
-
Start the Python application:
- For Linux and macOS:
python3 app.py
- For Windows:
python app.py
- For Linux and macOS:
-
Start the Celery worker in the background:
- For Linux and macOS:
python3 celery_worker.py >> logs/celery_worker_log.txt 2>&1
- For Windows:
python celery_worker.py >> logs/celery_worker_log.txt 2>&1
- For Linux and macOS:
After completing these steps, you should be able to see the app running at localhost:3000.