Skip to main content

使用 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 仓库。