AI RUNNER
v3.0.0.devX
AI Runner 可以用 pyinstaller
编译,但当前版本尚不稳定(稳定版本请查看发布页)。
3.0 版本是一次重大升级,旨在将应用从原型阶段推进到更稳定和用户友好的状态。
它带来了新的用户界面、新功能、更健壮的代码库、安全更新以及更流畅的安装流程等诸多改进。
我们计划在未来通过 Snap 在 Linux 上发布。
更多信息请参阅 隐私和安全
部分。
在您自己的硬件上运行 Stable Diffusion
⭐ 特性
AI Runner 是一个多模态 AI 接口,允许您在自己的硬件上运行开源大型语言模型和 AI 图像生成器。
功能 | 描述 |
---|---|
🗣️ 大型语言模型和通信 | |
✅ 基于语音的聊天机器人对话 | 使用语音与聊天机器人进行对话 |
✅ 文本转语音 | 将文本转换为语音音频 |
✅ 语音转文本 | 将语音音频转换为文本 |
✅ 图像转文本 | 从图像中提取文本 |
✅ 使用大型语言模型生成文本 | 使用大型语言模型生成文本 |
✅ 本地文档和网站的检索增强生成(RAG) | 使用大型语言模型与本地文档交互 |
🎨 图像生成 | |
✅ Stable Diffusion(所有版本) | 使用 Stable Diffusion 生成图像 |
🔜 Kandinsky | 使用 Kandinsky 生成图像 |
✅ 近实时绘画 | 近实时绘画和生成图像 |
✅ 文本生成图像(又称 TextToImage / Txt2Img) | 根据文本描述生成图像 |
✅ 图像生成图像(又称 ImageToImage / Image2Image) | 基于输入图像生成新图像 |
🖼️ 图像处理 | |
✅ 内部绘制和外部绘制 | 在保持上下文的同时修改图像的部分区域 |
✅ Pix2Pix | 将图像从一个领域转换到另一个领域 |
✅ 深度图生成图像(又称 DepthToImage / Depth2Img) | 从深度图生成图像 |
✅ Controlnet | 使用额外输入控制图像生成 |
✅ LoRA | 使用 LoRA 高效微调模型 |
✅ 文本嵌入 | 使用文本嵌入控制图像生成 |
🔜 使用 GFPGAN 进行图像放大 | 使用 GFPGAN 提高图像质量 |
🔧 实用工具 | |
✅ 离线本地运行 | 在自己的硬件上运行,无需互联网 |
✅ 快速生成 | 在约 2 秒内生成图像(RTX 2080s) |
✅ 同时运行多个模型 | 同时使用多个模型 |
✅ 绘图工具 | 内置绘图和图像处理工具 |
✅ 图像滤镜 | 应用各种图像滤镜 |
✅ 暗色模式 | 在低光环境下舒适的观看体验 |
✅ 无限滚动画布 | 无缝滚动浏览生成的图像 |
✅ NSFW 过滤器开关 | 帮助控制 NSFW 内容的可见性 |
✅ NSFW 安全防护 | 帮助防止生成有害内容 |
✅ 标准 Stable Diffusion 设置 | 轻松调整标准 Stable Diffusion 参数 |
✅ 快速加载时间,响应式界面 | 享受流畅和响应迅速的用户体验 |
✅ 纯 Python 实现 | 无需依赖网络服务器,纯 Python 实现 |
💻 系统要求
最低系统要求
- 支持 CUDA 的 GPU
- 6GB RAM
- 6GB 磁盘空间用于安装 AI Runner
推荐系统配置
- RTX 2080s 或更高
- 32GB RAM
- 100GB 磁盘空间
🔧 安装
Linux
- 打开文件浏览器,导航到包含
install.sh
脚本的目录 - 使用键盘快捷键
Ctrl + Alt + T
打开终端 - 将
install.sh
脚本拖入终端并按Enter
- 按照屏幕上的说明操作
🚀 运行 AI Runner
Linux系统
- 使用键盘快捷键
Ctrl + Alt + T
打开终端 - 导航到包含
run.sh
脚本的目录(例如cd ~/airunner
) - 输入
./bin/run.sh
并按Enter
键运行bin/run.sh
脚本 - AI Runner 将启动,按照屏幕上的设置说明操作后即可开始使用
✏️ 使用 AI Runner
有关如何使用 AI Runner 的说明可在 wiki 中找到
💾 编译 AI Runner
克隆此仓库
git clone https://github.com/Capsize-Games/airunner.git
cd airunner
从源代码构建
pip install -e .
pip install pyinstaller
bash build.dev.sh
🔬 单元测试
运行特定测试
python -m unittest src/airunner/tests/test_draggable_pixmap.py
当前的测试覆盖率较低,但可以使用以下命令运行现有测试:
python -m unittest discover tests
测试覆盖率
运行带有覆盖率跟踪的测试:
coverage run --source=src/airunner --omit=__init__.py,*/GFPGAN/*,*/data/*,*/tests/*,*_ui.py,*/enums.py,*/settings.py -m unittest discover src/airunner/tests
要在终端中查看报告,请使用:
coverage report
要生成更详细的 HTML 报告,请运行:
coverage html
在 htmlcov/index.html
中查看结果。
隐私和安全
尽管 AI Runner v3.0 是基于 Huggingface 库构建的,但我们已经小心地删除了应用程序中的任何遥测或跟踪功能。
主应用程序本身无法访问互联网,我们正在努力适当地沙盒化某些功能,以确保用户的隐私和安全。
随着应用程序的发展,我们将逐步摆脱 Huggingface 库。
互联网访问
核心应用程序无法访问互联网。然而,有两个功能需要互联网访问。这两个功能是"设置向导"和"模型管理器"。
这些工具各自都在独立的应用程序窗口中运行,能够直接访问和下载 Huggingface.co 和 civitai.com(取决于给定的 URL)上的文件。任何其他 URL 都将被阻止。
下载过程不使用 Huggingface Hub 库。
更多信息请参见 Darklock 和 Facehuggershield 库。
磁盘访问
transformers 库的写入访问已被禁用,防止其在运行时创建 huggingface 缓存目录。
应用程序本身仍可能访问磁盘进行读写,但我们已将读写操作限制在用户提供的 airunner
目录内(默认位于 ~/.airunner
)。
所有其他尝试访问磁盘的操作都会被阻止并记录,供您审查。
更多信息请参见 src/security/restrict_os_access.py
。
Huggingface Hub
安装 Huggingface Hub 是为了让 Transformers、Diffusers 和其他 Huggingface 库能够按预期运行,但已经对其进行了限制,以防止其访问互联网。
针对该库采取的安全措施如下:
- 禁止访问互联网
- 禁止访问磁盘
- 所有环境变量设置为最高安全级别
- 所有遥测功能已禁用
更多信息请参见 Facehuggershield。
Huggingface 库的计划安全措施
我们计划在未来从应用程序中移除 Huggingface 库。尽管当前架构依赖于这些库,但我们将在未来迁移到更好的解决方案。