/AGiXT

AGiXT is a dynamic AI Automation Platform that seamlessly orchestrates instruction management and complex task execution across diverse AI providers. Combining adaptive memory, smart features, and a versatile plugin system, AGiXT delivers efficient and comprehensive AI solutions.

Primary LanguagePythonMIT LicenseMIT

GitHub PayPal Ko-Fi

AGiXT

GitHub GitHub GitHub

GitHub pypi

GitHub npm

Discord Twitter

Logo

AGiXT is a dynamic Artificial Intelligence Automation Platform engineered to orchestrate efficient AI instruction management and task execution across a multitude of providers. Our solution infuses adaptive memory handling with a broad spectrum of commands to enhance AI's understanding and responsiveness, leading to improved task completion. The platform's smart features, like Smart Instruct and Smart Chat, seamlessly integrate web search, planning strategies, and conversation continuity, transforming the interaction between users and AI. By leveraging a powerful plugin system that includes web browsing and command execution, AGiXT stands as a versatile bridge between AI models and users. With an expanding roster of AI providers, code evaluation capabilities, comprehensive chain management, and platform interoperability, AGiXT is consistently evolving to drive a multitude of applications, affirming its place at the forefront of AI technology.

Embracing the spirit of extremity in every facet of life, we introduce AGiXT. This advanced AI Automation Platform is our bold step towards the realization of Artificial General Intelligence (AGI). Seamlessly orchestrating instruction management and executing complex tasks across diverse AI providers, AGiXT combines adaptive memory, smart features, and a versatile plugin system to maximize AI potential. With our unwavering commitment to innovation, we're dedicated to pushing the boundaries of AI and bringing AGI closer to reality.

Table of Contents 📖

⚠️ Disclaimers!

Monitor Your Usage!

Please note that using some AI providers (such as OpenAI's GPT-4 API) can be expensive! Monitor your usage carefully to avoid incurring unexpected costs. We're NOT responsible for your usage under any circumstance.

Under Development!

This project is under active development and may still have issues. We appreciate your understanding and patience. If you encounter any problems, please first check the open issues. If your issue is not listed, kindly create a new issue detailing the error or problem you experienced. Thank you for your support!

Key Features 🗝️

  • Context and Token Management: Adaptive handling of long-term and short-term memory for an optimized AI performance, allowing the software to process information more efficiently and accurately.
  • Smart Instruct: An advanced feature enabling AI to comprehend, plan, and execute tasks effectively. The system leverages web search, planning strategies, and executes instructions while ensuring output accuracy.
  • Interactive Chat & Smart Chat: User-friendly chat interface for dynamic conversational tasks. The Smart Chat feature integrates AI with web research to deliver accurate and contextually relevant responses.
  • Task Execution & Smart Task Management: Efficient management and execution of complex tasks broken down into sub-tasks. The Smart Task feature employs AI-driven agents to dynamically handle tasks, optimizing efficiency and avoiding redundancy.
  • Chain Management: Sophisticated handling of chains or a series of linked commands, enabling the automation of complex workflows and processes.
  • Web Browsing & Command Execution: Advanced capabilities to browse the web and execute commands for a more interactive AI experience, opening a wide range of possibilities for AI assistance.
  • Multi-Provider Compatibility: Seamless integration with leading AI providers such as OpenAI GPT series, Hugging Face Huggingchat, GPT4All, GPT4Free, Oobabooga Text Generation Web UI, Kobold, llama.cpp, FastChat, Google Bard, Bing, and more.
  • Versatile Plugin System & Code Evaluation: Extensible command support for various AI models along with robust support for code evaluation, providing assistance in programming tasks.
  • Docker Deployment: Simplified setup and maintenance through Docker deployment.
  • Audio-to-Text & Text-to-Speech Options: Integration with Hugging Face for seamless audio-to-text transcription, and multiple TTS choices, featuring Brian TTS, Mac OS TTS, and ElevenLabs.
  • Platform Interoperability & AI Agent Management: Streamlined creation, renaming, deletion, and updating of AI agent settings along with easy interaction with popular platforms like Twitter, GitHub, Google, DALL-E, and more.
  • Custom Prompts & Command Control: Granular control over agent abilities through enabling or disabling specific commands, and easy creation, editing, and deletion of custom prompts to standardize user inputs.
  • RESTful API: FastAPI-powered RESTful API for seamless integration with external applications and services.
  • Expanding AI Support: Continually updated to include new AI providers and services, ensuring the software stays at the forefront of AI technology.

Quick Start Guide

Prerequisites

If using Windows and trying to run locally, it is unsupported, but you will need Windows Subsystem for Linux and Docker Desktop at a minimum in addition to the above.

Download and Install

Open a terminal and run the following to download and install AGiXT:

git clone https://github.com/Josh-XT/AGiXT
cd AGiXT
./AGiXT.sh

Environment Setup

During the installation, you will be prompted to enter some settings unless you already have your .env file set up. If you do not have your .env file set up, you can use the following as a guide:

image

  • AGIXT_API_KEY is the API key to use for the AGiXT API. This is empty by default, if you would like to set it, change it in the env file. The header format for requests will be Authorization: Bearer {your_api_key} for any requests to your AGiXT server or you can pass the api_key to the AGiXT SDK.

  • AGIXT_HUB is the name of the AGiXT hub, this should be AGiXT/hub if you want to use the Open Source AGiXT hub. If you want to use your own fork of AGiXT hub, change this to your username and the name of your fork.

  • AGIXT_URI is the URI of the AGiXT hub, this should be http://agixt:7437 by default. If hosting the AGiXT server separately, change this to the URI of your AGiXT server, otherwise leave it as-is.

  • GITHUB_USER is your GitHub username, this is only required if using your own AGiXT hub to pull your repository data.

  • GITHUB_TOKEN is your GitHub personal access token, this is only required if using your own AGiXT hub to pull your repository data.

  • UVICORN_WORKERS is the number of workers to run the web server with, this is 6 by default, adjust this to your system's capabilities.

Database configuration only applicable if using database

  • DB_CONNECTED is whether or not you want to use a database, this should be false by default, change this to true if you want to use a database. If you choose to, you will need to edit the database configuration options below, otherwise they can be left alone.
  • POSTGRES_SERVER is the name of the database server, this should be db by default.
  • POSTGRES_DB is the name of the database, this should be postgres by default.
  • POSTGRES_PORT is the port that the database is listening on, this should be 5432 by default.
  • POSTGRES_USER is the username to connect to the database with, this should be postgres by default.
  • POSTGRES_PASSWORD is the password to connect to the database with, this should be changed from the example file if using database.

Oobabooga Text Generation Web UI Configuration

  • TORCH_CUDA_ARCH_LIST is the CUDA architecture list to use for the Oobabooga text generation web UI. Example: RTX3000-5000 series are version 7.5. Find yours at https://developer.nvidia.com/cuda-gpus .
  • CLI_ARGS is the CLI arguments to pass to the Oobabooga text generation web UI. By default, this is set to --listen --api --chat and is not configurable in the AGiXT installer, it will need changed manually in the .env file if you want to change it to add additional arguments.

Install Options

You will be prompted to choose an install option. The options are as follows:

image

  1. Run AGiXT with Docker (Recommended)
  2. Run AGiXT Locally (Developers Only - Not Recommended or Supported)
    • This option will run AGiXT and the AGiXT Streamlit Web UI locally. This is not recommended or supported due to it requiring you to have a lot of dependencies installed on your computer that may conflict with other software you have installed. This is only recommended for developers who want to contribute to AGiXT.
  3. Run AGiXT and Text Generation Web UI with Docker (NVIDIA Only)
    • This option is only available if you have an NVIDIA GPU and will not work if you do not.
    • This option will run AGiXT, the AGiXT Streamlit Web UI, and the Oobabooga Text Generation Web UI in Docker containers. This is the recommended option for most users who want to use local models on GPU. You will need a powerful video card to run this option. We highly recommend reviewing their documentation before using this option unless you have run local models on GPU before.
  4. Update AGiXT
  5. Wipe AGiXT Hub (Irreversible)
    • This option will delete agixt/providers, agixt/extensions, agixt/chains, and agixt/prompts. The next time you start AGiXT, it will redownload all of them from the AGiXT Hub that you have configured in your .env file. This is mostly used for development and testing purposes.
  6. Exit
    • This option will exit the installer.

Running and Updating AGiXT

Any time you want to run or update AGiXT, run the following commands from your AGiXT directory:

./AGiXT.sh

Then follow the prompts to run or update AGiXT either locally or with Docker. We generally recommend running with Docker.

If you're running with the option Run AGiXT and Text Generation Web UI with Docker (NVIDIA Only), you can access the Text Generation Web UI at http://localhost:7860/?__theme=dark to download and and configure your models. The AI_PROVIDER_URI will be http://text-generation-webui:5000 for your AGiXT agents.

Configuration

Each AGiXT Agent has its own settings for interfacing with AI providers, and other configuration options. These settings can be set and modified through the web interface.

Documentation

Need more information? Check out the documentation for more details to get a better understanding of the concepts and features of AGiXT.

Other Repositorities

Check out the other AGiXT repositories at https://github.com/orgs/AGiXT/repositories - these include the AGiXT Hubs, AGiXT Streamlit Web UI, AGiXT Python SDK, AGiXT TypeScript SDK, and more!

Contributing

Contribute

We welcome contributions to AGiXT! If you're interested in contributing, please check out our contributions guide the open issues on the backend, open issues on the frontend and pull requests, submit a pull request, or suggest new features. To stay updated on the project's progress, Twitter and Twitter. Also feel free to join our Discord.

Donations and Sponsorships

We appreciate any support for AGiXT's development, including donations, sponsorships, and any other kind of assistance. If you would like to support us, please use one of the various methods listed at the top of the repository or contact us through our Discord or Twitter.

We're always looking for ways to improve AGiXT and make it more useful for our users. Your support will help us continue to develop and enhance the application. Thank you for considering to support us!

Our Team 🧑‍💻

Josh (@Josh-XT) James (@JamesonRGrieve)
GitHub GitHub
Twitter Twitter
LinkedIn LinkedIn

History

Star History Chart