[![Banner](banner.png)](https://capsizegames.itch.io/ai-runner)
[![Discord](https://img.shields.io/discord/839511291466219541?color=5865F2&logo=discord&logoColor=white)](https://discord.gg/PUVDDCJ7gz)
[![PyPi](https://github.com/Capsize-Games/airunner/actions/workflows/pypi-dispatch.yml/badge.svg)](https://github.com/Capsize-Games/airunner/actions/workflows/pypi-dispatch.yml)
![GitHub](https://img.shields.io/github/license/Capsize-Games/airunner)
![GitHub last commit](https://img.shields.io/github/last-commit/Capsize-Games/airunner)
![GitHub issues](https://img.shields.io/github/issues/Capsize-Games/airunner)
![GitHub closed issues](https://img.shields.io/github/issues-closed/Capsize-Games/airunner)
![GitHub pull requests](https://img.shields.io/github/issues-pr/Capsize-Games/airunner)
![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Capsize-Games/airunner)
---
# AI Runner
AI Runner is an interface which allows you to run open-source large language models (LLM) and AI image generators (Stable Diffusion) on your own hardware.
It is designed to be easy to use, with a simple and intuitive interface that allows you to run AI models without the need for a web server or cloud service.
It has been optimized for speed and efficiency, allowing you to generate images and have conversations with chatbots in real-time.
## Stable Diffusion
![img.png](img.png)
## Customizable Chatbots with Moods and Personalities
![img_1.png](img_1.png)
---
## ⭐ Features
AI Runner is an AI interface which allows you to run open-source
large language models (LLM) and AI image generators (Stable Diffusion) on your own hardware.
| Feature | Description |
|--------------------------------------|----------------------------------------------------------|
| 🗣️ **LLMs and communication** |
| Voice-based chatbot conversations | Have conversations with a chatbot using your voice |
| Text-to-speech | Convert text to spoken audio |
| Speech-to-text | Convert spoken audio to text |
| Customizable chatbots with LLMs | Generate text using large language models |
| RAG on local documents and websites | Interact with your local documents using an LLM |
| 🎨 **Image Generation** |
| Stable Diffusion (all versions) | Generate images using Stable Diffusion |
| Drawing tools | Turn sketches into art |
| Text-to-Image | Generate images from textual descriptions |
| Image-to-Image | Generate images based on input images |
| 🖼️ **Image Manipulation** |
| Inpaint and Outpaint | Modify parts of an image while maintaining context |
| Controlnet | Control image generation with additional input |
| LoRA | Efficiently fine-tune models with LoRA |
| Textual Embeddings | Use textual embeddings for image generation control |
| Image Filters | Blur, film grain, pixel art and more |
| 🔧 **Utility** |
| Run offline, locally | Run on your own hardware without internet |
| Fast generation | Generate images in ~2 seconds (RTX 2080s) |
| Run multiple models at once | Utilize multiple models simultaneously |
| Dark mode | Comfortable viewing experience in low-light environments |
| Infinite scrolling canvas | Seamlessly scroll through generated images |
| NSFW filter toggle | Help control the visibility of NSFW content |
| NSFW guardrails toggle | Help prevent generation of LLM harmful content |
| Fully customizable | Easily adjust all parameters |
| Fast load time, responsive interface | Enjoy a smooth and responsive user experience |
| Pure python | No reliance on a webserver, pure python implementation |
---
## 💻 System Requirements
#### Minimum system requirements
- OS: Linux
- Processor: Intel i5 or equivalent
- Memory: 16 GB RAM
- Graphics: 2080s RTX or higher
- Network: Broadband Internet connection required for setup
- Storage: 130 GB available space
#### Recommended system specs
- OS: Linux
- Processor: Intel i7 or equivalent
- Memory: 30 GB RAM
- Graphics: 4090 RTX or higher
- Network: Broadband Internet connection required for setup
- Storage: 130 GB available space
---
## 🚀 Installation
There are several ways to get started with AI Runner such as packaged, from source and as a library.
[Detailed packaging and installation instructions can be found in the wiki](https://github.com/Capsize-Games/airunner/wiki/Installation-instructions).
### Install as a library
Installation
```bash
pip install airunner
```
Running
```bash
airunner
```
---
## Models
AI Runner installs all of the models required to run a chatbot with text-to-speech and speech-to-text capabilities,
as well as the core models required for Stable Diffusion. However, you must supply your own art generator models.
You can download models from Huggingface.co or civitai.com.
The supported Stable Diffusion models are:
- SD 1.5
- SDXL 1.0
- SDXL Turbo
Models must be placed in their respective directories in the `airunner` directory.
```plaintext
~/.local/share/airunner
├── art
│ ├── models
│ │ ├── SD 1.5
│ │ │ ├── lora
│ │ │ └── embeddings
│ │ ├── SDXL 1.0
│ │ │ ├── lora
│ │ │ └── embeddings
│ │ └── SDXL Turbo
│ │ ├── lora
│ │ └── embeddings
```
---
## Unit tests
Run all unit tests
```bash
python -m unittest discover -s src/airunner/tests
```
Run a single unit tests `python -m unittest src/airunner/tests/<file_name>`
Example
```bash
python -m unittest src/airunner/tests/test_prompt_weight_convert.py
```
---
## Privacy and Security
Although AI Runner v3.0 is built with Huggingface libraries, we have taken
care to strip the application of any telemetry or tracking features.
---
### Internet access
Only the setup wizard needs access to the internet in order to download the required models.
For more information see the [Darklock](https://github.com/capsize-games/darklock) and
[Facehuggershield](https://github.com/capsize-games/facehuggershield) libraries.
---
### Disc access
Write access for the transformers library has been disabled, preventing it from creating a huggingface
cache directory at runtime.
The application itself may still access the disc for reading and writing, however we have restricted
reads and writes to the user provided `airunner` directory (by default this is located at `~/.local/share/airunner`).
All other attempts to access the disc are blocked and logged for your review.
For more information see `src/security/restrict_os_access.py`.
---
### Huggingface Hub
**_Huggingface Hub contains telemetry and tracking features that have been completely disabled in AI Runner._**
The security measures taken for this library are as follows
- Prevented from accessing the internet
- Prevented from accessing the disc
- All environment variables set for maximum security
- All telemetry disabled
See [Facehuggershield](https://github.com/capsize-games/facehuggershield) for more information.
Raw data
{
"_id": null,
"home_page": "https://github.com/Capsize-Games/airunner",
"name": "airunner",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10.0",
"maintainer_email": null,
"keywords": "ai, stable diffusion, art, ai art, stablediffusion",
"author": "Capsize LLC",
"author_email": "contact@capsizegames.com",
"download_url": "https://files.pythonhosted.org/packages/61/79/daae03cbdf21e19e33053d57c11d617da7d083cbed79cc89cc25e80fda51/airunner-3.1.5.tar.gz",
"platform": null,
"description": "[![Banner](banner.png)](https://capsizegames.itch.io/ai-runner)\n[![Discord](https://img.shields.io/discord/839511291466219541?color=5865F2&logo=discord&logoColor=white)](https://discord.gg/PUVDDCJ7gz)\n[![PyPi](https://github.com/Capsize-Games/airunner/actions/workflows/pypi-dispatch.yml/badge.svg)](https://github.com/Capsize-Games/airunner/actions/workflows/pypi-dispatch.yml)\n![GitHub](https://img.shields.io/github/license/Capsize-Games/airunner)\n![GitHub last commit](https://img.shields.io/github/last-commit/Capsize-Games/airunner)\n![GitHub issues](https://img.shields.io/github/issues/Capsize-Games/airunner)\n![GitHub closed issues](https://img.shields.io/github/issues-closed/Capsize-Games/airunner)\n![GitHub pull requests](https://img.shields.io/github/issues-pr/Capsize-Games/airunner)\n![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/Capsize-Games/airunner)\n\n---\n\n# AI Runner \n\n\nAI Runner is an interface which allows you to run open-source large language models (LLM) and AI image generators (Stable Diffusion) on your own hardware.\n\nIt is designed to be easy to use, with a simple and intuitive interface that allows you to run AI models without the need for a web server or cloud service.\n\nIt has been optimized for speed and efficiency, allowing you to generate images and have conversations with chatbots in real-time.\n\n## Stable Diffusion\n\n![img.png](img.png)\n\n## Customizable Chatbots with Moods and Personalities\n\n![img_1.png](img_1.png)\n\n---\n\n## \u2b50 Features\n\nAI Runner is an AI interface which allows you to run open-source \nlarge language models (LLM) and AI image generators (Stable Diffusion) on your own hardware.\n\n| Feature | Description |\n|--------------------------------------|----------------------------------------------------------|\n| \ud83d\udde3\ufe0f **LLMs and communication** |\n| Voice-based chatbot conversations | Have conversations with a chatbot using your voice |\n| Text-to-speech | Convert text to spoken audio |\n| Speech-to-text | Convert spoken audio to text |\n| Customizable chatbots with LLMs | Generate text using large language models |\n| RAG on local documents and websites | Interact with your local documents using an LLM |\n| \ud83c\udfa8 **Image Generation** |\n| Stable Diffusion (all versions) | Generate images using Stable Diffusion |\n| Drawing tools | Turn sketches into art |\n| Text-to-Image | Generate images from textual descriptions |\n| Image-to-Image | Generate images based on input images |\n| \ud83d\uddbc\ufe0f **Image Manipulation** |\n| Inpaint and Outpaint | Modify parts of an image while maintaining context |\n| Controlnet | Control image generation with additional input |\n| LoRA | Efficiently fine-tune models with LoRA |\n| Textual Embeddings | Use textual embeddings for image generation control |\n| Image Filters | Blur, film grain, pixel art and more |\n| \ud83d\udd27 **Utility** |\n| Run offline, locally | Run on your own hardware without internet |\n| Fast generation | Generate images in ~2 seconds (RTX 2080s) |\n| Run multiple models at once | Utilize multiple models simultaneously |\n| Dark mode | Comfortable viewing experience in low-light environments |\n| Infinite scrolling canvas | Seamlessly scroll through generated images |\n| NSFW filter toggle | Help control the visibility of NSFW content |\n| NSFW guardrails toggle | Help prevent generation of LLM harmful content |\n| Fully customizable | Easily adjust all parameters |\n| Fast load time, responsive interface | Enjoy a smooth and responsive user experience |\n| Pure python | No reliance on a webserver, pure python implementation |\n\n---\n\n## \ud83d\udcbb System Requirements\n\n#### Minimum system requirements\n\n- OS: Linux\n- Processor: Intel i5 or equivalent\n- Memory: 16 GB RAM\n- Graphics: 2080s RTX or higher\n- Network: Broadband Internet connection required for setup\n- Storage: 130 GB available space\n\n#### Recommended system specs\n\n- OS: Linux\n- Processor: Intel i7 or equivalent\n- Memory: 30 GB RAM\n- Graphics: 4090 RTX or higher\n- Network: Broadband Internet connection required for setup\n- Storage: 130 GB available space\n\n---\n\n## \ud83d\ude80 Installation\n\nThere are several ways to get started with AI Runner such as packaged, from source and as a library.\n\n[Detailed packaging and installation instructions can be found in the wiki](https://github.com/Capsize-Games/airunner/wiki/Installation-instructions).\n\n### Install as a library\n\nInstallation\n\n```bash\npip install airunner\n```\n\nRunning\n\n```bash\nairunner\n```\n\n\n\n---\n\n## Models\n\nAI Runner installs all of the models required to run a chatbot with text-to-speech and speech-to-text capabilities,\nas well as the core models required for Stable Diffusion. However, you must supply your own art generator models.\n\nYou can download models from Huggingface.co or civitai.com.\n\nThe supported Stable Diffusion models are:\n\n- SD 1.5\n- SDXL 1.0\n- SDXL Turbo\n\nModels must be placed in their respective directories in the `airunner` directory.\n \n```plaintext\n~/.local/share/airunner\n\u251c\u2500\u2500 art\n\u2502 \u251c\u2500\u2500 models\n\u2502 \u2502 \u251c\u2500\u2500 SD 1.5\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 lora\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 embeddings\n\u2502 \u2502 \u251c\u2500\u2500 SDXL 1.0\n\u2502 \u2502 \u2502 \u251c\u2500\u2500 lora\n\u2502 \u2502 \u2502 \u2514\u2500\u2500 embeddings\n\u2502 \u2502 \u2514\u2500\u2500 SDXL Turbo\n\u2502 \u2502 \u251c\u2500\u2500 lora\n\u2502 \u2502 \u2514\u2500\u2500 embeddings\n```\n\n---\n\n## Unit tests\n\nRun all unit tests\n\n```bash\npython -m unittest discover -s src/airunner/tests\n```\n\nRun a single unit tests `python -m unittest src/airunner/tests/<file_name>`\n\nExample\n```bash\npython -m unittest src/airunner/tests/test_prompt_weight_convert.py\n```\n\n---\n\n## Privacy and Security\n\nAlthough AI Runner v3.0 is built with Huggingface libraries, we have taken\ncare to strip the application of any telemetry or tracking features.\n\n---\n\n### Internet access\n\nOnly the setup wizard needs access to the internet in order to download the required models.\n\nFor more information see the [Darklock](https://github.com/capsize-games/darklock) and\n[Facehuggershield](https://github.com/capsize-games/facehuggershield) libraries.\n\n---\n\n### Disc access\n\nWrite access for the transformers library has been disabled, preventing it from creating a huggingface \ncache directory at runtime.\n\nThe application itself may still access the disc for reading and writing, however we have restricted\nreads and writes to the user provided `airunner` directory (by default this is located at `~/.local/share/airunner`).\n\nAll other attempts to access the disc are blocked and logged for your review.\n\nFor more information see `src/security/restrict_os_access.py`.\n\n---\n\n### Huggingface Hub\n\n**_Huggingface Hub contains telemetry and tracking features that have been completely disabled in AI Runner._**\n\nThe security measures taken for this library are as follows\n\n- Prevented from accessing the internet\n- Prevented from accessing the disc\n- All environment variables set for maximum security\n- All telemetry disabled\n\nSee [Facehuggershield](https://github.com/capsize-games/facehuggershield) for more information.\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "A Stable Diffusion GUI",
"version": "3.1.5",
"project_urls": {
"Homepage": "https://github.com/Capsize-Games/airunner"
},
"split_keywords": [
"ai",
" stable diffusion",
" art",
" ai art",
" stablediffusion"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "339a97c82828e278ad84156e1b42ecaff7998aac24488b7028eca087fcab37cc",
"md5": "bbe7224aaa44189f7c35d45ab11ace10",
"sha256": "70082cf41132f1d76c3037829fcc9d04a0600b28b17bd68b856bdbd123a93200"
},
"downloads": -1,
"filename": "airunner-3.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bbe7224aaa44189f7c35d45ab11ace10",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10.0",
"size": 1623659,
"upload_time": "2024-10-26T18:16:11",
"upload_time_iso_8601": "2024-10-26T18:16:11.450155Z",
"url": "https://files.pythonhosted.org/packages/33/9a/97c82828e278ad84156e1b42ecaff7998aac24488b7028eca087fcab37cc/airunner-3.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6179daae03cbdf21e19e33053d57c11d617da7d083cbed79cc89cc25e80fda51",
"md5": "1807e40156f860650c3488d450d97e74",
"sha256": "681858d8a1789dffc1d7e238317be7c87223bd81ea4b8be5751824017288ff1a"
},
"downloads": -1,
"filename": "airunner-3.1.5.tar.gz",
"has_sig": false,
"md5_digest": "1807e40156f860650c3488d450d97e74",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10.0",
"size": 1339333,
"upload_time": "2024-10-26T18:16:13",
"upload_time_iso_8601": "2024-10-26T18:16:13.547892Z",
"url": "https://files.pythonhosted.org/packages/61/79/daae03cbdf21e19e33053d57c11d617da7d083cbed79cc89cc25e80fda51/airunner-3.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-26 18:16:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Capsize-Games",
"github_project": "airunner",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "airunner"
}