AIlice is a fully autonomous general-purpose AI agent project, with the goal of creating a JARVIS-like independent artificial intelligence assistant based on open-source large language models. At its core is the unique IACT (Interactive Agent Call Tree) architecture, capable of decomposing complex tasks into dynamically constructed agents and integrating the results, with relatively high fault tolerance. The project's ultimate goal is to achieve the self-evolution of AI agents, that is, autonomously building functional extensions and new types of agents, seamlessly unleashing the knowledge and reasoning capabilities of LLMs into the real world.
Main Capabilities
AIlice possesses multiple technical features: in-depth subject research capabilities; reading and analyzing articles and academic works; advanced automation of programming and script execution, usable as a comprehensive coder and efficient system management tool; voice interaction support; compatibility with open-source models and seamless integration of commercial models; all agents natively support multimodality; rich-media UI support for images/video/audio, LaTeX formulas, code highlighting, and file upload and download; a natural and highly fault-tolerant interactive agent call tree architecture; flexible parsing of LLM output, supporting a broader function-calling mechanism; the ability to self-build and dynamically load modules that interact with the environment, providing unlimited expansion possibilities.
Usage
Installation and operation: AIlice can be installed and run via the command line. After startup, use a browser to open the web page it provides, and a dialogue interface will appear. Issue instructions to AIlice through dialogue to complete various tasks. For first-time use, you can try the commands provided in the "COOL things we can do" section to quickly become familiar with it. Sandboxed operation is supported (for CUDA support, nvidia-container-toolkit must be installed first; GUI support is limited to Linux, and Windows and macOS require special configuration). The default Google module is restricted; frequent use of Google requires configuring a Custom Search JSON API key and installing google-api-python-client. On first run, an API key must be entered, and it can also be modified by editing config.json. Turning on the speechOn switch may require waiting for a relatively long time on first use to download the speech recognition and TTS model weights.
Applicable Scenarios
AIlice can handle various tasks, for example: listing the contents of the current directory, checking the weather, calculating integrals and displaying the derivation steps, generating fractal visualizations, installing a browser and verifying it, cloning and analyzing a GitHub project, using SDXL to generate images, generating a project homepage, designing FM radio simulation, generating gear models, website security scanning, literature review, deriving the wave equation and generating LaTeX PDF slides, 3D visualization, animation demonstrations, medical research, phylogenetic analysis, Mars position calculation, generating scientific-style PDF papers, downloading and organizing physics tutorials, processing a complete AI pipeline for The Feynman Lectures on Physics (downloading videos, extracting audio, speech-to-text, extracting answers), etc. It also supports having the agent autonomously build external interaction modules (ext-modules) through simple prompts, enabling unlimited expansion.
Limitations
If the user does not plan to run the LLM locally, there are almost no hardware requirements for running AIlice. However, if you want to run the LLM locally, currently only models with 70B or more parameters can perform tasks well, so at least two RTX 4090 GPUs (48GB VRAM) are required. AIlice is developed on Ubuntu, and installation and use are guaranteed to be optimal there; availability on macOS is similar; Windows users are advised to use Docker or WSL, because a Windows command execution tool has not yet been integrated, and the lack of testing may lead to bugs. Before installation, it is recommended to install Anaconda and create a virtual environment, and Chrome needs to be installed for web browsing. If you need to run it in a fully controlled container/virtual machine, Docker or another virtual machine is required. Running in a virtual machine requires disabling Hyper-V (otherwise llama.cpp cannot be installed). After installation, running speed may be relatively slow because the embedding model computation for the long-term memory module may run on the CPU, and GPU acceleration can be installed. Using features such as PDF reading/voice conversation/Hugging Face models/model fine-tuning requires installing the corresponding additional commands, but installing too many features may increase dependency conflicts, so it is recommended to install only the necessary parts. When using an open-source LLM for the first time, model weights need to be downloaded for a long time, so sufficient time and disk space must be ensured.