Name | aiaio JSON |
Version |
0.0.6
JSON |
| download |
home_page | None |
Summary | aiaio |
upload_time | 2025-02-12 10:20:45 |
maintainer | None |
docs_url | None |
author | abhishek |
requires_python | None |
license | None |
keywords |
aiaio
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# aiaio (AI-AI-O)
A lightweight, privacy-focused web UI for interacting with AI models. Supports both local and remote LLM deployments through OpenAI-compatible APIs.

## Features
- 🌓 Dark/Light mode support
- 💾 Local SQLite database for conversation storage
- 📁 File upload and processing (images, documents, etc.)
- ⚙️ Configurable model parameters through UI
- 🔒 Privacy-focused (all data stays local)
- 📱 Responsive design for mobile/desktop
- 🎨 Syntax highlighting for code blocks
- 📋 One-click code block copying
- 🔄 Real-time conversation updates
- 📝 Automatic conversation summarization
- 🎯 Customizable system prompts
- 🌐 WebSocket support for real-time updates
- 📦 Docker support for easy deploymen
- 📦 Multiple API endpoint support
- 📦 Multiple system prompt support
## Requirements
- Python 3.10+
- An OpenAI-compatible API endpoint (local or remote)
## Supported API Endpoints
aiaio works with any OpenAI-compatible API endpoint, including:
- OpenAI API
- vLLM
- Text Generation Inference (TGI)
- Hugging Face Inference Endpoints
- llama.cpp server
- LocalAI
- Custom OpenAI-compatible APIs
For example, you can serve llama 8b using vLLM using:
```bash
vllm serve Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf --tokenizer meta-llama/Llama-3.1-8B-Instruct --max_model_len 125000
```
and once the api is running, you can access it using aiaio ui.
## Installation
### Using pip
```bash
pip install aiaio
```
### From source
```bash
git clone https://github.com/abhishekkrthakur/aiaio.git
cd aiaio
pip install -e .
```
## Quick Start
1. Start the server:
```bash
aiaio app --host 127.0.0.1 --port 5000
```
2. Open your browser and navigate to `http://127.0.0.1:5000`
3. Configure your API endpoint and model settings in the UI
## Docker Usage
1. Build the Docker image:
```bash
docker build -t aiaio .
```
2. Run the container:
```bash
docker run --network host \
-v /path/to/data:/data \
aiaio
```
The `/data` volume mount is optional but recommended for persistent storage of the SQLite database and uploaded files.
## UI Configuration
All model and API settings can be configured through the UI:
### Model Parameters
- **Temperature** (0-2): Controls response randomness. Higher values make output more creative but less focused
- **Max Tokens** (1-32k): Maximum length of generated responses
- **Top P** (0-1): Controls diversity via nucleus sampling. Lower values make output more focused
- **Model Name**: Name/path of the model to use (depends on your API endpoint)
### API Configuration
- **Host**: URL of your OpenAI-compatible API endpoint
- **API Key**: Authentication key if required by your endpoint
These settings are stored in the local SQLite database and persist between sessions.
## File Handling
aiaio supports uploading and processing various file types, depending on the model's capabilities:
- Images (PNG, JPG, GIF, etc.)
- Documents (PDF, DOC, DOCX)
- Text files (TXT, CSV, JSON)
- Audio files (depends on model capabilities)
- Video files (depends on model capabilities)
Uploaded files are stored temporarily and can be referenced in conversations.
## Database Schema
aiaio uses SQLite for storage with the following main tables:
- `conversations`: Stores chat histories and summaries
- `messages`: Stores individual messages within conversations
- `attachments`: Stores file attachment metadata
- `settings`: Stores UI and model configuration
## Advanced Usage
### Custom System Prompts
Each conversation can have its own system prompt that guides the AI's behavior. Click the "System Prompt" section above the chat to customize it.
### Conversation Management
- Create new conversations using the "+ New Chat" button
- Switch between conversations in the left sidebar
- Delete conversations using the trash icon
- View conversation summaries in the sidebar
### Keyboard Shortcuts
- `Ctrl/Cmd + Enter`: Send message
- `Esc`: Clear input
- `Ctrl/Cmd + K`: Focus chat input
- `Ctrl/Cmd + /`: Toggle settings sidebar
## Development
```bash
# Clone the repository
git clone https://github.com/abhishekkrthakur/aiaio.git
cd aiaio
# Create a virtual environment
python -m venv venv
source venv/bin/activate # or `venv\Scripts\activate` on Windows
# Install development dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Run with auto-reload for development
uvicorn aiaio.app.app:app --reload --port 5000
```
## Contributing
Contributions are welcome! Please:
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Run the tests (`pytest`)
5. Submit a pull request
## License
Apache License 2.0 - see LICENSE file for details
## Acknowledgements
This project was primarily written with GitHub Copilot's assistance. While the human guided the development, Copilot generated much of the actual code.
Raw data
{
"_id": null,
"home_page": null,
"name": "aiaio",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "aiaio",
"author": "abhishek",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/5f/77/8108afe91531ad812d7a38498baf00fd03096299deb481e261c5975f7710/aiaio-0.0.6.tar.gz",
"platform": null,
"description": "# aiaio (AI-AI-O)\n\nA lightweight, privacy-focused web UI for interacting with AI models. Supports both local and remote LLM deployments through OpenAI-compatible APIs.\n\n\n\n## Features\n\n- \ud83c\udf13 Dark/Light mode support\n- \ud83d\udcbe Local SQLite database for conversation storage\n- \ud83d\udcc1 File upload and processing (images, documents, etc.)\n- \u2699\ufe0f Configurable model parameters through UI\n- \ud83d\udd12 Privacy-focused (all data stays local)\n- \ud83d\udcf1 Responsive design for mobile/desktop\n- \ud83c\udfa8 Syntax highlighting for code blocks\n- \ud83d\udccb One-click code block copying\n- \ud83d\udd04 Real-time conversation updates\n- \ud83d\udcdd Automatic conversation summarization\n- \ud83c\udfaf Customizable system prompts\n- \ud83c\udf10 WebSocket support for real-time updates\n- \ud83d\udce6 Docker support for easy deploymen\n- \ud83d\udce6 Multiple API endpoint support\n- \ud83d\udce6 Multiple system prompt support\n\n## Requirements\n\n\n- Python 3.10+\n- An OpenAI-compatible API endpoint (local or remote)\n\n## Supported API Endpoints\n\naiaio works with any OpenAI-compatible API endpoint, including:\n\n- OpenAI API\n- vLLM\n- Text Generation Inference (TGI)\n- Hugging Face Inference Endpoints\n- llama.cpp server\n- LocalAI\n- Custom OpenAI-compatible APIs\n\nFor example, you can serve llama 8b using vLLM using:\n\n```bash\nvllm serve Meta-Llama-3.1-8B-Instruct.Q4_K_M.gguf --tokenizer meta-llama/Llama-3.1-8B-Instruct --max_model_len 125000\n```\n\nand once the api is running, you can access it using aiaio ui.\n\n## Installation\n\n### Using pip\n\n```bash\npip install aiaio\n```\n\n### From source\n\n```bash\ngit clone https://github.com/abhishekkrthakur/aiaio.git\ncd aiaio\npip install -e .\n```\n\n## Quick Start\n\n1. Start the server:\n```bash\naiaio app --host 127.0.0.1 --port 5000\n```\n\n2. Open your browser and navigate to `http://127.0.0.1:5000`\n\n3. Configure your API endpoint and model settings in the UI\n\n## Docker Usage\n\n1. Build the Docker image:\n```bash\ndocker build -t aiaio .\n```\n\n2. Run the container:\n```bash\ndocker run --network host \\\n -v /path/to/data:/data \\\n aiaio\n```\n\nThe `/data` volume mount is optional but recommended for persistent storage of the SQLite database and uploaded files.\n\n## UI Configuration\n\nAll model and API settings can be configured through the UI:\n\n### Model Parameters\n- **Temperature** (0-2): Controls response randomness. Higher values make output more creative but less focused\n- **Max Tokens** (1-32k): Maximum length of generated responses\n- **Top P** (0-1): Controls diversity via nucleus sampling. Lower values make output more focused\n- **Model Name**: Name/path of the model to use (depends on your API endpoint)\n\n### API Configuration\n- **Host**: URL of your OpenAI-compatible API endpoint\n- **API Key**: Authentication key if required by your endpoint\n\nThese settings are stored in the local SQLite database and persist between sessions.\n\n## File Handling\n\naiaio supports uploading and processing various file types, depending on the model's capabilities:\n\n- Images (PNG, JPG, GIF, etc.)\n- Documents (PDF, DOC, DOCX)\n- Text files (TXT, CSV, JSON)\n- Audio files (depends on model capabilities)\n- Video files (depends on model capabilities)\n\nUploaded files are stored temporarily and can be referenced in conversations.\n\n## Database Schema\n\naiaio uses SQLite for storage with the following main tables:\n\n- `conversations`: Stores chat histories and summaries\n- `messages`: Stores individual messages within conversations\n- `attachments`: Stores file attachment metadata\n- `settings`: Stores UI and model configuration\n\n## Advanced Usage\n\n### Custom System Prompts\n\nEach conversation can have its own system prompt that guides the AI's behavior. Click the \"System Prompt\" section above the chat to customize it.\n\n### Conversation Management\n\n- Create new conversations using the \"+ New Chat\" button\n- Switch between conversations in the left sidebar\n- Delete conversations using the trash icon\n- View conversation summaries in the sidebar\n\n### Keyboard Shortcuts\n\n- `Ctrl/Cmd + Enter`: Send message\n- `Esc`: Clear input\n- `Ctrl/Cmd + K`: Focus chat input\n- `Ctrl/Cmd + /`: Toggle settings sidebar\n\n## Development\n\n```bash\n# Clone the repository\ngit clone https://github.com/abhishekkrthakur/aiaio.git\ncd aiaio\n\n# Create a virtual environment\npython -m venv venv\nsource venv/bin/activate # or `venv\\Scripts\\activate` on Windows\n\n# Install development dependencies\npip install -e \".[dev]\"\n\n# Run tests\npytest\n\n# Run with auto-reload for development\nuvicorn aiaio.app.app:app --reload --port 5000\n```\n\n## Contributing\n\nContributions are welcome! Please:\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Run the tests (`pytest`)\n5. Submit a pull request\n\n## License\n\nApache License 2.0 - see LICENSE file for details\n\n## Acknowledgements\n\nThis project was primarily written with GitHub Copilot's assistance. While the human guided the development, Copilot generated much of the actual code.\n",
"bugtrack_url": null,
"license": null,
"summary": "aiaio",
"version": "0.0.6",
"project_urls": {
"Homepage": "https://github.com/abhishekkrthakur/aiaio",
"Issues": "https://github.com/abhishekkrthakur/aiaio/issues"
},
"split_keywords": [
"aiaio"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2042156054ee48c8e53fb72ec771629ff00d3e7a26b3724b3fe2f19368159ce1",
"md5": "44f5069b2db10433293cbf22b2c1e6bf",
"sha256": "90cc196760be9ef9906e45a3dbe4a25f2be1df7b0f2efb21b926989c1dda1b3c"
},
"downloads": -1,
"filename": "aiaio-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "44f5069b2db10433293cbf22b2c1e6bf",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 40947,
"upload_time": "2025-02-12T10:20:44",
"upload_time_iso_8601": "2025-02-12T10:20:44.020374Z",
"url": "https://files.pythonhosted.org/packages/20/42/156054ee48c8e53fb72ec771629ff00d3e7a26b3724b3fe2f19368159ce1/aiaio-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5f778108afe91531ad812d7a38498baf00fd03096299deb481e261c5975f7710",
"md5": "f3ed8f304cc8cfd25537397f51dc8263",
"sha256": "d9a7a98502f52a9abee73138224e13df0d9f323bc857c34c6b25a4e7e66601fd"
},
"downloads": -1,
"filename": "aiaio-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "f3ed8f304cc8cfd25537397f51dc8263",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 41400,
"upload_time": "2025-02-12T10:20:45",
"upload_time_iso_8601": "2025-02-12T10:20:45.247586Z",
"url": "https://files.pythonhosted.org/packages/5f/77/8108afe91531ad812d7a38498baf00fd03096299deb481e261c5975f7710/aiaio-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-12 10:20:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "abhishekkrthakur",
"github_project": "aiaio",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "aiaio"
}