🗨️ 使用 Docker 的 Kokoro-FastAPI
注意
本教程是社区贡献内容,并未得到 Open WebUI 团队的支持。它仅作为如何根据你的具体用例自定义 Open WebUI 的演示。如果想贡献,请查看贡献教程。
什么是 Kokoro-FastAPI
?
Kokoro-FastAPI 是一个 Docker 化的 FastAPI 封装,它实现了 OpenAI API 端点规范,用于 Kokoro-82M 文本到语音模型。它提供高性能的文本到语音转换,具有令人印象深刻的生成速度。
主要特点
- 兼容 OpenAI 的语音端点,支持内联语音组合
- NVIDIA GPU 加速或基于 CPU 的 Onnx 推理
- 支持流媒体,具有可变分块功能
- 支持多种音频格式(
.mp3
,.wav
,.opus
,.flac
,.aac
,.pcm
) - 集成的 Web 界面,可在 localhost:8880/web 访问(或通过仓库中额外的容器访问 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
要让 Open WebUI 使用 Kokoro-FastAPI,请按照以下步骤操作:
- 打开管理面板,进入
Settings
->Audio
- 将文字到语音设置配置为如下内容:
-
- 文本到语音引擎:OpenAI
- API 基础 URL:
http://localhost:8880/v1
# 你可能需要使用host.docker.internal
替代localhost
- API 密钥:
not-needed
- 文本到语音模型:
kokoro
- 文本到语音语音:
af_bella
# 也接受现有 OAI 语音的映射以实现兼容性
信息
默认的 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 仓库