Kokoro-FastAPI 安装与配置指南
1. 项目基础介绍
Kokoro-FastAPI 是一个基于 FastAPI 框架的开源项目,它提供了一个 Dockerized FastAPI 封装,用于 Kokoro-82M 文本到语音模型。该模型支持多语言(英语、日语、韩语、中文、越南语等),并且具备与 OpenAI 兼容的语音端点功能。此外,它还支持 NVIDIA GPU 加速或 CPU 推断,并提供基于音素的音频生成和单词时间戳字幕生成等功能。
主要编程语言:Python
2. 项目使用的关键技术和框架
- FastAPI: 一个用于构建 API 的现代、快速(高性能)的 Web 框架,使用 Python 3.6 及以上版本编写。
- Docker: 用于容器化应用,以便于应用的部署和环境一致性。
- PyTorch: 一个流行的开源机器学习库,用于 Kokoro-82M 模型的推断。
- ONNX: 开放神经网络交换格式,用于模型的跨平台兼容性。
3. 项目安装和配置的准备工作
在开始安装之前,请确保您的系统已安装以下软件:
- Docker
- Python 3.6 或更高版本
- pip(Python 包管理器)
详细安装步骤
步骤 1: 克隆仓库
打开终端(或命令提示符),执行以下命令以克隆项目仓库:
git clone https://github.com/remsky/Kokoro-FastAPI.git
cd Kokoro-FastAPI
步骤 2: 准备 Docker 环境
根据您的系统选择正确的 Docker 设置:
-
对于 GPU 支持:
cd docker/gpu
-
对于 CPU 支持:
cd docker/cpu
然后,使用 Docker Compose 构建并启动服务:
docker-compose up --build
步骤 3: 直接运行(通过 uv)
如果您希望不使用 Docker 直接运行服务,请按照以下步骤操作:
- 安装依赖项:
pip install astral-uv
pip install espeak-ng
注意:espeak-ng
是可选的,如果您希望系统中有备用语音输出,可以安装它。
- 克隆仓库(如果您还没有这么做):
git clone https://github.com/remsky/Kokoro-FastAPI.git
cd Kokoro-FastAPI
- 运行模型下载脚本(如果尚未下载):
python docker/scripts/download_model.py --output api/src/models/v1_0
- 根据您的操作系统,运行以下命令启动服务:
-
Linux 和 macOS:
./start-cpu.sh
或者,如果您有 GPU 支持:
./start-gpu.sh
-
Windows:
.\start-cpu.ps1
或者,如果您有 GPU 支持:
.\start-gpu.ps1
现在,服务应该已经在本地启动,并且可以通过 http://localhost:8880
访问。
步骤 4: 测试服务
要测试服务是否正常工作,您可以运行以下 Python 代码以生成一段音频:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8880/v1", api_key="not-needed")
with client.audio.speech.with_streaming_response().create(
model="kokoro", voice="af_sky+af_bella", input="Hello world!"
) as response:
response.stream_to_file("output.mp3")
或者,使用 cURL 测试 OpenAI 兼容的语音端点:
curl -X POST http://localhost:8880/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "kokoro",
"input": "Hello world!",
"voice": "af_bella",
"response_format": "mp3"
}'
如果一切顺利,您应该在项目的目录中找到一个名为 output.mp3
的文件,该文件包含了生成的音频。