General Introduction
99AI is an open source AI web application project that aims to provide an easy-to-deploy, low-barrier integrated AI service platform. 99AI supports intelligent dialog, multimodal modeling, connected search, and integrated AI painting and music and video creation. The project supports intelligent dialog, multimodal modeling, application plaza, networked search, etc., and integrates AI painting, music and video creation capabilities. 99AI has been compiled into an integration package that supports a variety of rapid deployment methods, which makes it easy for individual and enterprise users to build AI service platforms.
Experience the site:PlasmaAI
Function List
- AI Dialogue: Supports OpenAI Chat format, with backend customizable parameters such as model name, avatar, introduction, agent, key, point deduction method, file upload mode, and more.
- multimodal model: Use visual models such as gpt-4o, claude-3, or inverse models such as gpt-4-all to complete the recognition analysis of images and documents.
- Application Plaza: Expand the boundaries of AI functionality by interfacing with plug-in systems.
- Internet search: Docking plug-in system that provides networked search capabilities.
- mind map: Generate MarkDown format outlines and user-generated mind maps.
- AI Painting: Docking midjourney, dall-e, stable-diffusion, and other painting models.
- AI Music: Docking with suno-music for music creation.
- AI Video: Docking luma-video Vincennes video.
- Knowledge base presets: Support for adjusting lyrics, selecting music genres and styles.
- Code Preview: Preview and edit HTML code.
- Localized Storage: Supports local storage for saving data.
Using Help
Installation process
Node.js Deployment
First we install the basic environment, Nginx, MySql, Redis, Node.js, pnpm, pm2
For convenience we can install Pagoda Panel International Edition, also known as aapanel, through the Pagoda Panel can quickly install Nginx, MySql, Redis with one click.
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh && bash install.sh aapanel
We then proceeded to install Node.js, pnpm, and PM2, depending on the system installed.
Node.js v21.x.
Using Ubuntu:
curl -fsSL https://deb.nodesource.com/setup_21.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
Using Debian, as root.
curl -fsSL https://deb.nodesource.com/setup_21.x | bash - &&\
apt-get install -y nodejs
Install PM2 using npm:
npm install pm2 -g
Install pnpm using npm:
npm install -g pnpm
```[! [5](https://pic.sky350.cn/images/2024/08/30/114x4u2.jpg)](https://pic.sky350.cn/images/2024/08/30/114x4u2.jpg)
Verify that both PM2 and pnpm are properly installed and ready to run:
pm2 -v
pnpm-v
After installing the basic environment, we create a new website, by the way, a new database, bind the domain name, do the resolution. Click on the site settings, one click to apply for ssl.
In order to facilitate the memory, 99ai we put the site directory, click into the site directory, upload 99ai source code, or copy the address of the GitHub releases file, download it remotely to the site directory, and then unzip it.
After unzipping we open the .env.example file in the directory, copy the contents, and create a new file named .env, paste the copied contents into it, and fill in the configuration according to our actual situation, and finally save.
To finish, we open SSH in the directory and install the dependencies: (if the installation is slow, try using domestic sources, some dependencies may need to be forced to install)
pnpm install --force
Start the process after installing the dependencies: (by default the PM2 background is used)
pnpm start
```[! [8](https://pic.sky350.cn/images/2024/08/30/11732xq.jpg)](https://pic.sky350.cn/images/2024/08/30/11732xq.jpg)
After that the browser opens IP:9520 to see if it works.
[! [9](https://pic.sky350.cn/images/2024/08/30/117386k.jpg)](https://pic.sky350.cn/images/2024/08/30/117386k.jpg)
Go back to Pagoda panel, click Website, click the website we created before, click Reverse Proxy, add a new reverse proxy, fill in [http://127.0.0.1:9520](http://127.0.0.1:9520/) for the address, and save it to access it through the domain name.
[! [Dingtalk_20240830225221](https://pic.sky350.cn/images/2024/08/30/117u6vi.jpg)](https://pic.sky350.cn/images/2024/08/30/117u6vi. jpg)
Admin address: `project link/admin`
Ordinary administrator account: admin (not activated by default)
Super administrator account: super
Password: 123456
[! [10](https://pic.sky350.cn/images/2024/08/30/1173i7j.jpg)](https://pic.sky350.cn/images/2024/08/30/1173i7j.jpg)
Go into the backend and configure the email and model address and API_KEY and you can use it happily.
Docker-compose Deployment
- Installing Docker and Docker-compose: Ensure that Docker and Docker-compose are installed on your system.
- Cloning Project Warehouse::
git clone https://github.com/vastxie/99AI.git
The - Go to the project directory::
cd 99AI
The - Starting services::
docker-compose up -d
The
Usage Process
- Access to the backend administration page: Accessed via browser
http://localhost:3000/admin
, use the default account password to log in. - configuration model: Configure the required AI models and plug-ins in the backend administration page.
- Starting a conversation: On the front page, users can start a conversation with the AI to use features like drawing, music, video, and more.
Functional operation flow
- AI Dialogue: The user can enter a question in a dialog box and the AI will answer it based on the configured model.
- AI Painting: The user can select a drawing model, enter a description, and the AI will generate a corresponding image.
- AI MusicThe user can select the genre and style of music, enter the lyrics, and the AI will generate the corresponding musical composition.
- AI Video: The user can select the video type and size, enter a description, and the AI will generate the appropriate video content.