使用 Docker 部署 Kokoro-FastAPI
警告
本教程为社区贡献,不属于 Open WebUI 官方支持。它仅作为如何针对特定用例自定义 Open WebUI 的演示。想要贡献?请查看贡献教程。
什么是 Kokoro-FastAPI?
Kokoro-FastAPI 是一个基于 Docker 的 FastAPI 包装器,用于 Kokoro-82M 文本转语音 (TTS) 模型,并 实现了 OpenAI API 端点规范。它提供高性能的文本转语音功能,生成速度极快。
核心特性
- OpenAI 兼容的语音端点: 支持内联语音组合。
- 硬件加速: 支持 NVIDIA GPU 加速或 CPU Onnx 推理。
- 流式传输支持: 支持可变分块的流式输出。
- 多种音频格式: 支持
.mp3、.wav、.opus、.flac、.aac、.pcm。 - 集成 Web 界面: 在
localhost:8880/web提供 Web 界面(或在 repo 中为 gradio 提供额外的容器)。 - 音素端点: 提供用于转换和生成的音素端点。
声音列表
- af
- af_bella
- af_irulan
- af_nicole
- af_sarah
- af_sky
- am_adam
- am_michael
- am_gurney
- bf_emma
- bf_isabella
- bm_george
- bm_lewis
支持语言
- en_us (美式英语)
- en_uk (英式英语)
环境要求
- 系统已安装 Docker
- Open WebUI 正在运行
- GPU 支持: 需要支持 CUDA 12.3 的 NVIDIA GPU
- 仅 CPU: 无特殊要求
⚡️ 快速开始
您可以选择 GPU 或 CPU 版本
GPU 版本(需要支持 CUDA 12.8 的 NVIDIA GPU)
使用 docker run:
docker run --gpus all -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-gpu
或者使用 docker compose,创建一个 docker-compose.yml 文件并运行 docker compose up。例如:
name: kokoro
services:
kokoro-fastapi-gpu:
ports:
- 8880:8880
image: ghcr.io/remsky/kokoro-fastapi-gpu:v0.2.1
restart: always
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpu
提示
您可能需要安装并配置 NVIDIA Container Toolkit。
CPU 版本(ONNX 优化推理)
使用 docker run:
docker run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu
使用 docker compose:
name: kokoro
services:
kokoro-fastapi-cpu:
ports:
- 8880:8880
image: ghcr.io/remsky/kokoro-fastapi-cpu
restart: always
设置 Open WebUI 使用 Kokoro-FastAPI
要将 Kokoro-FastAPI 与 Open WebUI 配合使用,请按照以下步骤操作:
- 打开 管理员面板 并转到 设置 -> 音频
- 将您的 TTS 设置 配置如下:
- 文本转语音引擎: OpenAI
- API 基础 URL:
http://localhost:8880/v1# 您可能需要使用host.docker.internal代替localhost - API 密钥:
not-needed - TTS 声音:
af_bella# 也接受现有 OpenAI 声音的映射以实现兼容性 - TTS 模型:
kokoro
提示
默认 API 密钥是字符串 not-needed。如果您不需要额外的安全性,则无需更改该值。
构建 Docker 容器
git clone https://github.com/remsky/Kokoro-FastAPI.git
cd Kokoro-FastAPI
cd docker/cpu # 或 docker/gpu
docker compose up --build
就这样!
有关构建 Docker 容器(包括更改端口)的更多信息,请参考 Kokoro-FastAPI 仓库。